Problème appel champs formulaire php/mysql
daf46
-
daf46 -
daf46 -
Bonjour,
Je suis actuellement entrain de réalisé un annuaire mais lors de l'inscription d'un usager les champs texte du formulaire ne sont pas reconnu.
Ma fonction isset() ne fonctionne pas je vous donne mon code :
fieldset id="inscr"><legend>Identifiant de connexion</legend>
<label for="login">Login : </label><input type="text" name="login" class="input" id="login" /><br />
<label for="pass">Mot de passe : </label><input type="text" name="pass" class="input" id="pass" /><br />
</fieldset></br>
<fieldset id="inscr"><legend>Informations personnelles</legend>
<label for="nom">Nom : </label><input type="text" name="nom" class="input" id="nom" /><br />
<label for="prenom">Prenom : </label><input type="text" name="prenom" class="input" id="prenom" /><br />
<label for="adresse">Adresse : </label><input type="text" name="adresse" class="input" id="adresse" /><br />
<label for="telephone">Telephone : </label><input type="text" name="telephone" class="input" id="telephone" /><br />
</fieldset>
</center>
<center><input type="submit" class="valider" value="S'inscrire" name="inscrire"></input></center>
</form>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("annuaire");
if (isset ($_POST['login']) && isset($_POST['pass']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['adresse']) && isset($_POST['telephone'])){
$sql = 'INSERT INTO utilisateurs VALUES( "","kvvvdf","vhjvdvfj","bguugoi","gbuogo","goggg","hohg")';
mysql_query($sql);
echo "OK";
$login = mysql_real_escape_string(htmlspecialchars($_POST['login'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$pass = mysql_real_escape_string(htmlspecialchars($_POST['pass']));
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$adresse = mysql_real_escape_string(htmlspecialchars($_POST['adresse']));
$telephone = mysql_real_escape_string(htmlspecialchars($_POST['telephone']));
$sql = "INSERT INTO utilisateurs VALUES( '', '" . $login . "', '" . $pass . "', '" . $nom . "', '" . $prenom . "', '" . $adresse . "', '" . $telephone . "')";
mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL
}
else {
echo 'Les variables du formulaire ne sont pas déclarées';
}
?>
Je vous remercie d'avance.
PS : Ce n'est pas un problème de connexion a la base.
Je suis actuellement entrain de réalisé un annuaire mais lors de l'inscription d'un usager les champs texte du formulaire ne sont pas reconnu.
Ma fonction isset() ne fonctionne pas je vous donne mon code :
fieldset id="inscr"><legend>Identifiant de connexion</legend>
<label for="login">Login : </label><input type="text" name="login" class="input" id="login" /><br />
<label for="pass">Mot de passe : </label><input type="text" name="pass" class="input" id="pass" /><br />
</fieldset></br>
<fieldset id="inscr"><legend>Informations personnelles</legend>
<label for="nom">Nom : </label><input type="text" name="nom" class="input" id="nom" /><br />
<label for="prenom">Prenom : </label><input type="text" name="prenom" class="input" id="prenom" /><br />
<label for="adresse">Adresse : </label><input type="text" name="adresse" class="input" id="adresse" /><br />
<label for="telephone">Telephone : </label><input type="text" name="telephone" class="input" id="telephone" /><br />
</fieldset>
</center>
<center><input type="submit" class="valider" value="S'inscrire" name="inscrire"></input></center>
</form>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("annuaire");
if (isset ($_POST['login']) && isset($_POST['pass']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['adresse']) && isset($_POST['telephone'])){
$sql = 'INSERT INTO utilisateurs VALUES( "","kvvvdf","vhjvdvfj","bguugoi","gbuogo","goggg","hohg")';
mysql_query($sql);
echo "OK";
$login = mysql_real_escape_string(htmlspecialchars($_POST['login'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$pass = mysql_real_escape_string(htmlspecialchars($_POST['pass']));
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$adresse = mysql_real_escape_string(htmlspecialchars($_POST['adresse']));
$telephone = mysql_real_escape_string(htmlspecialchars($_POST['telephone']));
$sql = "INSERT INTO utilisateurs VALUES( '', '" . $login . "', '" . $pass . "', '" . $nom . "', '" . $prenom . "', '" . $adresse . "', '" . $telephone . "')";
mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL
}
else {
echo 'Les variables du formulaire ne sont pas déclarées';
}
?>
Je vous remercie d'avance.
PS : Ce n'est pas un problème de connexion a la base.
Configuration: Windows XP Firefox 3.0.11
10 réponses
-
Soit c'est un pb de copier coller soit il te manque la balise <form
<form name="form1" method="post" action=""> <fieldset id="inscr"><legend>Identifiant de connexion</legend> <label for="login">Login : </label><input type="text" name="login" class="input" id="login" /><br /> <label for="pass">Mot de passe : </label><input type="text" name="pass" class="input" id="pass" /><br /> </fieldset></br> <fieldset id="inscr"><legend>Informations personnelles</legend> <label for="nom">Nom : </label><input type="text" name="nom" class="input" id="nom" /><br /> <label for="prenom">Prenom : </label><input type="text" name="prenom" class="input" id="prenom" /><br /> <label for="adresse">Adresse : </label><input type="text" name="adresse" class="input" id="adresse" /><br /> <label for="telephone">Telephone : </label><input type="text" name="telephone" class="input" id="telephone" /><br /> </fieldset> </center> <center><input type="submit" class="valider" value="S'inscrire" name="inscrire"></input></center> </form> <?php ///TEST pour voir ce que tu reçoit if(isset($_POST['inscrire'])){ echo '<pre>'; print_r($_POST); echo '</pre>'; } //fin test if (isset($_POST['login']) && isset($_POST['pass']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['adresse']) && isset($_POST['telephone'])){ //il faut faire la connexion a la base que qd tu as reçu les valeurs mysql_connect("localhost", "root", ""); mysql_select_db("annuaire"); //$sql = 'INSERT INTO utilisateurs VALUES( "","kvvvdf","vhjvdvfj","bguugoi","gbuogo","goggg","hohg")'; //mysql_query($sql); //echo "OK"; $login = mysql_real_escape_string(htmlspecialchars($_POST['login'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass'])); $nom = mysql_real_escape_string(htmlspecialchars($_POST['nom'])); $prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom'])); $adresse = mysql_real_escape_string(htmlspecialchars($_POST['adresse'])); $telephone = mysql_real_escape_string(htmlspecialchars($_POST['telephone'])); $sql = "INSERT INTO utilisateurs VALUES( '', '".$login."', '". $pass."', '".$nom."', '".$prenom."', '".$adresse."', '".$telephone."')"; mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); mysql_close(); // On n'oublie pas de fermer la connexion à MySQL } /* si tu mets ça tu vas avoir le mesage au premier chargement de ta pageelse { echo 'Les variables du formulaire ne sont pas déclarées'; } */ ?> -
Oui pardon la balise ouvrante form était bien mise, mais ca ne marche toujours pas jai fais ton test :
if(isset($_POST['inscrire'])){
echo '<pre>';
print_r($_POST);
echo '</pre>';
Mais ca ne me rend rien, et rien ne s'insère dans ma base de donnée.
Une autre idée?
Merci d'avance -
alors donnes le code de la ligne qui contient <form ...
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
-
action="authentification.php"
donc le formulaire poste vers authentification.php
est ce que dans ce script tu as bien le code:
<?php ///TEST pour voir ce que tu reçoit if(isset($_POST['inscrire'])){ echo '<pre>'; print_r($_POST); echo '</pre>'; } //fin test if (isset($_POST['login']) && isset($_POST['pass']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['adresse']) && isset($_POST['telephone'])){ //il faut faire la connexion a la base que qd tu as reçu les valeurs mysql_connect("localhost", "root", ""); mysql_select_db("annuaire"); //$sql = 'INSERT INTO utilisateurs VALUES( "","kvvvdf","vhjvdvfj","bguugoi","gbuogo","goggg","hohg")'; //mysql_query($sql); //echo "OK"; $login = mysql_real_escape_string(htmlspecialchars($_POST['login'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass'])); $nom = mysql_real_escape_string(htmlspecialchars($_POST['nom'])); $prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom'])); $adresse = mysql_real_escape_string(htmlspecialchars($_POST['adresse'])); $telephone = mysql_real_escape_string(htmlspecialchars($_POST['telephone'])); $sql = "INSERT INTO utilisateurs VALUES( '', '".$login."', '". $pass."', '".$nom."', '".$prenom."', '".$adresse."', '".$telephone."')"; mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); mysql_close(); // On n'oublie pas de fermer la connexion à MySQL } /* si tu mets ça tu vas avoir le mesage au premier chargement de ta pageelse { echo 'Les variables du formulaire ne sont pas déclarées'; } */ ?>
ou est que c'est toute la page qui contient le formulaire et le code php qui se nomme authentification.php -
OUi j'ai bien rentré le code dans mon script.
la page que je t'ai donné s'appelle inscription.php ,Authentification.php est la page sur laquelle l'utilisateur s'authentifie après avoir remplie le formulaire d'inscription.
Voila le code ci-joint si cela peut aider :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Bienvenue sur mon site !</title>
<link rel="stylesheet" href="commun.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<body>
</head>
<body>
<fieldset id= "auth"><legend>Authentification</legend>
<div id="authentification">
<form method="POST" action="annuaire.php">
<label for="login">Login : </label><input type="text" name="login" class="input" id="login" /><br />
<label for="pass">Mot de passe : </label><input type="password" name="pass" class="input" id="pass" /><br />
<center><input type="submit" class="valider" value="Se connecter"></input></center>
</form>
</div>
<center>Vous n'êtes pas inscrit? <a href="inscription.php">Inscrivez vous</a></center>
</fieldset>
</body>
</html> -
tu as un pb
<form method="POST" action="annuaire.php">
et plus haut tu parles de authentification.php
alors ton code php il est dans quel script ?
authentification.php ou annuaire.php ? -
Lol me suis peut ètre mélangé les pinceaux.
En fait mon code php se trouve dans inscription php qui lorsqu'on clic sur le bouton soumission ramène a la page authentification dans laquelle il faut renseigner le login et mot de passe et qui nous emmène ensuite dans annuaire .php une fois la personne authentifié.