Récupérer les données du formulaire dasn une base de données

maevien Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
 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>
A voir également:

2 réponses

Gigatrappeur Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   25
 
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
0
maevien Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Gigatrappeur javé omis un isset mais ça ne marche toujours pas au fait j'envoie les donnés par mail et en même temps je les enregistre dans une base de données l'envoi par mail est géré avec Zend Framework
0
Gigatrappeur Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   25
 
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.
0
maevien Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
pour l'appli avec Zend framework il n'y a pas de problème maintenant les données sont récupérées sauf celles des champs cachés je pense que c'est du à l'instruction if.......................else ..........................
0
Gigatrappeur Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   25
 
ok. Ta fais quoi comme modifs ? Cela m'intéresse pour ma culture perso.
0
maevien
 
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;
0
Gigatrappeur Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   25
 
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
0
maevien Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
je l'ai mis mais il affiche :
Array {
}
0
Gigatrappeur Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   25
 
Même lorsque tu valide ton formulaire ?
Tu as une page de test sur un serveur accessible ?
0
maevien Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
oui lorsque je valide mon formulaire rien ne s'affiche le problème est que je ne reçois plus par mail les données du formulaire après validation (du au serveur peut-être ) c'est pourquoi je veux le sauvegarder dans une base de donnée.
0