A l'aide PHP & MySQL

Résolu
benji1437 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
benji1437 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
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.

A voir également:

3 réponses

AssassinTourist Messages postés 6029 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
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(); 
0
benji1437 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   36
 
je mis un header de redirection et ça marche. merci les gars
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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é"
0
AssassinTourist Messages postés 6029 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Je voulais lui dire de mettre un header, mais j'ai vu des echos et ça, c'est pas top si déjà ils ne s'affichent pas. Alors que les données sont enregistrées en base :$
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
D'où ma dernière phrase !
Je pense que le header fonctionnera correctement mais la requête non !
0
benji1437 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   36
 
merci le header est correct.
0
NDOUKI Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   12
 
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);
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Non car le echo se trouve après les balise <html> et <body> le header ne fonctionnerai donc pas ici.
0
benji1437 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   36
 
le header a bien fonctionné merci !
0