[RESOLU] problème d'enregistrement d'un seul champs d'un formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] problème d'enregistrement d'un seul champs d'un formulaire

Re: problème d'enregistrement d'un seul champs d'un formulai

par Angela81 » 14 août 2012, 14:11

Merci beaucoup pour votre aide =D>

bon j'avoue que j'ai pas tout compris de ce que vous mavez dit :oops: mais comme vous m'avez parlé de la structure de ma base, je suis allée y refaire un tour et..; j'ai trouvé l'erreur !!! c'etait donc bien une erreur stupide de ma part sauf que c'etait pas de le code mais bien dans la structure de ma base (le type du champs 'passions' était enregistré comme INt, ça risquait pas de marcher #-o ). je l'ai changer en TEXT et ça marche nikel !!!

en tout cas merci pour la peine que vous vous êtes donner en me répondant. vous êtes adorables =D>

Re: problème d'enregistrement d'un seul champs d'un formulai

par moogli » 14 août 2012, 13:57

salut,

comment est faites ta table membres ? (montre nous le create table de la table).

Pour debugguer affiche la requête avant de l’exécuter pour voir ce que tu envois au serveur MySQL.

tu peux aussi la fonction var_dump() pour t'aider à bien cerner le problème (par exemple un var_dump($_POST) peux t'aider.

si tu trouve l'affichage du var_dump peux lisible ajoute un <pre></pre> autour ;)

edit : trop lent :s
je vois que l'on a la même idée avec xTG ;)

@+

Re: problème d'enregistrement d'un seul champs d'un formulai

par moogli » 14 août 2012, 13:57

salut,

comment est faites ta table membres ? (montre nous le create table de la table).

Pour debugguer affiche la requête avant de l’exécuter pour voir ce que tu envois au serveur MySQL.

tu peux aussi la fonction var_dump() pour t'aider à bien cerner le problème (par exemple un var_dump($_POST) peux t'aider.

si tu trouve l'affichage du var_dump peux lisible ajoute un <pre></pre> autour ;)



@+

Re: problème d'enregistrement d'un seul champs d'un formulai

par xTG » 14 août 2012, 13:55

Quel est le type de ce champ de ta bdd ?

problème d'enregistrement d'un seul champs d'un formulaire

par Angela81 » 14 août 2012, 13:17

Bonjour à tous :D

Je me prend la tête depuis un petit moment avec mon formulaire d'inscription. et j'apprécierais beaucoup un petit coup de pouce ! merci d'avance :mrgreen:

ma situation :
j'ai fait un formulaire pour l'inscription des visiteurs -> membres. Ce formulaire comprends, pour l'instant, 3 champs : pseudo, mdp (<=> password) et passions.
J'ai fait une page qui traite les données envoyées par ce formulaire et qui entre ces données dans ma table "membres".

le souci :
quand un visiteur remplit tous les champs (donc les 3 champs), les données des champs 'pseudo' et 'mdp' sont enregistrées dans la table mais pas celles du champs 'passions' qui restent désespérément avec la valeur 0.

Je vous met mes codes :
Celui de mon formulaire
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>formulaire_inscription</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<link rel="stylesheet" href="../tech/style1.css" />
</head>
<body>
<?php include("../pages/entete.php"); ?>
<?php include("../pages/cadre_gauche.php"); ?>
<?php include("../pages/cadre_droite.php"); ?>
<?php include("../pages/menu_top.php"); ?>
<div id="corps">
<h1>INSCRIPTION</h1>

<p>
<form method="post" action="formulaire_inscription_traitement.php">
	<p>
	<label for="pseudo">Votre pseudo</label> : <input type="text" name="pseudo" id="pseudo" />
		<br />
	<label for="mdp">Votre mot de passe :</label> <input type="password" name="mdp" id="mdp" />
		<br />
	<label for="passions">Vos passions</label> : <input type="text" name="passions" id="passions" />
		<br />
	<input type="submit" value="Envoyer" />
</p>

</form>
</p>
</div>
<?php include("../pages/pdp.php"); ?>
</body>
</html>  
Celui de ma page de traitement :
<?php 
// On commence par récupérer les champs 
if(isset($_POST['pseudo']))      $pseudo=$_POST['pseudo'];
else      $pseudo="";

if(isset($_POST['mdp']))      $mdp=$_POST['mdp'];
else      $mdp="";

if(isset($_POST['passions']))      $passions=$_POST['passions'];
else      $passions="";

// On vérifie si les champs pseudo et mdp sont vides 
if(empty($pseudo) OR empty($mdp)) 
    { 
    echo '<font color="red">Attention, tous les champs avec une asterisque doivent être remplis!<br /><a href="../tech/formulaire_inscription.php">Réessayez !</a></font>'; 
	exit;
    } 
// Aucun champ n'est vide, on peut enregistrer dans la table 
else      
    { 
       // connexion à la base
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());

// sélection de la base  

    mysql_select_db('gv2',$db)  or die('Erreur de selection '.mysql_error()); 
	
 // on regarde si le pseudo existe déjà 
    $sql = "SELECT id FROM membres WHERE pseudo='$pseudo'"; 
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
     
    // on compte le nombre de résultats 
    $res = mysql_num_rows($req); 

    if($res!=0)  // le pseudo existe déjà, on affiche un message d'erreur 
        { 
        echo '<font color="red">Désolé, mais ce pseudo existe déjà dans notre base.<br /><a href="../tech/formulaire_inscription.php">Réessayez !</a></font>'; 
		exit;
        } 
    else  // le pseudo n'existe pas, on insère les informations du formulaire dans la table 
	
    // on écrit la requête sql 
    $sql = "INSERT INTO membres(id, pseudo, mdp, passions) VALUES('','$pseudo','$mdp', '$passions')"; 
     
    // on insère les informations du formulaire dans la table 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

    // on affiche le résultat pour le visiteur    
    echo 'Vos infos on été ajoutées.'; 

    }  
?>
<p><a href="../pages/accueil.php">retour à la page d'accueil</a></p>
Quand je fais une inscription, il n y'a aucun message d'erreur. sauf que quand je vérifie dans ma base de données, le champs 'passions' contient '0' même si j'ai tapé quelque chose dans la case 'passions' du formulaire. J'y comprends rien !

Merci d'avance à tous celles/ceux qui prendront la peine de me répondre et bonne jouréne !