Problème de récupération en formulaire
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
A voir également:
- Problème de récupération en formulaire
- Récupération de déchets - Guide
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Convertisseur récupération de texte - Guide
25 réponses
Dans ta 2ème page tu récupère bien les noms et prénoms?
Donc je ne comprend pas bien ce que tu veux faire? Si tu veux garder ces données tu crée une session ou tu passe tes données dans l'url (page.php?nom=$nom&prenom=&prenom).
//nom $nom = $_POST["nomclt"] ; //prenom $prenom = $_POST["prenomclt"] ;
Donc je ne comprend pas bien ce que tu veux faire? Si tu veux garder ces données tu crée une session ou tu passe tes données dans l'url (page.php?nom=$nom&prenom=&prenom).
Utilisateur anonyme
Excuse moi, merci de m'avoir répondu, vu que c'est assez urgent, ça soulage d'avoir des réponses.
bah, en gros je veux que le nom et le prénom soient repris directement dans la base de données, par rapport à l'enregistrement de la première page, comme une session en gros, mais je ne sais pas comment faire une session.
Sinon, pour le deuxième script, je n'arrive pas à le faire fonctionner, je comprend pas... je vois vraiment pas où sont mes erreurs, ça fait rien du tout, j'ai testé avec des echo et ça marchait partout les echos en reprenant tout ce qui avait après le echo à chaque fois.
Je pense qu'une fois la deuxième page au point, le reste je pourrais me débrouiller.
Sinon, pour le deuxième script, je n'arrive pas à le faire fonctionner, je comprend pas... je vois vraiment pas où sont mes erreurs, ça fait rien du tout, j'ai testé avec des echo et ça marchait partout les echos en reprenant tout ce qui avait après le echo à chaque fois.
Je pense qu'une fois la deuxième page au point, le reste je pourrais me débrouiller.
Pour récupérer de la base de donnée? En gros tu veux vérifier si les infos données dans le formulaire sont déjà contenues dans la base?
Pourquoi tu ne fais pas ton formulaire en un seul coup plutôt que d'en faire 2?
Pourquoi tu ne fais pas ton formulaire en un seul coup plutôt que d'en faire 2?
Bah en faite je voulais le faire en un, mais j'arrive pas à faire les 2 INSERT INTO ( celui dans client et celui dans reservation)
donc j'ai voulu voir si en 2 ça allait, mais j'ai eu un autre problème, celui où il ne se passe rien du tout avec le script de la 2eme page.
de toute façon comme je l'ai dit plus haut, en un ou en deux ça me va, mais je dois avoir ces deux requêtes différentes, sachant que je ne peux pas modifier les tables (genre mettre tout sur la même table)
Partout où ils parlaient de deux requêtes dans le même script, ils disaient que c'était impossible, donc j'essaie avec deux séparés. Mais le 2eme ne fonctionne pas du tout et je ne comprend pas pourquoi...
donc j'ai voulu voir si en 2 ça allait, mais j'ai eu un autre problème, celui où il ne se passe rien du tout avec le script de la 2eme page.
de toute façon comme je l'ai dit plus haut, en un ou en deux ça me va, mais je dois avoir ces deux requêtes différentes, sachant que je ne peux pas modifier les tables (genre mettre tout sur la même table)
Partout où ils parlaient de deux requêtes dans le même script, ils disaient que c'était impossible, donc j'essaie avec deux séparés. Mais le 2eme ne fonctionne pas du tout et je ne comprend pas pourquoi...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bien sûr que tu peux faire deux requêtes en un seul script :
Ca ne résout pas tout mais ça facilite les choses ; d'un coté tu gère ton formulaire, de l'autre tu récupère tes données et tu fais tes requêtes...
$sql1="INSERT INTO ..."; $sql2="INSERT INTO ..."; mysql_query($sql1) or die(mysql_error()); mysql_query($sql2) or die(mysql_error());
Ca ne résout pas tout mais ça facilite les choses ; d'un coté tu gère ton formulaire, de l'autre tu récupère tes données et tu fais tes requêtes...
J'avais déjà tenté, je les avais placé en dessous du premier pour chaque, et ça n'avait pas fonctionné, comment faut il les placer, à cause des 'If' je m'y perd -_-
mais je vais tenter quand même vite fait, voir si y'a moyen ; c'est sur que ça résout pas tout mais ça me fera avancer.
Merci encore de tes réponses :)
mais je vais tenter quand même vite fait, voir si y'a moyen ; c'est sur que ça résout pas tout mais ça me fera avancer.
Merci encore de tes réponses :)
Si tu n'as pas de problème avec ta première page ajoute les champs manquants du formulaire à la suite.
Puis pour la 2ème requête tu l'exécute juste après la première. Ça ne devrait pas te poser de problème. Si tu t'embrouille, le plus simple est de reprendre depuis le début surtout que ton code est bien commenté.
Puis pour la 2ème requête tu l'exécute juste après la première. Ça ne devrait pas te poser de problème. Si tu t'embrouille, le plus simple est de reprendre depuis le début surtout que ton code est bien commenté.
Mhhh, bizarre, je viens de le faire en un script, mais cette fois c'est l'inverse qui se produit, script 1 qui marche pas et 2 qui marche sans message d'erreur...
Compliqué ce PHP hein o:p
Compliqué ce PHP hein o:p
Essaie de faire après chaque requête un
echo $sql;Cela te permettra de tester ta requête directement sous mysql en récupérant ce qui s'affiche à l'écran...
Ce qui veut dire qu'à l'écran tu as : aINSERT...a?
Si c'est le cas copie colle dans mysql et regarde si ta requête s'exécute correctement...
Si c'est le cas copie colle dans mysql et regarde si ta requête s'exécute correctement...
Nonon rien s'affiche à l'écran mais je commence à me demander si ça viendrait pas du codeclt, vu que c'est un auto incrementé, peut être qu'il ne peut pas aller dans les deux à la fois...
à l'écran ça me ramène à la page d'accueil, et dans la base y'a que reservation qui a été rempli et pas client alors qu'avant c'était l'inverse...
à l'écran ça me ramène à la page d'accueil, et dans la base y'a que reservation qui a été rempli et pas client alors qu'avant c'était l'inverse...
C'est-à-dire? Tu as quoi à l'écran? Ton formulaire, une page blanche, une requête affichée, ta page d'accueil???
j'ai la page d'accueil normal, sans message d'erreur ni rien, mais pourtant ça transfert pas dans la base de données (juste pour client, reservation ça marche)
je t'envoie le code, t'y verra ptet plus clair :
<?php
// on teste si le visiteur a soumi le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
$base = mysql_connect ('127.0.0.1', 'root', '');
mysql_select_db ('voyage', $base);
//récupération des valeurs des champs
//civilité
$civ = $_POST["civ"] ;
//nom
$nom = $_POST["nomclt"] ;
//prenom
$prenom = $_POST["prenomclt"] ;
//adresse
$adresse = $_POST["adresseclt"] ;
//ville
$ville = $_POST["villeclt"] ;
//code postal
$cp = $_POST["CPclt"] ;
//code voyage
$codedevoy = $_POST["codedevoy"] or die('Erreur SQL !');
//nombre d'enfants
$nb_enfants = $_POST["nb_enfants"] or die('Erreur SQL !');
//nombre d'adultes
$nb_adultes = $_POST["nb_adultes"] or die('Erreur SQL !');
//création de la requête SQL:
$sql1 = "INSERT INTO client ( codeclt, nomclt, prenomclt, adresseclt, cpclt, villeclt, codeagent)
VALUES ( '', '$nom', '$prenom', '$adresse', '$cp', '$ville', '')" ;
$sql2 = ("INSERT INTO reservation (codedeclt, codedevoy, paye, nb_enfants, nb_adultes)
VALUES ( '', '$codedevoy', '', '$nb_enfants', '$nb_adultes') ");
// on recherche si ces nom et prénom sont déjà utilisé par un autre client
$sql1 = 'SELECT count(*) FROM client WHERE nomclt ="'.mysql_escape_string($_POST['nom']).'" and prenomclt ="'.mysql_escape_string($_POST['prenom']).'"';
$req = mysql_query($sql1) or die('Erreur SQL !'.$sql1.''.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql1 = 'INSERT INTO client VALUES("", "'.mysql_escape_string(($_POST['nom'])).'"
, "'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string($_POST['adresse']).'", "'.mysql_escape_string($_POST['CP']).'"
, "'.mysql_escape_string($_POST['ville']).'", "")';
$sql2= 'INSERT INTO reservation VALUES("", "'.mysql_escape_string($_POST['codedevoy']).'", "",
"'.mysql_escape_string($_POST['nb_enfants']).'","'.mysql_escape_string(($_POST['nb_adultes'])).'")';
mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br/>'.mysql_error());
$_SESSION['login'] = $_POST['login'];
header('Location: Accueil.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ces nom et prénom. Veuillez en choisir un autre.';
}
}
?>
<!-- début partie HTML -->
<?php
include ("Entete.php");
?>
<?php
include ("menu.php");
$menu = affiche_menu();
?>
<?php
echo $menu;
?>
<div id="corps">
<h1>Inscrivez-vous</h1>
<h2>Inscription à l'agence de voyage PARTIR</h2>
L'adhésion à l'espace membre du site de l'agence Partir vous permettra de réserver vos billets pour votre déstination.<br />
<table border = 0>
<form method="post">
<tr><td>Civilite :</td><td>
<input type="radio" name="civ" value="Mme">Mme
<input type="radio" name="civ" value="Mlle">Mlle
<input type="radio" name="civ" value="Mr">Mr
</td></tr>
<tr><td>Nom : </td><td><input type="text" name="nom" value=""></td></tr>
<tr><td>Prénom : </td><td><input type="text" name="prenom" value=""></td></tr>
<tr><td>Adresse : </td><td><input type="text" name="adresse" value="" size="25"></td></tr>
<tr><td>Ville : </td><td><input type="text" name="ville" value=""></td></tr>
<tr><td>Code Postal : </td><td><input type="text" name="CP" value="" size="5" maxlenght="5"></td></tr>
<tr><td>Pour :</td></tr>
<tr><td>Nombre d'adultes : </td><td><input type="text" name="nb_adultes" value=""></td></tr>
<tr><td>Nombre d'enfants : </td><td><input type="text" name="nb_enfants" value=""></td></tr>
<tr><td>Code du voyage* : </td><td><input type="text" name="codedevoy" value=""></td></tr>
<font size=1>* Voir dans le tableau des déstinations.</font>
<tr><td><input type="submit" name="inscription" value="Inscription" id="btn"></td><td><input type="reset" name ="effacer" value="Effacer"></td></tr>
</form></table>
<font size ="1">(Tous les champs sont obligatoires)</font>
<br/><br/>
</div>
<?php
include ("Pied_de_page.php");
?>
<?php
// on teste si le visiteur a soumi le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
$base = mysql_connect ('127.0.0.1', 'root', '');
mysql_select_db ('voyage', $base);
//récupération des valeurs des champs
//civilité
$civ = $_POST["civ"] ;
//nom
$nom = $_POST["nomclt"] ;
//prenom
$prenom = $_POST["prenomclt"] ;
//adresse
$adresse = $_POST["adresseclt"] ;
//ville
$ville = $_POST["villeclt"] ;
//code postal
$cp = $_POST["CPclt"] ;
//code voyage
$codedevoy = $_POST["codedevoy"] or die('Erreur SQL !');
//nombre d'enfants
$nb_enfants = $_POST["nb_enfants"] or die('Erreur SQL !');
//nombre d'adultes
$nb_adultes = $_POST["nb_adultes"] or die('Erreur SQL !');
//création de la requête SQL:
$sql1 = "INSERT INTO client ( codeclt, nomclt, prenomclt, adresseclt, cpclt, villeclt, codeagent)
VALUES ( '', '$nom', '$prenom', '$adresse', '$cp', '$ville', '')" ;
$sql2 = ("INSERT INTO reservation (codedeclt, codedevoy, paye, nb_enfants, nb_adultes)
VALUES ( '', '$codedevoy', '', '$nb_enfants', '$nb_adultes') ");
// on recherche si ces nom et prénom sont déjà utilisé par un autre client
$sql1 = 'SELECT count(*) FROM client WHERE nomclt ="'.mysql_escape_string($_POST['nom']).'" and prenomclt ="'.mysql_escape_string($_POST['prenom']).'"';
$req = mysql_query($sql1) or die('Erreur SQL !'.$sql1.''.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql1 = 'INSERT INTO client VALUES("", "'.mysql_escape_string(($_POST['nom'])).'"
, "'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string($_POST['adresse']).'", "'.mysql_escape_string($_POST['CP']).'"
, "'.mysql_escape_string($_POST['ville']).'", "")';
$sql2= 'INSERT INTO reservation VALUES("", "'.mysql_escape_string($_POST['codedevoy']).'", "",
"'.mysql_escape_string($_POST['nb_enfants']).'","'.mysql_escape_string(($_POST['nb_adultes'])).'")';
mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br/>'.mysql_error());
$_SESSION['login'] = $_POST['login'];
header('Location: Accueil.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ces nom et prénom. Veuillez en choisir un autre.';
}
}
?>
<!-- début partie HTML -->
<?php
include ("Entete.php");
?>
<?php
include ("menu.php");
$menu = affiche_menu();
?>
<?php
echo $menu;
?>
<div id="corps">
<h1>Inscrivez-vous</h1>
<h2>Inscription à l'agence de voyage PARTIR</h2>
L'adhésion à l'espace membre du site de l'agence Partir vous permettra de réserver vos billets pour votre déstination.<br />
<table border = 0>
<form method="post">
<tr><td>Civilite :</td><td>
<input type="radio" name="civ" value="Mme">Mme
<input type="radio" name="civ" value="Mlle">Mlle
<input type="radio" name="civ" value="Mr">Mr
</td></tr>
<tr><td>Nom : </td><td><input type="text" name="nom" value=""></td></tr>
<tr><td>Prénom : </td><td><input type="text" name="prenom" value=""></td></tr>
<tr><td>Adresse : </td><td><input type="text" name="adresse" value="" size="25"></td></tr>
<tr><td>Ville : </td><td><input type="text" name="ville" value=""></td></tr>
<tr><td>Code Postal : </td><td><input type="text" name="CP" value="" size="5" maxlenght="5"></td></tr>
<tr><td>Pour :</td></tr>
<tr><td>Nombre d'adultes : </td><td><input type="text" name="nb_adultes" value=""></td></tr>
<tr><td>Nombre d'enfants : </td><td><input type="text" name="nb_enfants" value=""></td></tr>
<tr><td>Code du voyage* : </td><td><input type="text" name="codedevoy" value=""></td></tr>
<font size=1>* Voir dans le tableau des déstinations.</font>
<tr><td><input type="submit" name="inscription" value="Inscription" id="btn"></td><td><input type="reset" name ="effacer" value="Effacer"></td></tr>
</form></table>
<font size ="1">(Tous les champs sont obligatoires)</font>
<br/><br/>
</div>
<?php
include ("Pied_de_page.php");
?>