[PHP/SQL] Insertion données
ed
-
flattazor -
flattazor -
Bonsoir,
Cela fait quelques semaines que je patauge sur une requête simple même pour un débutant.
Je cherche à alimenter une table sql par un formulaire php.
J'ai visité nombres de forums et de tutos que j'ai suivi à la lettre... enfin je crois.
En réalité, il ne se passe rien. Quand je teste ma requete sql dans sql, cela fonctionne mais qd je suis dans mon formulaire, cela ne fonctionne pas. Qui pourrait m'aider ?
<?php
// Connexion avec fichier include
include('connexion/connexion_inc.php');
// -- on récupère les champs --
if(isset($_POST['nom'])) $nom = $_POST['nom'];else $nom="";
if(isset($_POST['prenom'])) $prenom = $_POST['prenom'];else $prenom="";
if(isset($_POST['DateNaiss'])) $DateNaiss = $_POST['DateNaiss'];else $DateNaiss="";
if(isset($_POST['LieuNaiss'])) $LieuNaiss = $_POST['LieuNaiss'];else $LieuNaiss="";
if(isset($_POST['PrenomPere'])) $PrenomPere = $_POST['PrenomPere'];else $PrenomPere="";
if(isset($_POST['PrenomMere'])) $PrenomMere = $_POST['PrenomMere'];else $PrenomMere="";
if(isset($_POST['NomMere'])) $NomMere = $_POST['NomMere'];else $NomMere="";
if (empty($prenom)) {
ECHO $message = 'Attention, le champ Prénom est obligatoire.';
}
else {
$req = "INSERT INTO
fichierglobal('id', 'nom', 'prenom', 'DateNaiss', 'LieuNaiss', 'PrenomPere', 'PrenomMere', 'NomMere')
VALUES('', $nom, $prenom, $DateNaiss, $LieuNaiss, $PrenomPere, $PrenomMere, $NomMere);";
mysql_query($req)or die('Erreur SQL !'.$req.'<br>'.mysql_error());
header("Location: merci.php");
}
?>
Merci à tous ceux qui m'apporteront un début de solution
ed
Cela fait quelques semaines que je patauge sur une requête simple même pour un débutant.
Je cherche à alimenter une table sql par un formulaire php.
J'ai visité nombres de forums et de tutos que j'ai suivi à la lettre... enfin je crois.
En réalité, il ne se passe rien. Quand je teste ma requete sql dans sql, cela fonctionne mais qd je suis dans mon formulaire, cela ne fonctionne pas. Qui pourrait m'aider ?
<?php
// Connexion avec fichier include
include('connexion/connexion_inc.php');
// -- on récupère les champs --
if(isset($_POST['nom'])) $nom = $_POST['nom'];else $nom="";
if(isset($_POST['prenom'])) $prenom = $_POST['prenom'];else $prenom="";
if(isset($_POST['DateNaiss'])) $DateNaiss = $_POST['DateNaiss'];else $DateNaiss="";
if(isset($_POST['LieuNaiss'])) $LieuNaiss = $_POST['LieuNaiss'];else $LieuNaiss="";
if(isset($_POST['PrenomPere'])) $PrenomPere = $_POST['PrenomPere'];else $PrenomPere="";
if(isset($_POST['PrenomMere'])) $PrenomMere = $_POST['PrenomMere'];else $PrenomMere="";
if(isset($_POST['NomMere'])) $NomMere = $_POST['NomMere'];else $NomMere="";
if (empty($prenom)) {
ECHO $message = 'Attention, le champ Prénom est obligatoire.';
}
else {
$req = "INSERT INTO
fichierglobal('id', 'nom', 'prenom', 'DateNaiss', 'LieuNaiss', 'PrenomPere', 'PrenomMere', 'NomMere')
VALUES('', $nom, $prenom, $DateNaiss, $LieuNaiss, $PrenomPere, $PrenomMere, $NomMere);";
mysql_query($req)or die('Erreur SQL !'.$req.'<br>'.mysql_error());
header("Location: merci.php");
}
?>
Merci à tous ceux qui m'apporteront un début de solution
ed
A voir également:
- [PHP/SQL] Insertion données
- Fuite données maif - Guide
- Touche insertion clavier - Guide
- Insertion video powerpoint - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
7 réponses
Salut,
j'ai revu tes fichiers, voila mes commentaires, sans garantie 100% de résultat... :
1) connexion_inc.php :
dans ton fichier de connexion , il me semble qu'il manque (en gras) :
<?php
--------------------------------------------------------
// Paramètres de la connexion
$hote = 'localhost';
$login = 'root';
$pass = '';
$base = 'xxxxx';
// Connexion
$idConn = mysql_connect($hote, $login, $pass);
// Sélection de la base
mysql_select_db($base,$idConn) or die(mysql_error());
?>
2) le formulaire :
dans ton formulaire, action n'est pas déclaré :
<form id="formun" name="formun" method="post" action="envoi.php">
(si ton fichier s'appelle envoi.php)
3) envoi.php :
voici ce que je ferais :
<?php
// Connexion avec fichier include
include('connexion/connexion_inc.php');
// -- on récupère les champs --
if(isset($_POST['nom'])) $nom = $_POST['nom'];else $nom="";
if(isset($_POST['prenom'])) $prenom = $_POST['prenom'];else $prenom="";
if(isset($_POST['DateNaiss'])) $DateNaiss = $_POST['DateNaiss'];else $DateNaiss="";
if(isset($_POST['LieuNaiss'])) $LieuNaiss = $_POST['LieuNaiss'];else $LieuNaiss="";
if(isset($_POST['PrenomPere'])) $PrenomPere = $_POST['PrenomPere'];else $PrenomPere="";
if(isset($_POST['PrenomMere'])) $PrenomMere = $_POST['PrenomMere'];else $PrenomMere="";
if(isset($_POST['NomMere'])) $NomMere = $_POST['NomMere'];else $NomMere="";
if (empty($prenom)) {
ECHO $message = 'Attention, le champ Prénom est obligatoire.';
}
else {
$req = "INSERT INTO
fichierglobal('id', 'nom', 'prenom', 'DateNaiss', 'LieuNaiss', 'PrenomPere', 'PrenomMere', 'NomMere')
VALUES('', '$nom', '$prenom', '$DateNaiss', '$LieuNaiss', '$PrenomPere', '$PrenomMere', '$NomMere')";
mysql_query($req)or die('Erreur SQL !'.$req.'<br>'.mysql_error());
header('Location: merci.php');
}
// fermeture de la connexion vers Mysql
mysql_close();
?>
4) redirection :
il faut que merci.php soit bien dans le même dossier que envoi.php, sinon a toi de revoir l'adresse relative ET qu'il n'y ai eu AUCUN affichage html avant, balises comprises, sinon la fonction n'est pas exécutée, en clair que rien ne soit envoyé à l'utilisateur.
je me demande donc si ton ECHO $message = 'Attention, le champ Prénom est obligatoire.'; ne poserais pas probleme
5) euh, j'abandonne la, on m'appelle... regarde ca dejà ;-)
j'ai revu tes fichiers, voila mes commentaires, sans garantie 100% de résultat... :
1) connexion_inc.php :
dans ton fichier de connexion , il me semble qu'il manque (en gras) :
<?php
--------------------------------------------------------
// Paramètres de la connexion
$hote = 'localhost';
$login = 'root';
$pass = '';
$base = 'xxxxx';
// Connexion
$idConn = mysql_connect($hote, $login, $pass);
// Sélection de la base
mysql_select_db($base,$idConn) or die(mysql_error());
?>
2) le formulaire :
dans ton formulaire, action n'est pas déclaré :
<form id="formun" name="formun" method="post" action="envoi.php">
(si ton fichier s'appelle envoi.php)
3) envoi.php :
voici ce que je ferais :
<?php
// Connexion avec fichier include
include('connexion/connexion_inc.php');
// -- on récupère les champs --
if(isset($_POST['nom'])) $nom = $_POST['nom'];else $nom="";
if(isset($_POST['prenom'])) $prenom = $_POST['prenom'];else $prenom="";
if(isset($_POST['DateNaiss'])) $DateNaiss = $_POST['DateNaiss'];else $DateNaiss="";
if(isset($_POST['LieuNaiss'])) $LieuNaiss = $_POST['LieuNaiss'];else $LieuNaiss="";
if(isset($_POST['PrenomPere'])) $PrenomPere = $_POST['PrenomPere'];else $PrenomPere="";
if(isset($_POST['PrenomMere'])) $PrenomMere = $_POST['PrenomMere'];else $PrenomMere="";
if(isset($_POST['NomMere'])) $NomMere = $_POST['NomMere'];else $NomMere="";
if (empty($prenom)) {
ECHO $message = 'Attention, le champ Prénom est obligatoire.';
}
else {
$req = "INSERT INTO
fichierglobal('id', 'nom', 'prenom', 'DateNaiss', 'LieuNaiss', 'PrenomPere', 'PrenomMere', 'NomMere')
VALUES('', '$nom', '$prenom', '$DateNaiss', '$LieuNaiss', '$PrenomPere', '$PrenomMere', '$NomMere')";
mysql_query($req)or die('Erreur SQL !'.$req.'<br>'.mysql_error());
header('Location: merci.php');
}
// fermeture de la connexion vers Mysql
mysql_close();
?>
4) redirection :
il faut que merci.php soit bien dans le même dossier que envoi.php, sinon a toi de revoir l'adresse relative ET qu'il n'y ai eu AUCUN affichage html avant, balises comprises, sinon la fonction n'est pas exécutée, en clair que rien ne soit envoyé à l'utilisateur.
je me demande donc si ton ECHO $message = 'Attention, le champ Prénom est obligatoire.'; ne poserais pas probleme
5) euh, j'abandonne la, on m'appelle... regarde ca dejà ;-)
est ce que ca ne viendrait pas des parametres de ton fichier conexion_inc.php ?
Hello Gryzzly,
Pour le moment, je suis en local et mes autres requetes, (du style, j'affiche des données de ma base sql) fonctionnent.
Je ne pense pas que cela vienne de là.
<?php
--------------------------------------------------------
// Paramètres de la connexion
$hote = 'localhost';
$login = 'root';
$pass = '';
$base = 'xxxxx';
// Connexion
$idConn = mysql_connect($hote, $login, $pass);
// Sélection de la base
mysql_select_db($base) or die(mysql_error());
?>
ed
Pour le moment, je suis en local et mes autres requetes, (du style, j'affiche des données de ma base sql) fonctionnent.
Je ne pense pas que cela vienne de là.
<?php
--------------------------------------------------------
// Paramètres de la connexion
$hote = 'localhost';
$login = 'root';
$pass = '';
$base = 'xxxxx';
// Connexion
$idConn = mysql_connect($hote, $login, $pass);
// Sélection de la base
mysql_select_db($base) or die(mysql_error());
?>
ed
alors je pense que ca vient du formulaire en lui même, pas la partie sql qui me semble correcte. donne nous ton code qu'on regarde
bon, perso je bloque... mes courtes connaissances ne doivent pas être suffisantes. mais je suis sur que qq'un va trouver!
Je peux fournir deux indications de "test"
1- le message "attention le champ.... est obligatoire" s'affiche alors que je n'ai pas encore pressé le bouton "Ajouter"...
2- après validation par "Ajouter", leformulaire se vide des informations et n'est pas redirigé vers la page "merci.php".
Déjà ces deux points sont un pb.
Merci
ed
1- le message "attention le champ.... est obligatoire" s'affiche alors que je n'ai pas encore pressé le bouton "Ajouter"...
2- après validation par "Ajouter", leformulaire se vide des informations et n'est pas redirigé vers la page "merci.php".
Déjà ces deux points sont un pb.
Merci
ed
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le formulaire ressemble à ceci:
<form id="formun" name="formun" method="post" action="">
<table >
<tr >
<td >Nom :</td>
<td ><select name="nom" id="nom">
<?php
//-------------------------------------------------------------------------
// La boucle d'affichage des patros dans le menu déroulant commence ici...
while ($aPatro = mysql_fetch_array($resPatro)) {
?>
<option value="<?php echo $aPatro['idPatro']; ?>"><?php echo $aPatro['nom']; ?></option>
<?php
}
//-------------------------------------------------------------------------
?>
</select>
</td>
<td >Prénom :</td><td><input type="text" id="prenom" value="" size=25></td>
</tr>
<tr>
<td>Date Naissance :</td><td><input type="text" id="DateNaiss" value="" size=25></td>
<td>Lieu Naissance :</td><td><input type="text" id="LieuNaiss" value="" size=25></td>
</tr>
<tr>
<td>Prénom du Père :</td><td><input type="text" id="PrenomPere" value="" size=22></td>
</tr>
<tr>
<td>Prénom de la Mère :</td><td><input type="text" id="PrenomMere" value="" size=22></td>
<td>Nom de la Mère :</td><td><input type="text" id="NomMere" value="" size=22></td>
</tr>
<tr >
<td ><input type="submit" name="boutonAjouter" id="boutonAjouter" value="Ajouter" /></td><td class="attention" ><?php if (isset($message)) echo $message;?></td>
</tr>
</table>
Merci encore de votre aide
ed
<form id="formun" name="formun" method="post" action="">
<table >
<tr >
<td >Nom :</td>
<td ><select name="nom" id="nom">
<?php
//-------------------------------------------------------------------------
// La boucle d'affichage des patros dans le menu déroulant commence ici...
while ($aPatro = mysql_fetch_array($resPatro)) {
?>
<option value="<?php echo $aPatro['idPatro']; ?>"><?php echo $aPatro['nom']; ?></option>
<?php
}
//-------------------------------------------------------------------------
?>
</select>
</td>
<td >Prénom :</td><td><input type="text" id="prenom" value="" size=25></td>
</tr>
<tr>
<td>Date Naissance :</td><td><input type="text" id="DateNaiss" value="" size=25></td>
<td>Lieu Naissance :</td><td><input type="text" id="LieuNaiss" value="" size=25></td>
</tr>
<tr>
<td>Prénom du Père :</td><td><input type="text" id="PrenomPere" value="" size=22></td>
</tr>
<tr>
<td>Prénom de la Mère :</td><td><input type="text" id="PrenomMere" value="" size=22></td>
<td>Nom de la Mère :</td><td><input type="text" id="NomMere" value="" size=22></td>
</tr>
<tr >
<td ><input type="submit" name="boutonAjouter" id="boutonAjouter" value="Ajouter" /></td><td class="attention" ><?php if (isset($message)) echo $message;?></td>
</tr>
</table>
Merci encore de votre aide
ed
<?php
--------------------------------------------------------
// Paramètres de la connexion
$hote = 'localhost';
$login = 'root';
$pass = '';
$base = 'xxxxx';
// Connexion
$idConn = mysql_connect($hote, $login, $pass);
// Sélection de la base
mysql_select_db($base) or die(mysql_error());
?>
il manque le nom de ta base !
mysql_select_db('nom_de_la _base',$db)
--------------------------------------------------------
// Paramètres de la connexion
$hote = 'localhost';
$login = 'root';
$pass = '';
$base = 'xxxxx';
// Connexion
$idConn = mysql_connect($hote, $login, $pass);
// Sélection de la base
mysql_select_db($base) or die(mysql_error());
?>
il manque le nom de ta base !
mysql_select_db('nom_de_la _base',$db)