Problème de récupération en formulaire

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour, alors voilà mon problème, j'ai une page où j'ai toutes les informations clients, et j'aimerais récupérer de la page (ou de la base de données) le nom et prénom, qui servirait en gros d'identifiant pour ma deuxième page [Formulaire en 2 pages]
je vais vous montrer concrètement, mais si vous avez un semblant de réponse hésitez pas, il me faut ça pour demain.

1ere page :
<?php
// on teste si le visiteur a soumi le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on test l'existence de nos variables. On test également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['mot_de_passe']) && !empty($_POST['mot_de_passe'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on test les deux mots de passe
if ($_POST['mot_de_passe'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents. Veuillez resaisir les mots de passe';
}
else {
$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"] ;
// Login
$login = $_POST["login"];
//Mot de passe
$Mot_de_passe = $_POST["mot_de_passe"];
//création de la requête SQL:
$sql = "INSERT INTO client ( codeclt, login, mot_de_passe, nomclt, prenomclt, adresseclt, cpclt, villeclt, codeagent)
VALUES ( '', '$login', '$Mot_de_passe', '$nom', '$prenom', '$adresse', '$cp', '$ville', '') " ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo("L'inscription a été correctement effectuée !") ;
}
else
{
echo(" Erreur. L'inscription a echouée") ;
}
// on recherche si ce login est déjà utilisé par un autre client
$sql = 'SELECT count(*) FROM client WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO client VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['mot_de_passe'])).'", "'.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']).'", "")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br/>'.mysql_error());
$_SESSION['login'] = $_POST['login'];
header('Location: dest.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login. Veuillez en choisir un autre.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide. Veuillez verifier si tous les champs sont remplis.';
}
}
?>
<!-- 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 -1/2-</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 action="inscription.php" 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>Login :</td><td><input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>" id="for"></td></tr>
<tr><td>Mot de passe : </td><td><input type="password" name="mot_de_passe" value="<?php if (isset($_POST['mot_de_passe'])) echo htmlentities(trim($_POST['mot_de_passe'])); ?>" id="for"></td></tr>
<tr><td>Confirmation : </td><td><input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>" id="for"></td></tr>
<tr><td><input type="submit" name="inscription" value="Inscription" id="btn"></td><td><input type="reset" name ="effacer" value="Effacer"></td></tr>
</form></table>
<!-- message d'erreur -->
<?php
if (isset($erreur)) echo '<br/>',$erreur;
?>

<br/><br/>
</div>
<?php
include ("Pied_de_page.php");
?>

2eme page :
<? php
$base = mysql_connect ('127.0.0.1', 'root', '');
mysql_select_db ('voyage', $base);

//récupération des valeurs des champs
//Confirm Nom
$nom = $_POST["nomclt"];
//Confirm Prénom
$prenom = $_POST["prenomclt"];
//code voyage
$codedevoy = $_POST["codedevoy"];
//nombre d'enfants
$nb_enfants = $_POST["nb_enfants"];
//nombre d'adultes
$nb_adultes = $_POST["nb_adultes"];
//création de la requête SQL:
$echo "coucou"
$sql = mysql_query("INSERT INTO reservation (codedeclt, codedevoy, paye, nb_enfants, nb_adultes)
VALUES ( '', '$codedevoy','', '$nb_enfants', '$nb_adultes') ") ;

$sql = 'INSERT INTO reservation VALUES(("", "'.mysql_escape_string($_POST['codedevoy']).'", "",
"'.mysql_escape_string($_POST['nb_enfants']).'","'.mysql_escape_string(($_POST['nb_adultes'])).'")';

?>
<?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 -2/2-</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 action="dest.php" method="post">
<tr><td>Confirmation du :</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>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="valider" value="valider" id="btn"></td><td><input type="reset" name ="effacer" value="Effacer"></td></tr>
</form></table>
<?php
if (isset($erreur)) echo '<br/>',$erreur;
?>

</div>
<?php
include ("Pied_de_page.php");
?>


En même temps si vous voyez des erreurs, hésitez pas à m'en faire part, je débute en php et j'ai assez peu de connaissances en html, donc voilà, merci pour votre aide :)

Les login/mot_de_passe devraient être supprimé, donc voilà pourquoi je préfèrerais avoir nom et prénom comme 'pseudoidentifiant' et sinon codeclt est auto incrementé, ce qui me pose pas mal de soucis.

J'ai oublié de dire, le deuxième script ne marche pas, il n'affiche aucune erreur, mais n'enregistre rien dans la base non plus ; et les deux scripts associés, seul le script du premier fonctionne.



25 réponses

Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Essaye ça, j'ai bidouillé un peu...



<?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
	$sql3 = 'SELECT count(*) FROM client WHERE nomclt ="'.mysql_escape_string($_POST['nom']).'" and prenomclt ="'.mysql_escape_string($_POST['prenom']).'"';
	$req = mysql_query($sql3) or die('Erreur SQL !'.$sql1.''.mysql_error());
	$data = mysql_fetch_array($req);

	if ($data[0] == 0) 
	{
		mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br/>'.mysql_error());
		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");
include ("menu.php");
$menu = affiche_menu();

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");
?>

0
Utilisateur anonyme
 
ça y'est j'ai trouvé,

$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']).'", "")';
----------mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br/>'.mysql_error()); -------------
$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()); ------------
J'en avais qu'un je croyais que c'était celui du haut qui comptait pour le 1
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Oui et tu appelle aussi 2 requêtes différentes $sql1...
0
Utilisateur anonyme
 
ouais j'ai réctifié ça, je dois y aller, merci beaucoup de ton aide, sans toi j'aurais encore stagné pendant 10heures lol
bon y'a d'autres petits problème : codeclt qui est pas le meme dans la table client que reservation et le ' ' de paye qui devrait etre par défaut Non, mais qui est vide... mais bon, je dois partir, si tu sais comment faire, je veux bien que tu me dises, je verrais ce soir.
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Pour paye si tu as mis Non par défaut dans ta table, au moment de l'insertion remplace '' par NULL
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
ça ne fonctionne, et copier une auto_increment d'une table à l'autre s'pas facile
0