Ptite question sur les Sessions / question sur 1 vilain form
Posté : 17 mars 2005, 17:02
Bonjour tout le monde !!
Bon, voilà, j'ai 2 petites questions à vous poser :
1) Les variables de sessions vous parraissent-elles suffisantes au niveau sécurité pour stocker un mot de passe et un login ? ou faut-il faire autrement ?
Truc du type :
2) Ca n'a rien à voir, je sais, mais bon, je m'interroge..!
Je suis en train d'essayer de créer une boutique en ligne (projet), et j'en suis au moment où l'utilisateur saisit ses coordonnées. Bon ! Là, soit c'est un particulier qui commande pour lui, soit n'importa qui d'autre qui veut se faire livrer ailleurs qu'à son adresse de facturation. Vous me suivez ?
Bon.
Donc, dans ce cas précis, on clique sur un lien qui affiche une autre page avec un formulaire qui complète le premier en intégrant des champs permettant la saisie de l'adresse de livraison. Ca va toujours
Eh ben, croyez-le ou non, mais mon script (qui visiblement ne fonctionne pas), ne prend en compte que la première partie du formulaire ! Que ce soit sur les tests des champs ou dans la base, les seules infos disponibles sont celles de la première partie du form.
Un bout de code ? Ok !
Bref, un petit éclairage de lanterne serait le bienvenu !!
Avis aux âmes charitables !!
Bon, voilà, j'ai 2 petites questions à vous poser :
1) Les variables de sessions vous parraissent-elles suffisantes au niveau sécurité pour stocker un mot de passe et un login ? ou faut-il faire autrement ?
Truc du type :
session_start();
if(($email=="monemail@domain")AND($pass=="pass"))
{
$_SESSION['email']=$email;
$_SESSION['statut']="admin";
header("Location:index.php");
}
else
{
$erreurlog=1;
}
Voilà pour la première question.2) Ca n'a rien à voir, je sais, mais bon, je m'interroge..!
Je suis en train d'essayer de créer une boutique en ligne (projet), et j'en suis au moment où l'utilisateur saisit ses coordonnées. Bon ! Là, soit c'est un particulier qui commande pour lui, soit n'importa qui d'autre qui veut se faire livrer ailleurs qu'à son adresse de facturation. Vous me suivez ?
Donc, dans ce cas précis, on clique sur un lien qui affiche une autre page avec un formulaire qui complète le premier en intégrant des champs permettant la saisie de l'adresse de livraison. Ca va toujours
Eh ben, croyez-le ou non, mais mon script (qui visiblement ne fonctionne pas), ne prend en compte que la première partie du formulaire ! Que ce soit sur les tests des champs ou dans la base, les seules infos disponibles sont celles de la première partie du form.
Un bout de code ? Ok !
# initialisation des variables du 1er formulaire
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$nomEntr=$_POST['nomEntr'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$cp=$_POST['cp'];
$tel=$_POST['tel'];
$FORMemail=$_POST['FORMemail'];
$FORMpass=$_POST['FORMpass'];
$FORMpass2=$_POST['FORMpass2'];
// initialisation des variables du 2e formulaire (2e adresse)
$nomF=$_POST['nomF'];
$prenomF=$_POST['prenomF'];
$nomEntrF=$_POST['nomEntrF'];
$adresseF=$_POST['adresseF'];
$villeF=$_POST['villeF'];
$cpF=$_POST['cpF'];
$telF=$_POST['telF'];
// ça c'est juste pour les champs
Et les tests : if (isset ($_POST['Submit'])){
if (empty ($nom)){
print("Formulaire incomplet : veuillez saisir votre nom<br> <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty($prenom)){
print("Formulaire incomplet : veuillez saisir votre prenom<br> <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($nomEntr)){
print("Formulaire incomplet : veuillez saisir la raison sociale de l'entreprise<br> <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($adresse)){
print("Formulaire incomplet : veuillez saisir votre adresse <br> <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($ville)){
print("Formulaire incomplet : veuillez entrer votre ville, <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($cp)){
print("Formulaire incomplet : veuillez saisir votre code postal (5 chiffres), <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($tel)){
print("Formulaire incomplet : veuillez entrer votre numéro de téléphone, il nous est indispensable pour vous joindre en cas de problème. <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($FORMemail)){
print("Formulaire incomplet : veuillez entrer votre mail. <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (!(eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $FORMemail))) {
echo ("L'adresse est invalide, veuillez re-saisir votre adresse, svp<br><a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($FORMpass)){
print("Formulaire incomplet : veuillez entrer un mot de passe (minimum 6 caractères). <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (!($FORMpass2=$FORMpass)){
print("Vous devez entrer le même mot de passe...<a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($nomF)){
print("Formulaire incomplet : veuillez entrer le nom dans la section adresse de livraison<br> <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($prenomF)){
print("Formulaire incomplet : veuillez entrer le prénom dans la section adresse de livraison<br> <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($nomEntrF)){
print("Formulaire incomplet : veuillez saisir la raison sociale de l'entreprise dans la section adresse de livraison<br> <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($adresseF)){
print("Formulaire incomplet : veuillez saisir l'adresse de livraison <br> <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($villeF)){
print("Formulaire incomplet : veuillez saisir la ville de livraison, <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($cpF)){
print("Formulaire incomplet : veuillez saisir le code postal (5 chiffres) de l'adresse de livraison, <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
elseif (empty ($telF)){
print("Formulaire incomplet : veuillez entrer le numéro de téléphone de l'adresse de livraison, il nous est indispensable pour vous joindre en cas de problème. <a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
exit;
}
}
Je n'y comprends rien de rien, le fait qu'il y ait plusieurs champs sur une ligne chage-t-il quelque chose?Bref, un petit éclairage de lanterne serait le bienvenu !!
Avis aux âmes charitables !!