A l'aide PHP & MySQL
Résolu
benji1437
Messages postés
20
Statut
Membre
-
benji1437 Messages postés 20 Statut Membre -
benji1437 Messages postés 20 Statut Membre -
Bonjour à tous, excusez-moi je un problème d'affichage de mon formulaire, je suis debutant en php. je m'explique:
j'ai crée 2 pages. la 1ere contient le code(html) du formulaire qui fait appelle à la 2e qui contient le code php qui a pour tache d'enregistrer les données du formulaire dans la base de données. à l'exécution, les données sont bien enregistrées dans la base et le navigateur m'affiche une page blanche. quant j'actualise c'est toujours la page blanche. comment faire pour que le navigateur m'affiche à nouveau mon formulaire (html pour saisir à nouveau des données) ? aidez-moi s'il vous plait. merci
voici le code:
1ere page html
<form method="post" action="enregis.php">
<fieldset>
<legend>Enregistrement</legend>
<table class="tab" >
<tr>
<td><label for="nomf"size="20"> Nom de Famille: </label> </td>
<td ><input type="text" name="nomf" id="nomf" size="25" /> </td>
</tr>
<tr>
<td><label for="prenoms" size="20"> Prenom: </label></td>
<td><input type="text" name="prenoms" id="prenoms" size="25" /></td>
</tr>
<tr>
<td><label for="login"> Login: </label> </td>
<td><input type="text" name="login" id="login" size="25" /> </td>
</tr>
<tr>
<td><label for="mot_de_passe"> Mot de passe: </label> </td>
<td><input type="password" name="mot_de_passe" id="mot_de_passe" size="25" /> </td>
</tr>
<tr>
<td><label for="mot_de_passe_c"> Confirmez le mot de passe: </label> </td>
<td><input type="password" name="mot_de_passe_c" id="mot_de_passe_c" size="25" /> </td>
</tr>
<tr>
<td><label for="email"> E-mail: </label> </td>
<td><input type="text" name="email" id="email" size="25"/> </td>
</tr>
<tr>
<td class="fc1"><p> <input type="reset" value="Annuler" size="20" /> </p> </td>
<td><p> <input type="submit" value="Enregistrer" size="20" /></p></td>
</tr>
</table>
</fieldset>
</form>
2e page:
<html>...
<body>
<?php
$base_de_donnees="benjihill"; //nom de la base de données
$serveur="localhost"; //adresse du serveur
$nom="root"; //nom de l'utilisateur qui a des droits sur la base de données
$mot_de_passe=""; //mot de passe de cet utilisateur
// connexion au serveur de base de données (mysql)
$connexion = mysql_connect ($serveur, $nom, $mot_de_passe);
//sélection de la base de données à utiliser pour les requête
mysql_select_db ($base_de_donnees);
$nomf = $_POST['nomf'];
$prenoms = $_POST['prenoms'];
$login =$_POST['login'];
$mot_de_passe = $_POST['mot_de_passe'];
$mot_de_passe_c =$_POST['mot_de_passe_c'];
$email = $_POST['email'];
//requête sql d'insertion du document
$requete="insert into membre (nom,prenoms,login,mot_de_passe,mot_de_passe_c,email) ";
$requete .= "values ('".$nom."','".$prenoms."','".$login."','".$mot_de_passe."','".$mot_de_passe_c."','".$email."');";
// exécution de la requête : on envoie la requête au serveur qui nous retourne le résultat
if ($resultat = mysql_query ($requete))
echo "l'insertion s'est bien déroulée";
else
echo mysql_error();
?>
</body>
</html>
Merci.
j'ai crée 2 pages. la 1ere contient le code(html) du formulaire qui fait appelle à la 2e qui contient le code php qui a pour tache d'enregistrer les données du formulaire dans la base de données. à l'exécution, les données sont bien enregistrées dans la base et le navigateur m'affiche une page blanche. quant j'actualise c'est toujours la page blanche. comment faire pour que le navigateur m'affiche à nouveau mon formulaire (html pour saisir à nouveau des données) ? aidez-moi s'il vous plait. merci
voici le code:
1ere page html
<form method="post" action="enregis.php">
<fieldset>
<legend>Enregistrement</legend>
<table class="tab" >
<tr>
<td><label for="nomf"size="20"> Nom de Famille: </label> </td>
<td ><input type="text" name="nomf" id="nomf" size="25" /> </td>
</tr>
<tr>
<td><label for="prenoms" size="20"> Prenom: </label></td>
<td><input type="text" name="prenoms" id="prenoms" size="25" /></td>
</tr>
<tr>
<td><label for="login"> Login: </label> </td>
<td><input type="text" name="login" id="login" size="25" /> </td>
</tr>
<tr>
<td><label for="mot_de_passe"> Mot de passe: </label> </td>
<td><input type="password" name="mot_de_passe" id="mot_de_passe" size="25" /> </td>
</tr>
<tr>
<td><label for="mot_de_passe_c"> Confirmez le mot de passe: </label> </td>
<td><input type="password" name="mot_de_passe_c" id="mot_de_passe_c" size="25" /> </td>
</tr>
<tr>
<td><label for="email"> E-mail: </label> </td>
<td><input type="text" name="email" id="email" size="25"/> </td>
</tr>
<tr>
<td class="fc1"><p> <input type="reset" value="Annuler" size="20" /> </p> </td>
<td><p> <input type="submit" value="Enregistrer" size="20" /></p></td>
</tr>
</table>
</fieldset>
</form>
2e page:
<html>...
<body>
<?php
$base_de_donnees="benjihill"; //nom de la base de données
$serveur="localhost"; //adresse du serveur
$nom="root"; //nom de l'utilisateur qui a des droits sur la base de données
$mot_de_passe=""; //mot de passe de cet utilisateur
// connexion au serveur de base de données (mysql)
$connexion = mysql_connect ($serveur, $nom, $mot_de_passe);
//sélection de la base de données à utiliser pour les requête
mysql_select_db ($base_de_donnees);
$nomf = $_POST['nomf'];
$prenoms = $_POST['prenoms'];
$login =$_POST['login'];
$mot_de_passe = $_POST['mot_de_passe'];
$mot_de_passe_c =$_POST['mot_de_passe_c'];
$email = $_POST['email'];
//requête sql d'insertion du document
$requete="insert into membre (nom,prenoms,login,mot_de_passe,mot_de_passe_c,email) ";
$requete .= "values ('".$nom."','".$prenoms."','".$login."','".$mot_de_passe."','".$mot_de_passe_c."','".$email."');";
// exécution de la requête : on envoie la requête au serveur qui nous retourne le résultat
if ($resultat = mysql_query ($requete))
echo "l'insertion s'est bien déroulée";
else
echo mysql_error();
?>
</body>
</html>
Merci.
3 réponses
-
Bonjour,
Ta page blanche, c'est bien ta page php, c'est ça ? Et ça n'affiche rien du tout ? Alors que tu as des echo à la fin :if ($resultat = mysql_query ($requete)) echo "l'insertion s'est bien déroulée"; else echo mysql_error();
-
Hello,
Une fois le formulaire validé, tu es envoyé sur la page de traitement. Et tu y restes. Il faut donc insérer un header de redirection tout en haut de la page de traitement, avant tout code HTML (donc vraiment tout tout en haut) !
<?php header ('Location: pageduformulaire.php'); ?>
Mais peut-être que AssassinTourist a soulevé un autre problème...
Mihawk
"La rigoureusité fait la qualité" -
slt,
ce qu'il faut faire c'est de rediriger ta page php vers ta page html avec un header comme l'a dit les autres.
mais seulement moi je pense que:
tu dois enlever ton echo "l'insertion s'est bien déroulée";
et tu le remplace par header(location:formulaire.html);