Récupérer les données depuis un formulaire
Résolu
fleur_rose
Messages postés
58
Statut
Membre
-
fleur_rose Messages postés 58 Statut Membre -
fleur_rose Messages postés 58 Statut Membre -
Bonjour,
je dévelllope une application avec php, et maintenet je suis dans l'étape d'autentification c'est à dire l'identification des utilisateurs,
alors l'utilisateur saisie dans un formulaire le login et le mot de passe
mon problème c'est lorsque je récupère les données ça me redirige soit vres une page blache soit on m'affiche des erreurs du genre:
( ! ) Notice: Undefined index: login in C:\wamp\www\RC_2\Nouveau dossier\validation.php on line 9
Call Stack
# Time Memory Function Location
1 0.0009 372240 {main}( ) ..\validation.php:0
( ! ) Notice: Undefined index: pass in C:\wamp\www\RC_2\Nouveau dossier\validation.php on line 10
Call Stack
# Time Memory Function Location
1 0.0009 372240 {main}( ) ..\validation.php:0
Echec de connexion à la base.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 '' at line 1
mais je vois pas où est le problème voilà le code dans "validation.php" mais qui ne marche pas :s :
Merci d'avance
je dévelllope une application avec php, et maintenet je suis dans l'étape d'autentification c'est à dire l'identification des utilisateurs,
alors l'utilisateur saisie dans un formulaire le login et le mot de passe
mon problème c'est lorsque je récupère les données ça me redirige soit vres une page blache soit on m'affiche des erreurs du genre:
( ! ) Notice: Undefined index: login in C:\wamp\www\RC_2\Nouveau dossier\validation.php on line 9
Call Stack
# Time Memory Function Location
1 0.0009 372240 {main}( ) ..\validation.php:0
( ! ) Notice: Undefined index: pass in C:\wamp\www\RC_2\Nouveau dossier\validation.php on line 10
Call Stack
# Time Memory Function Location
1 0.0009 372240 {main}( ) ..\validation.php:0
Echec de connexion à la base.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 '' at line 1
mais je vois pas où est le problème voilà le code dans "validation.php" mais qui ne marche pas :s :
<?php
//connexion avec la base
$base = mysql_connect('localhost','root', '') or die ('Echec de connexion au serveur de base de données.');
mysql_select_db('bd_rc',$base) or die ('Echec de connexion à la base.');
?>
<?php
$login=$_POST['login'];
$pass=$_POST['pass'];
$sql = "select Mot_passe from utilisateur where Nom_ut=".$login."";
$req = mysql_query($sql) or die('Echec de connexion à la base.'.mysql_error());
$data = mysql_fetch_assoc($req);
if ($data['Mot_passe'] = $pass)
{
session_start();
$_SESSION['Nom_ut'] = $login;
include('cadre_index.php');
header ('Location: cadre_index.php');
exit;
}
else
{
include('cadre_7_index.htm');
header ('Location: cadre_7_index.htm');
exit;
}
?>
Merci d'avance
4 réponses
-
Salut,
Testez en déplacent session_start(); en tout début de page puis en remplacent ".$login." dans la requête par $login et enfin, placez une condition isset avant $login=$_POST['login'];if(isset($_POST['envoyer'])){ $login=$_POST['login']; //etc.. }
$_POST['envoyer'] correspondant au nom du submit (name="envoyer") -
pour la requete :
login est un varchar => simple quotes autour
pour les données :
tu as controlé que tu recevait bien tes $_POST ?
un print_r($_POST); renvoie quelque chose ?
il y a bien method="POST" dans ton form ? -
Bonjour tout le monde,
merci beaucoup tryan44 pour ton aide, comme j'ai dit j'ai essayé les modifications que tu m'as indiqué mais en vain
Voici mon code entier:
le formulaire est dans identification.htm :<html> <head> <meta http-equiv="Content-Language" content="fr"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Identification</title> <!--mstheme--><link rel="stylesheet" href="spri1011.css"> <meta name="Microsoft Theme" content="spring 1011"> <script language="JavaScript"> <!-- function FP_preloadImgs() {//v1.0 var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array(); for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; } } function FP_swapImg() {//v1.0 var doc=document,args=arguments,elm,n; doc.$imgSwaps=new Array(); for(n=2; n<args.length; n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.$imgSwaps[doc.$imgSwaps.length]=elm; elm.$src=elm.src; elm.src=args[n+1]; } } } function FP_getObjectByID(id,o) {//v1.0 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id); else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el; if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c) for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; } f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements; for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } } return null; } // --> </script> </head> <body onload="FP_preloadImgs(/*url*/'buttonA.jpg', /*url*/'buttonB.jpg', /*url*/'button10.jpg', /*url*/'button11.jpg')"> <p align="center"> </p> <p align="center"> </p> <form method="POST" action="validation.php" name="formulaire_identification" enctype="multipart/form-data"> <!--webbot bot="SaveResults" U-File="C:\wamp\www\RC_2\Nouveau dossier\_private\form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" --> <p align="center"> </p> <p align="center"><a href="connexion.jpg"> <img border="0" src="connexion.jpg" width="48" height="48"></a> Identifiant: <input type="text" name="login" size="20"></p> <p align="center"> Mot de passe: <input type="password" name="pass" size="20"></p> <p align="center"> </p> <p align="center"> <a href="validation.php"> <img border="0" id="img1" type="submit" name='envoyer' src="button9.jpg" height="30" width="150" alt="Valider" fp-style="fp-btn: Embossed Capsule 9; fp-font: Times New Roman; fp-font-style: Bold; fp-font-size: 14; fp-font-color-normal: #D84E00; fp-font-color-hover: #EBB66C; fp-font-color-press: #EBB66C" fp-title="Valider" onmouseover="FP_swapImg(1,0,/*id*/'img1',/*url*/'buttonA.jpg')" onmouseout="FP_swapImg(0,0,/*id*/'img1',/*url*/'button9.jpg')" onmousedown="FP_swapImg(1,0,/*id*/'img1',/*url*/'buttonB.jpg')" onmouseup="FP_swapImg(0,0,/*id*/'img1',/*url*/'buttonA.jpg')"></a> <a href="identification.htm"> <img border="0" id="img2" type="reset" src="buttonF.jpg" height="30" width="150" alt="Annuler" fp-style="fp-btn: Embossed Capsule 9; fp-font: Times New Roman; fp-font-style: Bold; fp-font-size: 14; fp-font-color-normal: #D84E00; fp-font-color-hover: #EBB66C; fp-font-color-press: #EBB66C" fp-title="Annuler" onmouseover="FP_swapImg(1,0,/*id*/'img2',/*url*/'button10.jpg')" onmouseout="FP_swapImg(0,0,/*id*/'img2',/*url*/'buttonF.jpg')" onmousedown="FP_swapImg(1,0,/*id*/'img2',/*url*/'button11.jpg')" onmouseup="FP_swapImg(0,0,/*id*/'img2',/*url*/'button10.jpg')"></a></p> <p align="center"> </p> </form> </body> </html>
Et ci dessous le code de validation.php
<?php session_start(); //connexion avec la base $base = mysql_connect('localhost','root', '') or die ('Echec de connexion au serveur de base de données.'); mysql_select_db('bd_rc',$base) or die ('Echec de connexion à la base.'); ?> <?php if(isset($_POST['envoyer'])){ $login=$_POST['login']; $pass=$_POST['pass']; $sql = "select Mot_passe from utilisateur where Nom_ut='$login'"; $req = mysql_query($sql) or die('Echec de connexion à la base.'.mysql_error()); $data = mysql_fetch_assoc($req); if ($data['Mot_passe'] = $pass) { $_SESSION['Nom_ut'] = $login; include('acceuil.htm'); header ('Location: acceuil.htm'); exit; } else { include('identification_2.htm'); header ('Location: identification_2.htm'); exit; } } ?>
Maintenant tout ce qu'on m'affiche après le test est une page vide, c'est embêtant et ça devient urgent :s
merci beaucoup pour votre aide -
Merci beaucoup pour votre aide,
le problème et maintenant résolu :)
l'erreur était dans là où l'on redirige vers l'autre page
le:include('acceuil.htm'); header ('Location: acceuil.htm'); exit;
ça ne marche pas il faut le remplacer avec du java script