Récupérer les données du formulaire dasn une base de données
maevien
Messages postés
20
Statut
Membre
-
maevien -
maevien -
Bonjour,
Y'a t-il une erreur dans ce code(que je ne vois pas)?? Je n'arrive pas à récupérer mes données
<?php
$conex=mysql_connect("$serveur","$user","$pwd");//connexion à la base de données mysql
$db_conex=mysql_select_db("$nom_base");//sélection de la base de donnée
//Récupération des paramétres passés
if (isset($_POST['vous']) and isset($_POST['nom']) and isset($_POST['email'])
and isset($_POST['objet']) and isset($_POST['message'])){
$Identite =$_POST['vous'];
$Objet =$_POST['objet'];
$Nom =$_POST['nom'];
$Email=$_POST['email'];
$Message=$_POST['message'];
$requete="INSERT INTO contact (id, identite, nom, email, objet, message)
VALUES('','$Identite', '$Nom','$Email', '$Objet','$Message')";
$result = mysql_query($requete) ;
if($result){echo "Enregistrement effectué";}
else {echo "Enregistrement non effectué";}
}
else
if (($_POST['vous'])and isset($_POST['objet']) and isset($_POST['ese']) and
isset($_POST['emailese']) and isset($_POST['message'])){
$Identites =$_POST['vous'];
$Objets =$_POST['objet'];
$Nomese=$_POST['ese'];
$Emailese=$_POST['emailese'];
$Messages=$_POST['message'];
$requete1="INSERT INTO contact (id, identite, nom, email, objet, message)
VALUES('','$Identites', '$Nomese','$Emailese', '$Objets','$Messages')";
$result1 = mysql_query($requete1) ;
if($result1){echo "Enregistrement effectué";}
else {echo "Enregistrement non effectué";}
}
mysql_close($conex);
?>
j'ai des champs cachés dans mon formulaire voici le html
form method="post" >
<label for="vous">Vous êtes</label>
<select name="vous" >
<option>Choisissez une option</option>
<option value="Une entreprise">Une entreprise</option>
<option value="Un professionnel">Un professionnel</option>
<option value="Un particulier">Un particulier</option>
</select>
<br/>
<span id="hidden1">
<label for="nom" class="nom">Votre nom</label>
<input type="text" name="nom" size="35"/>
<br/>
<label for="email">Email</label>
<input type="text" name="email" size="25" title="Ne sera pas visible sur l'annonce" />
<br/>
</span>
<span id="hidden2">
<label for="ese">Nom de l'entreprise</label>
<input type="text" name="ese" size="35"/>
<br/>
<label for="email">Email entreprise</label>
<input type="text" name="emailese" size="25" title="Ne sera pas visible sur l'annonce" />
<br/>
</span>
<label for="objet">Objet</label>
<input type="text" name="objet" size="35"/>
<br/>
<label for="desc">Votre message</label>
<textarea name="message" cols="35" rows="8" ></textarea>
<br/>
<input type="submit" name="submit" value="ENVOYER" />
</form>
Y'a t-il une erreur dans ce code(que je ne vois pas)?? Je n'arrive pas à récupérer mes données
<?php
$conex=mysql_connect("$serveur","$user","$pwd");//connexion à la base de données mysql
$db_conex=mysql_select_db("$nom_base");//sélection de la base de donnée
//Récupération des paramétres passés
if (isset($_POST['vous']) and isset($_POST['nom']) and isset($_POST['email'])
and isset($_POST['objet']) and isset($_POST['message'])){
$Identite =$_POST['vous'];
$Objet =$_POST['objet'];
$Nom =$_POST['nom'];
$Email=$_POST['email'];
$Message=$_POST['message'];
$requete="INSERT INTO contact (id, identite, nom, email, objet, message)
VALUES('','$Identite', '$Nom','$Email', '$Objet','$Message')";
$result = mysql_query($requete) ;
if($result){echo "Enregistrement effectué";}
else {echo "Enregistrement non effectué";}
}
else
if (($_POST['vous'])and isset($_POST['objet']) and isset($_POST['ese']) and
isset($_POST['emailese']) and isset($_POST['message'])){
$Identites =$_POST['vous'];
$Objets =$_POST['objet'];
$Nomese=$_POST['ese'];
$Emailese=$_POST['emailese'];
$Messages=$_POST['message'];
$requete1="INSERT INTO contact (id, identite, nom, email, objet, message)
VALUES('','$Identites', '$Nomese','$Emailese', '$Objets','$Messages')";
$result1 = mysql_query($requete1) ;
if($result1){echo "Enregistrement effectué";}
else {echo "Enregistrement non effectué";}
}
mysql_close($conex);
?>
j'ai des champs cachés dans mon formulaire voici le html
form method="post" >
<label for="vous">Vous êtes</label>
<select name="vous" >
<option>Choisissez une option</option>
<option value="Une entreprise">Une entreprise</option>
<option value="Un professionnel">Un professionnel</option>
<option value="Un particulier">Un particulier</option>
</select>
<br/>
<span id="hidden1">
<label for="nom" class="nom">Votre nom</label>
<input type="text" name="nom" size="35"/>
<br/>
<label for="email">Email</label>
<input type="text" name="email" size="25" title="Ne sera pas visible sur l'annonce" />
<br/>
</span>
<span id="hidden2">
<label for="ese">Nom de l'entreprise</label>
<input type="text" name="ese" size="35"/>
<br/>
<label for="email">Email entreprise</label>
<input type="text" name="emailese" size="25" title="Ne sera pas visible sur l'annonce" />
<br/>
</span>
<label for="objet">Objet</label>
<input type="text" name="objet" size="35"/>
<br/>
<label for="desc">Votre message</label>
<textarea name="message" cols="35" rows="8" ></textarea>
<br/>
<input type="submit" name="submit" value="ENVOYER" />
</form>
2 réponses
-
Bonjour,
Une petite remarque, pour commencer :
Au lieu de faire :isset(...) and isset(...) and ...
tu peux faire directement :isset(..., ..., ...)
doc : https://www.php.net/isset
Ensuite, à la ligne :else if ($_POST['vous'] and isset(...
Il manquerait pas un isset ?
Cordialement,
Gigatrappeur-
-
Tu utilise Zend Framework pour ton appli ? Un petit tour sur https://framework.zend.com/manual/1.12/fr/zend.controller.request.html pourras peut-être de donnéer des éléments de réponse.
-
-
-
j'ai mis
$Identite =$_POST['vous'];
$Objet =$_POST['objet'];
$Message=$_POST['message'];
if (isset($_POST['ese'],$_POST['emailese']){
$Nomese=$_POST['ese'];
$Emailese=$_POST['emailese'];
$requete="INSERT INTO contact (id, identite, nom, email, objet, message)
VALUES('','$Identites', '$Nomese','$Emailese', '$Objets','$Messages')";
$result = mysql_query($requete) ; }
else if (isset($_POST['nom'],$_POST['email']){
$Nom=$_POST['nom'];
$Email=$_POST['email'];
$requete="INSERT INTO contact (id, identite, nom, email, objet, message)
VALUES('','$Identite', '$Nom','$Email', '$Objet','$Message')";
$result = mysql_query($requete) ; }
ça a marché une fois puis rien je reçois des chiffres à la place des $_POST;
-
-
Bonjour,
Met ce bout de code en haut de ton fichier :echo '<pre>'; print_r($_POST); echo '</pre>';
Cela va permettre de déterminer si tu récupère tes valeurs ou pas.
Cordialement,
Gigatrappeur