Problème avec fichier de login pour espace membres

Signaler
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
-
Salut à tous !!!



Je suis en train de faire un espace membres et voici ce qu'il y a dans
le fichier de login (après la page de formulaire de login) :



<?

include ('conf.php');

$login= $_POST['login'];

$password=$_POST['password'];

$mail=$_POST['mail'];

if($login=='' || $password=='' || $mail=='')

{


echo '<script language=javascript> alert
("Vous avez oublié de remplir un champ.");</script>';

include('form_login.php');

exit;

}


$sql =
mysql_connect($mysql_host,$mysql_login,$mysql_passe);;

$req = mysql_query($sql);

ligne 14 > $data = mysql_fetch_array($req);

if($data['password'] != $password)

{


echo '<script language=javascript> alert
("Mauvais login / password. Merci de recommencer");</script>';

include('form_login.php');

exit;

}

else

{

session_start();

session_register("login");

header ('location:index.php');

}

?>



mais lorsque je suis connecté, il y a une erreur :



Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sdb/7/d/seguin.florent/login.php on line 14



Pouvez-vous m'aider SVP ???



Merci



@+

31 réponses

Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
4
"$req = mysql_query($sql);"
LOL, et $sql il vient d'ou à ton avis ??? ;)
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
je fais comment alors ???
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$sql = mysql_connect($mysql_host,$mysql_login,$mysql_passe);;

là il y a deux ; d'une part

d'autre part je ne vois pas de requete sql ??

$connexion=mysql_connect($mysql_host,$mysql_login,$mysql_passe) or die... ;

$sql= "select * from tablelogin where login='$login' and pwd='$password'";
$req = mysql_query($sql);
$data = mysql_fetch_array($req);
...
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
hein ???
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
il faut mettre require('conf.php') ???
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
tu confonds connexion et requete sql, on dirait
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
j'ai mis : $sql = "SELECT login FROM "membres_tbl" WHERE login='monlogin' password='montmotdepasse'";

$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
voilà mon code d'inscription (problème) :



<?

require 'conf.php';

$login=$_POST["login"];

$password=$_POST["password"];

$mail=$_POST["mail"];

$login = strtolower($login);

$password = strtolower($password);

$mail = strtolower($mail);

if($login=="" || $password=="" || $mail=="")

{

echo '<script language=javascript> alert ("Vous avez oublié de remplir un champs");</script>';

include('form_inscrip.php');

exit;

}

$sql = "SELECT login FROM 'membres_tbl' WHERE login='***' and password='***'";

$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());



$data = mysql_fetch_array($req);



if($data['login']==$login)

{

echo '<script
language=javascript> alert ("Votre pseudo est déja
pris");</script>';

include('form_inscrip.php');

}

else

{

$mail = ($_POST['mail']);

$message = 'Cher '.$login.',';

$message .= 'Ceci est un mail automatique de confirmation d\'inscription au site de votre site';

$message .= 'Pour confirmer et ainsi terminer
l\'inscription à votre compte, veuillez cliquer sur le lien de
confirmation: ';

$message .= 'http://votre.site.com/confirm.php?pseudo='.str_replace(' ','%20',$login);

$requete=mysql_query("INSERT INTO membres_tbl VALUES('','$_POST[login]','$_POST[password]','$_POST[mail]')");

echo 'Vous avez bien été rajoutée, un email va etre envoye dans votre email';

mail($mail,'Confirmation d\'inscription votre site',$message);



header ('location:form_login.php');

}

?>



voilà le message :



Erreur SQL !

SELECT login FROM 'membres_tbl' WHERE login='***' and password='***'

You
have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near
''membres_tbl' WHERE login='***' and password='***'' at
line 1
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
/auteurdetail.aspx?ID=457129 j'ai mis : $sql = "SELECT login FROM "membres_tbl" WHERE login='monlogin' password='montmotdepasse'";

mets plutôt :
$sql = "SELECT login FROM membres_tbl
WHERE login='$monlogin' "; //-------------------- n'oublie pas les $

$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);

if($data) //------------------------------------------- si login trouvé dans la base
{
...
}
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
il y a marqué :



Erreur SQL !

SELECT login FROM membres_tbl WHERE login='***'

Unknown column 'login' in 'field list'



*** = mon login pour la bdd
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
le champ de ta base de données ne s'appelle pas 'login' !!
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
il s'appel comment ?
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
tu trouveras la réponse dans la structure de TA table membres_tbl
comme on dit ...ça dépend !!!!!
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
c'est ce que je devais faire :



`ID` tinyint(8) NOT NULL auto_increment,


`login` varchar(30) NOT NULL default '',


`password` varchar(8) NOT NULL default '',


`mail` varchar(40) NOT NULL default '',


PRIMARY KEY (`ID`)


) TYPE=MyISAM AUTO_INCREMENT=9 ;
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
tu es sûr d'attaquer la bonne table ??
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
tu es sûr d'attaquer la bonne table ??
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
c'est à dire ???
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
en fait c'était ça :


`membres_tbl` (

`ID` tinyint(8) NOT NULL auto_increment,

`login` varchar(30) NOT NULL default '',

`password` varchar(8) NOT NULL default '',

`mail` varchar(40) NOT NULL default '',

PRIMARY KEY (`ID`)

) TYPE=MyISAM AUTO_INCREMENT=9 ;



Excuse-moi
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
SELECT login FROM membres_tbl WHERE login='***'
Unknown column 'login' in 'field list'

c'est à dire que typiquement la table membres_tbl (sur laquelle tu fais une requête) ne contient pas le champ 'login' ou alors c'est très bizarre...

$sql = "SELECT login FROM membres_tbl WHERE login='$monlogin' ";
ou
$sql = "SELECT login FROM membres_tbl WHERE login='***' ";

doit marcher si tu attaques la bonne table de la bonne base de données
Messages postés
150
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
31 août 2008
1
j'ai "ré-installé" ma table et ça a l'air de marcher mis à part que il y a encore une erreur ligne 37:



<?

require 'conf.php';

$login=$_POST["login"];

$mysqllogin = "***";

$password=$_POST["password"];

$mail=$_POST["mail"];

$login = strtolower($login);

$password = strtolower($password);

$mail = strtolower($mail);

if($login=="" || $password=="" || $mail=="")

{

echo '<script language=javascript> alert ("Vous avez oublié de remplir un champs");</script>';

include('form_inscrip.php');

exit;

}

$sql = "SELECT login FROM membres_tbl WHERE login='$mysqllogin' ";



$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

$data = mysql_fetch_array($req);



if($data['login']==$login)

{

echo '<script
language=javascript> alert ("Votre pseudo est déja
pris");</script>';

include('form_inscrip.php');

}

else

{

$mail = ($_POST['mail']);

$message = 'Cher '.$login.',';

$message .= 'Ceci est un mail automatique de confirmation d\'inscription au site de votre site';

$message .= 'Pour confirmer et ainsi terminer
l\'inscription à votre compte, veuillez cliquer sur le lien de
confirmation: ';

$message .= 'http://votre.site.com/confirm.php?pseudo='.str_replace(' ','%20',$login);

$requete=mysql_query("INSERT INTO membres_tbl VALUES('','$_POST[login]','$_POST[password]','$_POST[mail]')");

echo 'Vous avez bien été rajoutée, un email va etre envoye dans votre email';

mail($mail,'Confirmation d\'inscription votre site',$message);



header ('location:form_login.php'); ligne 37

}

?>