INSERT puis UPDATE

bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008 - 10 août 2003 à 15:56
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 - 11 août 2003 à 00:23
Salut j'ai un formulaire d'inscription qui aurait pu se réduire à une page mais pour des soucis d'esthetique je l'ai divisé en deux form_inscr.php et form_inscr.php. Je me sert aussi de inscription.php(?etape= 1 ou 2) pour valider les formulaire : voici sont code :
<?php
include('config.php');
switch ($etape)
{
case "1" :
@mysql_query("INSERT INTO membres_tbl (id, adresse, civilite, codepostal, email, identifiant, motdepasse, nom, pays, prenom, ville) VALUES ('', '$_POST[adresse]', '$_POST[civilite]', '$_POST[codepostal]', '$_POST[email]', '', '', '$_POST[nom]', '$_POST[pays]', '$_POST[prenom]', '$_POST[ville]')");
@header ('Location: form_inscr2.php');
break;

case "2" :
@mysql_query("UPDATE membres_tbl SET identifiant=$_POST[login], motdepasse=$_POST[password];");
@header ('Location: form_ident.php');
break;
}
?>

mon prob ce trouve au niveau du update je ne sais pas quelle argument mettre pour qu'il remplisse la bonne ligne de ma table et qu'il ne remplisse pas n'importe laqUElle.

8 réponses

eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
10 août 2003 à 17:08
salut

dans ton update, mets

WHERE `id`='$id_du_membre_en_question'

et faut que ton champ id soit un INT unique en auto-increment

dans ton insert, tu peux virer le id, il va se faire tout seul et s'incrémenter à chq nouvelle ligne

:big) Sylvain [[mailto:bitsenfolie@free.fr email]]
0
bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008
10 août 2003 à 17:16
Le prob c ke le visiteur connait pas son id tant qu'il a pas fini
0
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
10 août 2003 à 18:15
tu peux utiliser la fonction mysql_insert_id() qui va te retourner le dernier id créer dans ta base avec la session courante

:big) Sylvain [[mailto:bitsenfolie@free.fr email]]
0
bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008
10 août 2003 à 18:56
Dsl de te saouler avec mon prob mais je l'ai modifié avec mysql_insert_id et ca marche toujours pas.
<?php
include('config.php');
switch ($etape)
{
case "1" :
@mysql_query("INSERT INTO membres_tbl (id, adresse, civilite, codepostal, email, identifiant, motdepasse, nom, pays, prenom, ville) VALUES ('', '$_POST[adresse]', '$_POST[civilite]', '$_POST[codepostal]', '$_POST[email]', '', '', '$_POST[nom]', '$_POST[pays]', '$_POST[prenom]', '$_POST[ville]')");
@header ('Location: form_inscr2.php');
break;

case "2" :
$l_id = mysql_insert_id();
@mysql_query("UPDATE membres_tbl SET identifiant='$_POST[login]', motdepasse='$_POST[password]' WHERE id='$l_id';");
@header ('Location: form_ident.php');
break;
}
?>
Sinon au pire je ferais un formulaire en une partie.
0

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

Posez votre question
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
10 août 2003 à 22:16
ah ouais non c moi y'avait un truc que j'avais pas vu

juste après avoir fait ton insert tu fais un truc du genre
$id_membre=mysql_insert_id();
session_register("id_membre");
et après tu changes de page

ton id sera sauvé sous la variable $_SESSION[id_membre] (respecte les majuscules) pdt toute ta session

:big) Sylvain [[mailto:bitsenfolie@free.fr email]]
0
bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008
10 août 2003 à 22:44
Ca marche topujours pas

<?php
include('config.php');
switch ($etape)
{
case "1" :
@mysql_query("INSERT INTO membres_tbl (id, adresse, civilite, codepostal, email, identifiant, motdepasse, nom, pays, prenom, ville) VALUES ('', '$_POST[adresse]', '$_POST[civilite]', '$_POST[codepostal]', '$_POST[email]', '', '', '$_POST[nom]', '$_POST[pays]', '$_POST[prenom]', '$_POST[ville]')");
$id=mysql_insert_id();
session_start();
session_register("id");
@header ('Location: form_inscr2.php');
break;

case "2" :
@mysql_query("UPDATE membres_tbl SET identifiant=$_POST[login], motdepasse=$_POST[password] WHERE id='$_SESSION[id]';");
@header ('Location: form_ident.php');
break;
}
?>
0
bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008
11 août 2003 à 00:13
C bon grace à ton idée sur les sessions($_SESSION[], session_start()...) j'ai élaboré un autre script qui marche lui par contre mais je c pas ce ke ca vaut en terme de sécurité.
<?php
include('config.php');
switch ($etape)
{
case "1" :
session_start();
session_register("adresse");
session_register("civilite");
session_register("codepostal");
session_register("email");
session_register("nom");
session_register("pays");
session_register("prenom");
session_register("ville");
@header ('Location: form_inscr2.php');
break;

case "2" :
@mysql_query("INSERT INTO membres_tbl (id, adresse, civilite, codepostal, email, identifiant, motdepasse, nom, pays, prenom, ville) VALUES ('', '$_SESSION[adresse]', '$_SESSION[civilite]', '$_SESSION[codepostal]', '$_SESSION[email]', '$_POST[login]', '$_POST[password]', '$_SESSION[nom]', '$_POST[pays]', '$_SESSION[prenom]', '$_SESSION[ville]')");
@header ('Location: form_ident.php');
break;
}
?>
0
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
11 août 2003 à 00:23
ton session_start(); doit etre la première ligne de tous t fichiers php ou tu utilises les sessions c'est à dire ou tu utilise $_SESSION[...]
attention mets le à la première ligne du code (pas de code html avant sinon tu auras une erreur pas jolie)

:big) Sylvain [[mailto:bitsenfolie@free.fr email]]
0
Rejoignez-nous