Probleme avec mon code php
Résolu/Fermé
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
-
23 mars 2010 à 17:50
turboooo Messages postés 50 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 8 octobre 2012 - 24 mars 2010 à 00:00
turboooo Messages postés 50 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 8 octobre 2012 - 24 mars 2010 à 00:00
A voir également:
- Probleme avec mon code php
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
12 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 mars 2010 à 18:26
23 mars 2010 à 18:26
une correction pour index.php
<?php if (isset($_POST['connexion'])) { //il te manquait cette { $login = $_POST['log1']; $password = $_POST['pass1']; if (!empty ($login) || !empty($password)) { $hostname_connexion = "localhost"; $database_connexion = "didact"; $username_connexion = "root"; $password_connexion = ""; //global $connexion; // non c'est inutile //ensuite pourquoi utiliset mysql_pconnect ? mysql_connect suffit $connexion = mysql_pconnect($hostname_connexion, $username_connexion, $password_connexion) or trigger_error(mysql_error(),E_USER_ERROR); mysql_select_db($database_connexion, $connexion); // on teste si une entrée de la base contient ce couple login / pass $sql = 'SELECT count(*) FROM etudiant WHERE login_etud="'.mysql_escape_string($login).'" AND password="'.mysql_escape_string(md5($password)).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); mysql_free_result($req); mysql_close($connexion); // si on obtient une réponse, alors l'etudiant est un membre if ($data[0] == 1) { session_start(); $_SESSION['login'] = $_POST['log1']; header('Location: membre.php'); exit(); } // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login,soit dans son mot de passe elseif ($data[0] == 0) { $erreur = 'Compte non reconnu.'; } // sinon, alors la, il y a un gros problème :) else { $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; } } else { $erreur = 'Au moins un des champs est vide.'; } }//il te manquait cette } //et tu en fait quoi de $erreur ? ?> <html> <head> <title>Accueil</title> </head> <body> Connexion à l'espace membre :<br /> <form action="index.php" method="post"> <p>Login :<br/> <input type="text" name="log1" /><p> <p>Mot de passe : <br/><input type="password" name= "pass1" /><p> <?php if(isset($erreur) && $erreur!="") {echo '<p><font color="red">'.$erreur.'</font></p>';} ?> <input type="submit" name="connexion" value="Connexion"> </form> <a href="inscription.php">Vous inscrire</a> </body> </html>
SamuHell
Messages postés
67
Date d'inscription
lundi 27 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010
11
23 mars 2010 à 18:39
23 mars 2010 à 18:39
Effectivement, bien joué à Alain !
Mais dans ton script d'inscription, tu ne crypte pas le mot de passe alors que tu le fais dans le script d'identification.
$query = "INSERT INTO etudiant(ID_etu,password,nom,prenom_etu,login_etud,email_etu) VALUES ('','$login','$password','$nom','$prenom','$email')";
à transformer donc en :
$query = "INSERT INTO etudiant(ID_etu,password,nom,prenom_etu,login_etud,email_etu) VALUES ('','$login','". md5($password)."','$nom','$prenom','$email')";
Mais dans ton script d'inscription, tu ne crypte pas le mot de passe alors que tu le fais dans le script d'identification.
$query = "INSERT INTO etudiant(ID_etu,password,nom,prenom_etu,login_etud,email_etu) VALUES ('','$login','$password','$nom','$prenom','$email')";
à transformer donc en :
$query = "INSERT INTO etudiant(ID_etu,password,nom,prenom_etu,login_etud,email_etu) VALUES ('','$login','". md5($password)."','$nom','$prenom','$email')";
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 19:24
23 mars 2010 à 19:24
bon les amis j'ai fais ce que Alain m'a dit
et aussi ce que SamuHELL aussi mais apres la correction de requête bon il me dit une errerur parse : Parse error: parse error, expecting '','' or '';''
svp les amis vous faché pas car vraiment je connais pas bien le php et j'ai commencer a utiliser l'autre semain je l'ai etudier tout seul c'est pour ca je sen que mes faute sont bete mais je connais pas comment faire
merci
et aussi ce que SamuHELL aussi mais apres la correction de requête bon il me dit une errerur parse : Parse error: parse error, expecting '','' or '';''
svp les amis vous faché pas car vraiment je connais pas bien le php et j'ai commencer a utiliser l'autre semain je l'ai etudier tout seul c'est pour ca je sen que mes faute sont bete mais je connais pas comment faire
merci
aloison
Messages postés
22
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
23 mars 2010
1
Modifié par aloison le 23/03/2010 à 18:10
Modifié par aloison le 23/03/2010 à 18:10
Salut,
Sans rentrer dans le code et en regardant rapidement, je pense qu'il manque au moins l'accolade ouvrante { sur ton 1er if du fichier index.php :
if (isset($_POST['connexion'])) {
Essayes de la rajouter, tu n'auras plus cette erreur là normalement.
Sans rentrer dans le code et en regardant rapidement, je pense qu'il manque au moins l'accolade ouvrante { sur ton 1er if du fichier index.php :
if (isset($_POST['connexion'])) {
Essayes de la rajouter, tu n'auras plus cette erreur là normalement.
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 18:23
23 mars 2010 à 18:23
merci mon ami ca a marché y'a plus le message mais le pb de connexion marche pas
quand j'essaye fair la connexion ca marche pas est ce que tu peut m'aidé a trouvé le pb
je repete quand j'essaye de faire connexion et je clique sur le couton connexion rien ne se passe a part que les formulaire devient vide merci autre fois
quand j'essaye fair la connexion ca marche pas est ce que tu peut m'aidé a trouvé le pb
je repete quand j'essaye de faire connexion et je clique sur le couton connexion rien ne se passe a part que les formulaire devient vide merci autre fois
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 mars 2010 à 19:33
23 mars 2010 à 19:33
essayes comme ça:
et attention il faut que les champs entre les parentheses etudiant(...) et VALUES (....) soient dans le même ordre !
$query = "INSERT INTO etudiant(ID_etu,password,nom,prenom_etu,login_etud,email_etu) VALUES ('','". md5($password)."','".$nom."','".$prenom."','".$login."','".$email."')";
et attention il faut que les champs entre les parentheses etudiant(...) et VALUES (....) soient dans le même ordre !
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 19:58
23 mars 2010 à 19:58
meme probleme Alain meme message d'erreur
bon moi au debut ca a marche mais comme vous avez dit j'ai oublier le cryptage de mot de passe ds la requete de l'insertion je sais pas quand j'ai ajouter comme vous avez dit au debut ca n'a pas marche j'ai essaye différente manière de cote
bon moi au debut ca a marche mais comme vous avez dit j'ai oublier le cryptage de mot de passe ds la requete de l'insertion je sais pas quand j'ai ajouter comme vous avez dit au debut ca n'a pas marche j'ai essaye différente manière de cote
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
aloison
Messages postés
22
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
23 mars 2010
1
Modifié par aloison le 23/03/2010 à 20:35
Modifié par aloison le 23/03/2010 à 20:35
A priori la solution de Alain_42 ou de SamuHell devrait fonctionner.
Est-tu sûr que ton erreur : Parse error: parse error, expecting '','' or '';'' vient de la ligne de la requête INSERT ??
Cette erreur peut venir de "n'importe quelle ligne", il suffit que tu ai oublié un ; ou une ( ) ou une { } ou une ' ou un " ou autre... quelque-part et tu auras cette erreur là donc vérifie bien tout ton code!! Surtout les parties où tu as modifié le code!
Fais un 'couper' des lignes où tu penses que l'erreur se trouve (afin de la retirer du code), sauvegarde et regarde si tu as toujours l'erreur! Si tu as toujours l'erreur, c'est que l'erreur n'est pas dans la partie que tu as retirée, si tu n'as plus l'erreur (tu en auras peut-être une autre car tu as retiré du code! ^^), tu sauras que l'erreur est bien dans la partie que tu pensais! :D
Ensuite reste plus qu'à la passer au peigne fin! ^^
Est-tu sûr que ton erreur : Parse error: parse error, expecting '','' or '';'' vient de la ligne de la requête INSERT ??
Cette erreur peut venir de "n'importe quelle ligne", il suffit que tu ai oublié un ; ou une ( ) ou une { } ou une ' ou un " ou autre... quelque-part et tu auras cette erreur là donc vérifie bien tout ton code!! Surtout les parties où tu as modifié le code!
Fais un 'couper' des lignes où tu penses que l'erreur se trouve (afin de la retirer du code), sauvegarde et regarde si tu as toujours l'erreur! Si tu as toujours l'erreur, c'est que l'erreur n'est pas dans la partie que tu as retirée, si tu n'as plus l'erreur (tu en auras peut-être une autre car tu as retiré du code! ^^), tu sauras que l'erreur est bien dans la partie que tu pensais! :D
Ensuite reste plus qu'à la passer au peigne fin! ^^
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 21:12
23 mars 2010 à 21:12
bon merci les amis j'ai trouvé l'erreur j'ai corrigé la requete et bon on a évolué maintenant
je vais expliquer quand j'èssaye la connexion cette fois il m'affiche le message
Compte non reconnu.
pourtant je susi sur que le login et le mdp sont ds la base
je vais expliquer quand j'èssaye la connexion cette fois il m'affiche le message
Compte non reconnu.
pourtant je susi sur que le login et le mdp sont ds la base
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 mars 2010 à 21:34
23 mars 2010 à 21:34
Compte non reconnu.
pourtant je susi sur que le login et le mdp sont ds la base
oui mais le mdp n'est peut être pas crypté comme avant tu faisait ton INSERT san scrypter le mdp
pourtant je susi sur que le login et le mdp sont ds la base
oui mais le mdp n'est peut être pas crypté comme avant tu faisait ton INSERT san scrypter le mdp
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 21:38
23 mars 2010 à 21:38
ah ok Alain donc je dois me debarasser de cryptage car franchement je sais pas comment faire pour que ca marche je vais pas inserer le mdp crypter
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 21:52
23 mars 2010 à 21:52
j'ai supprimer le cryptage
je clic sur connexion et la il me vient trois erreur les voila
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at index.php on line 28
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\index.php:17) in index.php on line 28
Warning: Cannot modify header information - headers already sent by (output started at c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\index.php:17) in index.php on line 30
bon voila les ligne de 27 jusqua 32
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['log1'];
header('Location: membre.php');
exit();
}
merci une autre fois
je clic sur connexion et la il me vient trois erreur les voila
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at index.php on line 28
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\index.php:17) in index.php on line 28
Warning: Cannot modify header information - headers already sent by (output started at c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\index.php:17) in index.php on line 30
bon voila les ligne de 27 jusqua 32
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['log1'];
header('Location: membre.php');
exit();
}
merci une autre fois
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 mars 2010 à 22:35
23 mars 2010 à 22:35
Si tu arrives à cette ligne c'est que tu as bien trouvé un login et m d p correspondant donc il y a déja un mieux
verifies que tu n'as pas de ligne vide avant <?php tout au début de ton script
si tu as notepad++ comme editeur verifies que le format est bien en UNIX
menu Format "convertir en UNIX" doit être grisé
verifies que tu n'as pas de ligne vide avant <?php tout au début de ton script
si tu as notepad++ comme editeur verifies que le format est bien en UNIX
menu Format "convertir en UNIX" doit être grisé
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 22:43
23 mars 2010 à 22:43
non alain j'ai pas des ligne vide dans le code et j'utilse dreamweaver et easyphp 1.8
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 mars 2010 à 23:00
23 mars 2010 à 23:00
alors regarde dans les parametres ou preferences de dream si tu n'as pas un truc pour codifier en format UNIX (ca joue sur les caracteres de fin de ligne)
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 23:20
23 mars 2010 à 23:20
non j'ai rien trouvé est ce que a une grande influance sur le code ?
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 mars 2010 à 23:26
23 mars 2010 à 23:26
c a dire to pb c'est qu'il y a un caratere avant la ligne28 qui est envoyé au navigateur et en regardant ton code on ne voit rien, et qd il y a comme ça des trucs inexpliqués cela vient souvent d'un problème de codage
essayes de télécharger Notepad++ et tu ouvrira ton code dedans
essayes de télécharger Notepad++ et tu ouvrira ton code dedans
aloison
Messages postés
22
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
23 mars 2010
1
23 mars 2010 à 23:34
23 mars 2010 à 23:34
Peux-tu mettre le code de la ligne 1 à 32 plutôt car a priori le problème vient de la ligne 17?
Comme la dit Alain_42 : si un caractère est envoyé au navigateur et qu'ensuite tu essayes de modifier le header, c'est trop tard tu ne peux plus le modifier... (enfin d'après ce que j'ai compris! ^^).
Donc soit, à la ligne 17, il y a un echo ou autre, soit le problème est celui auquel pense Alain_42 avec le format.
Ps: Tu modifies le header lorsque tu utilises :
-> $_SESSION['']
-> header('');
Comme la dit Alain_42 : si un caractère est envoyé au navigateur et qu'ensuite tu essayes de modifier le header, c'est trop tard tu ne peux plus le modifier... (enfin d'après ce que j'ai compris! ^^).
Donc soit, à la ligne 17, il y a un echo ou autre, soit le problème est celui auquel pense Alain_42 avec le format.
Ps: Tu modifies le header lorsque tu utilises :
-> $_SESSION['']
-> header('');
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 23:51
23 mars 2010 à 23:51
bon aloison j'ai supprimé les echo ds le code deja moi je mets des echo pour savoir ou est la faute et ca a avancé maintenant il a passe au fichier membre et il ya un pb le voila
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at membre.php:7) in \membre.php on line 8
sacher bien qu il m'affiche bien venu et deconexion donc ca a marche presque je vais vous donner le script de membre .php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<html>
<head>
<title>Espace membre</title>
</head>
<body>
Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?> !<br />
<a href="deconnexion.php">Déconnexion</a>
</body>
</html>
et bien le ligne 8 c'est session_start()
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at membre.php:7) in \membre.php on line 8
sacher bien qu il m'affiche bien venu et deconexion donc ca a marche presque je vais vous donner le script de membre .php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<html>
<head>
<title>Espace membre</title>
</head>
<body>
Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?> !<br />
<a href="deconnexion.php">Déconnexion</a>
</body>
</html>
et bien le ligne 8 c'est session_start()
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
23 mars 2010 à 23:55
23 mars 2010 à 23:55
bon les amis quand je clique sur déconnexion en ignorant le worning il m'affiche aussi des worning
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\deconnexion.php:9) in c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\deconnexion.php on line 10
Warning: Cannot modify header information - headers already sent by (output started at c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\deconnexion.php:9) in c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\deconnexion.php on line 13
voici le code deconexion.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>
</body>
</html>
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\deconnexion.php:9) in c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\deconnexion.php on line 10
Warning: Cannot modify header information - headers already sent by (output started at c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\deconnexion.php:9) in c:\program files (x86)\easyphp1-8\www\didacticiel\fat\yes\deconnexion.php on line 13
voici le code deconexion.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>
</body>
</html>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 mars 2010 à 23:39
23 mars 2010 à 23:39
ou essayes de modifier la ligne:
$connexion = mysql_pconnect($hostname_connexion, $username_connexion, $password_connexion) or trigger_error(mysql_error(),E_USER_ERROR);
par
$connexion = mysql_pconnect($hostname_connexion, $username_connexion, $password_connexion) or trigger_error(mysql_error(),E_USER_ERROR);
par
$connexion = mysql_connect($hostname_connexion, $username_connexion, $password_connexion) or die ("Erreur connexion :".mysql_error());
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 mars 2010 à 23:54
23 mars 2010 à 23:54
Ha ben oui !
dans ta page menbre il faut mettre <?php session_start() tout au début de ta page avant tout code html ou echo
dans ta page menbre il faut mettre <?php session_start() tout au début de ta page avant tout code html ou echo
turboooo
Messages postés
50
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
8 octobre 2012
24 mars 2010 à 00:00
24 mars 2010 à 00:00
je vous remercie infiniment les amis vous m'avez bcp aidé je suis reconnaissante j'ai bien appris
au revoir
au revoir