Connection membre en php

Fermé
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 - 27 sept. 2005 à 17:44
 wiwimagique - 17 oct. 2005 à 20:28
Bonjour, voila je vous explique : j'ai un site et je fais un site pour des amis; pour ces amis, je suis entrain de créer un tchat jusque là pas de pb sur leur site y a une inscription à fiare avant d'accèder au tchat; en fait ils m'ont demander que l'orsque le membre va sur le tchat asv (age sexe ville) soit automatiquement chercher dans la table là pas de soucis mais voila comment faut-il établir la connexion du membre? j'ai déja trouver des script d'espace membre mais ils ne fonctionne pas comme je veux si vous pouviez me donner la requete qui permet de vérifier un membre auprès d'une table mysql ça serrai gentil :
requete et un echo si l'identification fonctionne on envois location : tchat si la connexion n'est pas bonne location : page erreur. Merci d'avance !
A voir également:

93 réponses

Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
28 sept. 2005 à 09:10
Salut,

Le meilleur moyen d'avoir ce que tu veux, c'est de le développer toi-même, et ce sera bien plus simple pour toi après pour retoucher, comprendre etc etc...

L'idée (en admettant que ton membre est déjà inscrit, et qu'il veut se logger) :

1. Récupération du pseudo et du pass;

2. Connexion à la bdd;

3. Ressortir de la bdd le pass selon le pseudo (p. ex : "SELECT pass FROM users WHERE pseudo=$pseudo");

4. Comparaison du pass ressortit de la bdd avec celui saisit par le visiteur;

5. Redirection en fonction de la comparaison.

Si t'as un problème, hésite pas ;)

@+
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
28 sept. 2005 à 20:22
Salut, au niveau de la connexion je sais faire c'est juste la comparaison et l'envois vers la page en fonction de la connexion que je sais pas faire.
Si tu peux m'aider pour la comparaison. Merci
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
29 sept. 2005 à 09:24
Bon, allez, aujourd'hui je suis sympa ;)
// Premièrement, tu récupère les données
// A adapter à la structure de tes pages, ton method etc
$mdp = $_POST['mdp'];
$pseudo = $_POST['pseudo'];

// Là-dessous tu met ton script de connexion à ta bdd
connexion();

// Et là tu ressort les infos pour la comparaison
$requete = "SELECT mdp FROM users WHERE pseudo='$pseudo'";
$result = mysql_query($requete);
$objet = mysql_fetch_object($result);

if($mdp == $objet->mdp){
  // les instructions que tu veux si le mot de passe est correct
}
else{
  // les instructions que tu veux si le mot de passe est faux
}


Voilà une ébauche pour les idées principales, à toi maintenant d'améliorer un peu tout ça. Par exemple si l'utilisateur n'est pas trouvé, tu peux lui proposer de s'inscrire, etc, à toi d'imaginer ;)
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
29 sept. 2005 à 12:32
Salut, merci d'être de bonne humeur ! j'ai un petit pb l'orsque j'exécute le script avec le formulaire j'ai l'erreur : warning mysql_fetch_object l'adresse du script est :
http://sons.gratuits.free.fr/voila.php
merci
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
29 sept. 2005 à 12:49
Est-tu sûr que le pseudo saisi existe bien dans la base de donnée ?
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
30 sept. 2005 à 12:41
Salut, voila le code que tu m'as donné avec les actions qui ne fonctionne pas ! la page n'affiche rien qu'on soit bien loger ou pas l'adresse de la page est toujours la mêmme :
http://sons.gratuits.free.fr/voila.php
voici le code :
<? $pseudo=$_POST['pseudo']; $mdp=$_POST['mdp']; mysql_connect("sql.free.fr","sons.gratuits","****"); mysql_select_db("sons_gratuits");
$requete = "SELECT passe FROM comptes WHERE pseudo='$pseudo'";
$result = mysql_query($requete);
$objet = mysql_fetch_object($result);





if($passe == $objet->passe){
// les instructions que tu veux si le mot de passe est correct header("Location:1.php");
}
else{
// les instructions que tu veux si le mot de passe est faux header("Location:erreur.htm");
}
mysql_close(); ?>
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497 > fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007
30 sept. 2005 à 13:49
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
29 sept. 2005 à 12:55
Salut, oui le pseudo est bien dans la table; mais à parament c'est un pb php dans le mysql_fetch_objetc tu es aller voir sur l'url que j'ai donné?
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
29 sept. 2005 à 18:22
Salut ça y est y a plus d'erreur mais qu'on est le bon pseudo ou un faux ça ne fais rien voici le code que j'ai rajouter regarde si y a ps d'erreur au passage :

<? $pseudo=$_POST['pseudo']; $mdp=$_POST['mdp']; mysql_connect("sql.free.fr","sons.gratuits","******"); mysql_select_db("sons_gratuits");
$requete = "SELECT passe FROM comptes WHERE pseudo='$pseudo'";
$result = mysql_query($requete);
$objet = mysql_fetch_object($result);

if($passe == $objet->passe){
// les instructions que tu veux si le mot de passe est correctbonjour
}
else{
// les instructions que tu veux si le mot de passe est faux bonsoir
} mysql_close(); ?>
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
30 sept. 2005 à 08:50
Re,
if($passe == $objet->passe){ 
// les instructions que tu veux si le mot de passe est correctbonjour 
} 
else{ 
// les instructions que tu veux si le mot de passe est faux bonsoir 
}

Et ben c'est ça qu'il faut modifier ! Je ne sais pas ce que tu veux mettre comme action en fonction du résultat de la comparaison.

En dessous de :

// les instructions que tu veux....

il faut que tu mette l'action a effectuer pour le cas cité ! Les bonjour et bonsoir, c'est quoi ? ce que tu veux ? Je vois pas vraiment le rapport... il faut plutot que tu mette une redirection vers une page si le loggin est juste, et retour à la page de saisie de mdp si la comparaison est fausse.
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
1 oct. 2005 à 08:32
Salut, dsl je t'ai encore mi le vieu fichier sur ccm je te met le code donc que j'ai changer avecles cactions et qui n'affiche rien :

<? $pseudo=$_POST['pseudo']; $passe=$_POST['passe']; mysql_connect("sql.free.fr","sons.gratuits","*****"); mysql_select_db("sons_gratuits");
$requete = "SELECT passe FROM comptes WHERE pseudo='$pseudo'";
$result = mysql_query($requete);
$objet = mysql_fetch_object($result);





if($passe == $objet->passe){
// les instructions que tu veux si le mot de passe est correct header("Location:1.php");
}
else{
// les instructions que tu veux si le mot de passe est faux header("Location:erreur.htm");
}
mysql_close(); ?>
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
2 oct. 2005 à 12:04
Bonjour, après avoir fais moi même mon script de connexion y a une erreur au niveau de la requete je vous met mon code et si vous trouvez une erreur merci de m'en informer :

<?
$pseudo=$_POST['pseudo']; $passe=$_POST['passe']; //***connection***
/* Tu dois changer localhost par sql.free.fr, root par sons_gratuits et mettre ton mot de passe */
$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*******");

//***S'il n'y a pas d'erreur de connection***
if(!mysql_errno($dbc))
{
//***Sélection de la base de données***
mysql_select_db("sons_gratuits");

//***Requête qui selectionne tout le contenu de la table formulaire***
$requete = mysql_query("SELECT pseudo,passe FROM compte WHERE pseudo='$pseudo' and passe='$passe'");

if(mysql_num_rows($requete)==0)
{
header("Location:erreur.htm"); } else{ header("Location:1.php");} mysql_close();
?>
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
3 oct. 2005 à 09:17
Salut,

Passé un bon wee-end ?

Pour ton code, il me semble que tu as une erreur là :
<? 
$pseudo=$_POST['pseudo']; $passe=$_POST['passe']; //***connection*** 
/* Tu dois changer localhost par sql.free.fr, root par sons_gratuits et mettre ton mot de passe */ 
$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*******"); 

//***S'il n'y a pas d'erreur de connection*** 
if(!mysql_errno($dbc)) 

{  <---- Tu ne fermes pas cette accolade 

//***Sélection de la base de données*** 
mysql_select_db("sons_gratuits"); 

//***Requête qui selectionne tout le contenu de la table formulaire*** 
$requete = mysql_query("SELECT pseudo,passe FROM compte WHERE pseudo='$pseudo' and passe='$passe'"); 

if(mysql_num_rows($requete)==0) 
{
header("Location:erreur.htm"); } else{ header("Location:1.php");} mysql_close(); 
?>

Vérifie ceci, et dis-moi si tu as d'autres erreur, en précisant le message.
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
3 oct. 2005 à 12:28
Slt, ben en fait je pense pas que l'erreur vienne de là parcq qd j'exécute le script il annonce une erreur à la ligne 18 je crois et ça tombe sur la requete; si tu trouves quelques chose... merci
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
3 oct. 2005 à 12:54
Ah, mais oui, bien sur...

Bouge pas, je vais te reprendre ton code.
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
3 oct. 2005 à 13:20
Voilà, essaye ça :
<? 
$pseudo=$_POST['pseudo'];
$passe=$_POST['passe'];

if((!isset($pseudo)||(!isset($passe)){ header("Location:erreur.htm");}


//***connection*** 
/* Tu dois changer localhost par sql.free.fr, root par sons.gratuits et mettre ton mot de passe */ 
$dbc = @mysql_connect("sql.free.fr", "sons.gratuits", "*******"); 

//***S'il n'y a pas d'erreur de connection*** 
if(!mysql_errno($dbc)){

  //***Sélection de la base de données*** 
  mysql_select_db("sons.gratuits"); 

  //***Requête selection info sur membre*** 
  $requete = mysql_query("SELECT pseudo,passe FROM compte WHERE pseudo='$pseudo' AND passe='$passe'"); 

  if(mysql_num_rows($requete)==0){
    header("Location:erreur.htm");
  }
  else{
    header("Location:1.php");
  }
}
mysql_close();


?>
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
3 oct. 2005 à 19:40
salut, ben avec le code que tu m'as donné, là y a un soucis { à la ligne 5 mais je comprend pas si il manque ou si y a en trop;
merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
3 oct. 2005 à 20:29
Un petit truc pour header("Location:erreur.htm"), il faut mettre un espace après les deux points:
header("Location: erreur.htm")
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
4 oct. 2005 à 15:22
Bonjour, erdnax tu trouves mon erreur? merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
4 oct. 2005 à 15:41
Il faut remplacer
if((!isset($pseudo)||(!isset($passe)){ header("Location:erreur.htm");}

par:
if(!isset($pseudo) || !isset($passe)){ header("Location:erreur.htm");}
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
4 oct. 2005 à 15:44
Ta pas zoublié l'espace du location ? ;)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
4 oct. 2005 à 15:46
:-D

En fait je viens de me rendre compte que ça ne changeait rien, j'aime bien m'inventer de nouveaux obstacles de syntaxe....
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
4 oct. 2005 à 15:48
Bonjour, merci pour la vérification si pseudo ou pas a été rempli pas d'erreur mais toujours la même erreur à la ligne 18 qui correspond à la requete l'ors qu'on rempli les champs dans le formulaire et l'orsqu'on fait envoyer? vous trouvez pas l'erreur? parce que moi pour moi la requete est juste mais un parce erreor ligne 18 vient ce poser là... la page ce trouve à :
http://sons.gratuits.free.fr/voila1.php
merci
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
4 oct. 2005 à 15:58
En fait, je me demande si tu n'as pas un problème dans ta bdd. Es-tu sûr d'avoir des valeurs, les champs de noms correspondants, etc, t'as vraiment tout bien vérifié ? Le nom de ta table, de ta base, de tes champs etc...
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
4 oct. 2005 à 16:05
Slt, oui je suis sur que ma bdd fonctionne très bien parce que le message d'erreur parce error ne vient pas de la bdd mais du code php puis si ma bdd ne fonctionnerai pas les tchat que j'ai fais ne fonctionnerai pas... avec un parce erreor ligne 18 c'est sur que ça vient du code... merci
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
4 oct. 2005 à 16:48
Ben comme ça je vois pas trop, mais tu peux voir déjà là :

http://www.commentcamarche.net/faq/sujet-869-%5BPHP%5D-Parse-error-unexpected-T_STRING-expecting-%27-%27-or-%27-%27

Sinon je me pencherai là dessus ce soir, parce que comme ça je vois pas trop.
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
4 oct. 2005 à 17:05
Slt, ouhé là je comprend pas trop mon erreur merci de te pencher dessus !
0