Recupération des données du formulaire
merlyone
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
merlyone Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
merlyone Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
quelqu' un aurait il l'amabilité de m'aider ! en faite j'essaye de récupérer les données saisies au niveau du formulaire pour les mettre dans la base de données mais ça m'affiche les erreurs suivantes :
Undefined index: nom in "D:\...."
Undefined index: prenom in "D:\...."
Undefined index: adresse in "D:\...."
j'ai beau cherché les erreurs de déclaration mais je ne trouve pas grande chose ! je compte sur vous pour m'aider a avancer . voici mon script de recupération des données !
<?php
include("connexion.php");
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
else $adresse="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST["action"]) && $_POST["action"]=="ok"){
// On vérifie si les champs sont vides
if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($email) )
{
echo '<font color="red"> Veuillez remplir tous les champs !</font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else{
$req="insert into annonceur values('',.'".$nom."','".$prenom."','".$adresse."','".$email."')";
mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
}
}
echo'<form action="" method="POST" ENCTYPE="multipart/form-data">';
echo'<table border="3"';
echo'<tr><td>NOM:</td><td><input type="text" name "nom"></td></tr>';
echo'<tr><td>PRENOM:</td><td><input type="text" name "prenom"></td></tr>';
echo'<tr><td>ADRESSE:<td><input type="text" name "adresse"></td></tr>';
echo'<tr><td>EMAIL:</td><td><input type="text" name "email"></td></td></tr>';
echo'<tr><td><input type="submit" value="valider"></td><td><input type="reset" value="ANNULER"></td></tr>';
echo'<input type= "hidden" name="action" value="ok">';
echo'</table>';
echo'</form>';
?>
quelqu' un aurait il l'amabilité de m'aider ! en faite j'essaye de récupérer les données saisies au niveau du formulaire pour les mettre dans la base de données mais ça m'affiche les erreurs suivantes :
Undefined index: nom in "D:\...."
Undefined index: prenom in "D:\...."
Undefined index: adresse in "D:\...."
j'ai beau cherché les erreurs de déclaration mais je ne trouve pas grande chose ! je compte sur vous pour m'aider a avancer . voici mon script de recupération des données !
<?php
include("connexion.php");
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
else $adresse="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST["action"]) && $_POST["action"]=="ok"){
// On vérifie si les champs sont vides
if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($email) )
{
echo '<font color="red"> Veuillez remplir tous les champs !</font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else{
$req="insert into annonceur values('',.'".$nom."','".$prenom."','".$adresse."','".$email."')";
mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
}
}
echo'<form action="" method="POST" ENCTYPE="multipart/form-data">';
echo'<table border="3"';
echo'<tr><td>NOM:</td><td><input type="text" name "nom"></td></tr>';
echo'<tr><td>PRENOM:</td><td><input type="text" name "prenom"></td></tr>';
echo'<tr><td>ADRESSE:<td><input type="text" name "adresse"></td></tr>';
echo'<tr><td>EMAIL:</td><td><input type="text" name "email"></td></td></tr>';
echo'<tr><td><input type="submit" value="valider"></td><td><input type="reset" value="ANNULER"></td></tr>';
echo'<input type= "hidden" name="action" value="ok">';
echo'</table>';
echo'</form>';
?>
A voir également:
- Recupération des données du formulaire
- Whatsapp formulaire opposition - Guide
- Fuite données maif - Guide
- Formulaire de réclamation facebook - Guide
- Trier des données excel - Guide
- Formulaire de reclamation instagram - Guide
18 réponses
Personnellement, j'aurais mis une condition pour savoir si le bouton est posté.
Tel que :
Donc faut que tu ajoutes un nom à ton bouton.
Et de mettre simplement après mon morceau de codes tes champs postés.
Juste ça suffit :
Et enfin pour savoir si il manque un champs je ferais comme ceci :
Tel que :
if (isset($_POST['boutton'])) { }
Donc faut que tu ajoutes un nom à ton bouton.
Et de mettre simplement après mon morceau de codes tes champs postés.
Juste ça suffit :
$nom=$_POST['nom'];
Et enfin pour savoir si il manque un champs je ferais comme ceci :
if($nom=="" || $prenom=="" || $adresse=="" || $email=="") { echo '<font color="#C00">Veuillez remplir tous les champs !</font>'; }
OUI ton conseil marche bien, je ne vois plus les messages d'erreurs sauf que ça n'insert pas dans la base de données alors que la connexion a la base est réussie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Apres quelques modifications de la requete (j'ai mis de simple cote dans la requete insert) seul l' ID est qui est auto-incrementé est inséré dans la base de données ce qui signifie que la recuperation des données du formulaire marche pas ! Ups :(
Que dis-tu de ceci ?
<?php $PARAM_hote='localhost'; // le chemin vers le serveur $PARAM_port='3306'; $PARAM_nom_bd='monsters'; // le nom de votre base de données $PARAM_utilisateur='root'; // nom d'utilisateur pour se connecter $PARAM_mot_passe=''; // mot de passe de l'utilisateur pour se connecter try { $DB = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe); // Connexion $DB->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); } catch( PDOException $e) { echo "La base de données n'est pas disponile pour le momement."; } if (isset($_POST['boutton'])) // Le bouton à été appuié ! { if($nom=="" || $prenom=="" || $adresse=="" || $email=="") { echo '<font color="#C00">Veuillez remplir tous les champs !</font>'; } else { // Definition de tous les champs ! $nom=$_POST['nom']; // Noms $prenom=$_POST['prenom']; // Prénoms $adresse=$_POST['adresse']; // Adresses $email=$_POST['email']; // Email $d = array ( 'nom' =>"$nom", 'prenom' =>"$prenom", 'adresse' =>"$adresse", 'email' =>"$email" ); $req = $DB->prepare('INSERT INTO annonceur (nom, prenom, adresse, email) VALUE (:nom, :prenom, :adresse, :email)'); $req->execute($d); echo'<font color="#009900">Vous avez réussi ! </font>'; } } ?> <form action="" method="POST" ENCTYPE="multipart/form-data"> <table border="3"> <tr><td>NOM:</td><td><input type="text" name "nom"></td></tr> <tr><td>PRENOM:</td><td><input type="text" name "prenom"></td></tr> <tr><td>ADRESSE:<td><input type="text" name "adresse"></td></tr> <tr><td>EMAIL:</td><td><input type="text" name "email"></td></td></tr> <tr><td><input type="submit" value="valider" name="boutton"></td><td><input type="reset" value="ANNULER"></td></tr> <input type= "hidden" name="action" value="ok"> </table> </form>
J'ai fais une erreur oublier de me relire, passe les définitions des champs juste en haut du if !
Parce que là il sont dans else
Parce que là il sont dans else
meme resultat que mon code ! seul l ID est inseré ! voici mon code :
<?php
include("connexion.php");
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
else $adresse="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST['bouton'])){
// On vérifie si les champs sont vides
//if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($email) )
if($nom=="" || $prenom=="" || $adresse=="" || $email=="")
echo" <script language=\"javascript\"> alert(\"Veuillez remplir toutes les cases\");</script>";
//echo '<font color="red"> Veuillez remplir tous les champs !</font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else{
$req="insert into annonceur values('','$nom','$prenom','$adresse','$email')";
mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
}
echo'<form action="" method="POST" ENCTYPE="multipart/form-data">';
echo'<table border="3"';
echo'<tr><td>NOM:</td><td><input type="text" name "nom"></td></tr>';
echo'<tr><td>PRENOM:</td><td><input type="text" name "prenom"></td></tr>';
echo'<tr><td>ADRESSE:<td><input type="text" name "adresse"></td></tr>';
echo'<tr><td>EMAIL:</td><td><input type="text" name "email"></td></td></tr>';
echo'<tr><td><input type="submit" name"bouton" value="valider"></td><td><input type="reset" value="ANNULER"></td></tr>';
echo'<input type= "hidden" name="bouton" >';
echo'</table>';
echo'</form>';
?>
<?php
include("connexion.php");
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
else $adresse="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST['bouton'])){
// On vérifie si les champs sont vides
//if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($email) )
if($nom=="" || $prenom=="" || $adresse=="" || $email=="")
echo" <script language=\"javascript\"> alert(\"Veuillez remplir toutes les cases\");</script>";
//echo '<font color="red"> Veuillez remplir tous les champs !</font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else{
$req="insert into annonceur values('','$nom','$prenom','$adresse','$email')";
mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
}
echo'<form action="" method="POST" ENCTYPE="multipart/form-data">';
echo'<table border="3"';
echo'<tr><td>NOM:</td><td><input type="text" name "nom"></td></tr>';
echo'<tr><td>PRENOM:</td><td><input type="text" name "prenom"></td></tr>';
echo'<tr><td>ADRESSE:<td><input type="text" name "adresse"></td></tr>';
echo'<tr><td>EMAIL:</td><td><input type="text" name "email"></td></td></tr>';
echo'<tr><td><input type="submit" name"bouton" value="valider"></td><td><input type="reset" value="ANNULER"></td></tr>';
echo'<input type= "hidden" name="bouton" >';
echo'</table>';
echo'</form>';
?>
ça n'insert toujours pas et c'est pas aussi normal que ça affiche 'remplir toutes les cases' a chaque execution alor qu on a pas encore saisie !
je crois que le code est parfait qu'on a juste des problèmes d'accolât mais je ne sais pas a quel niveau ! compile le code vous verrez vous meme !
<?php
include("connexion.php");
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
else $adresse="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST['bouton'])){
// On vérifie si les champs sont vides
//if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($email) )
if($nom=="" || $prenom=="" || $adresse=="" || $email=="")
echo" <script language=\"javascript\"> alert(\"Veuillez remplir toutes les cases\");</script>";
//echo '<font color="red"> Veuillez remplir tous les champs !</font>';
// Aucun champ n'est vide, on peut enregistrer dans la table
else{
$req="insert into annonceur('id','nom_ann','prenom_ann','adresse','email') values('','$nom','$prenom','$adresse','$email')";
mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
}
}
echo'<form action="" method="POST" ENCTYPE="multipart/form-data">';
echo'<table border="3"';
echo'<tr><td>NOM:</td><td><input type="text" name "nom"></td></tr>';
echo'<tr><td>PRENOM:</td><td><input type="text" name "prenom"></td></tr>';
echo'<tr><td>ADRESSE:<td><input type="text" name "adresse"></td></tr>';
echo'<tr><td>EMAIL:</td><td><input type="text" name "email"></td></td></tr>';
echo'<tr><td><input type="submit" name"bouton" value="valider"></td><td><input type="reset" value="ANNULER"></td></tr>';
echo'<input type= "hidden" name="bouton" >';
echo'</table>';
echo'</form>';
?>
je crois que le code est parfait qu'on a juste des problèmes d'accolât mais je ne sais pas a quel niveau ! compile le code vous verrez vous meme !
<?php
include("connexion.php");
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
else $adresse="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST['bouton'])){
// On vérifie si les champs sont vides
//if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($email) )
if($nom=="" || $prenom=="" || $adresse=="" || $email=="")
echo" <script language=\"javascript\"> alert(\"Veuillez remplir toutes les cases\");</script>";
//echo '<font color="red"> Veuillez remplir tous les champs !</font>';
// Aucun champ n'est vide, on peut enregistrer dans la table
else{
$req="insert into annonceur('id','nom_ann','prenom_ann','adresse','email') values('','$nom','$prenom','$adresse','$email')";
mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
}
}
echo'<form action="" method="POST" ENCTYPE="multipart/form-data">';
echo'<table border="3"';
echo'<tr><td>NOM:</td><td><input type="text" name "nom"></td></tr>';
echo'<tr><td>PRENOM:</td><td><input type="text" name "prenom"></td></tr>';
echo'<tr><td>ADRESSE:<td><input type="text" name "adresse"></td></tr>';
echo'<tr><td>EMAIL:</td><td><input type="text" name "email"></td></td></tr>';
echo'<tr><td><input type="submit" name"bouton" value="valider"></td><td><input type="reset" value="ANNULER"></td></tr>';
echo'<input type= "hidden" name="bouton" >';
echo'</table>';
echo'</form>';
?>
Test ceci :
<?php include("connexion.php"); // On commence par récupérer les champs if(isset($_POST['nom'])) $nom=$_POST['nom']; else $nom=""; if(isset($_POST['prenom'])) $prenom=$_POST['prenom']; else $prenom=""; if(isset($_POST['adresse'])) $adresse=$_POST['adresse']; else $adresse=""; if(isset($_POST['email'])) $email=$_POST['email']; else $email=""; if(isset($_POST['bouton'])){ // On vérifie si les champs sont vides //if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($email) ) if($nom=="" || $prenom=="" || $adresse=="" || $email=="") { echo" <script language=\"javascript\"> alert(\"Veuillez remplir toutes les cases\");</script>"; } //echo '<font color="red"> Veuillez remplir tous les champs !</font>'; // Aucun champ n'est vide, on peut enregistrer dans la table else{ $req="insert into annonceur('id','nom_ann','prenom_ann','adresse','email') values('','$nom','$prenom','$adresse','$email')"; mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; } } echo'<form action="" method="POST" ENCTYPE="multipart/form-data">'; echo'<table border="3"'; echo'<tr><td>NOM:</td><td><input type="text" name "nom"></td></tr>'; echo'<tr><td>PRENOM:</td><td><input type="text" name "prenom"></td></tr>'; echo'<tr><td>ADRESSE:<td><input type="text" name "adresse"></td></tr>'; echo'<tr><td>EMAIL:</td><td><input type="text" name "email"></td></td></tr>'; echo'<tr><td><input type="submit" name"bouton" value="valider"></td><td><input type="reset" value="ANNULER"></td></tr>'; echo'<input type= "hidden" name="bouton" >'; echo'</table>'; echo'</form>'; ?>
if($nom=="" || $prenom=="" || $adresse=="" || $email=="") {echo" <script language=\"javascript\"> alert(\"Veuillez remplir toutes les cases\");</script>"; }
Je pense tu peux me tutoyer on est sur un forum d'entraide x).
As-tu testé ce que j'ai fais ?--
░░░░▒▒▒▒████ ♠ MastercroW ♠ ████▒▒▒▒░░░░
Je pense tu peux me tutoyer on est sur un forum d'entraide x).
As-tu testé ce que j'ai fais ?--
░░░░▒▒▒▒████ ♠ MastercroW ♠ ████▒▒▒▒░░░░
Mdr, je sais ou est ton problème.
Ton formulaire n'a pas les égales au name.
name "prenom" >> name="prenom"
Ton formulaire n'a pas les égales au name.
name "prenom" >> name="prenom"
Solution finale :
<?php $PARAM_hote='localhost'; // le chemin vers le serveur $PARAM_port='3306'; $PARAM_nom_bd='monsters'; // le nom de votre base de données $PARAM_utilisateur='root'; // nom d'utilisateur pour se connecter $PARAM_mot_passe=''; // mot de passe de l'utilisateur pour se connecter try { $DB = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe); // Connexion $DB->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); } catch( PDOException $e) { echo "La base de données n'est pas disponile pour le momement."; } if (isset($_POST['boutton'])) // Le bouton à été appuié ! { // Definition de tous les champs ! $nom=$_POST['nom']; // Noms $prenom=$_POST['prenom']; // Prénoms $adresse=$_POST['adresse']; // Adresses $email=$_POST['email']; // Email if($nom=="" || $prenom=="" || $adresse=="" || $email=="") { echo '<font color="#C00">Veuillez remplir tous les champs !</font>'; } else { $d = array ( 'nom' =>"$nom", 'prenom' =>"$prenom", 'adresse' =>"$adresse", 'email' =>"$email" ); $req = $DB->prepare('INSERT INTO annonceur (nom, prenom, adresse, email) VALUE (:nom, :prenom, :adresse, :email)'); $req->execute($d); echo'<font color="#009900">Vous avez réussi ! </font>'; } } ?> <form action="#" method="POST"> <table border="3"> <tr><td>NOM:</td><td><input type="text" name="nom"></td></tr> <tr><td>PRENOM:</td><td><input type="text" name="prenom"></td></tr> <tr><td>ADRESSE:<td><input type="text" name="adresse"></td></tr> <tr><td>EMAIL:</td><td><input type="text" name="email"></td></td></tr> <tr><td><input type="submit" value="valider" name="boutton"></td><td><input type="reset" value="ANNULER"></td></tr> <input type= "hidden" name="action" value="ok"> </table> </form>