Ptite question sur les Sessions / question sur 1 vilain form

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ptite question sur les Sessions / question sur 1 vilain form

par Cyrano » 22 mars 2005, 13:14

Ca sert surtout à éviter de passer toutes les conditions en revue si aucun test préliminaire n'est négatif.

par Zurg » 22 mars 2005, 13:06

Mille merci (s) !!

Je vais donc la faire cette pause... (en plus, j'ai faim!!)

Donc si je comprends bien, les champs doivent être les uns sous les autres, (là, ils sont sur un même ligne d'un tableau, 2 par 2)

Dernière question avant le décorticage de ton script: le fait de tout tester ensemble, avant de tester individuellement chaque condition, sert à accélérer le script ?

par Cyrano » 22 mars 2005, 12:57

Oui, regarde, j'ai un peu retouché ton code pour simplifier mais surtout pour t'éviter certains messages d'erreurs:
<?php
session_start();
require_once('../Connection/cnn.php');
# --------------------------------------------

# On teste si le bouton submit a été cliqué
if (isset ($_POST['Submit']))
{
	# 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'];
	/* On liste toutes les conditions obligatoires
	De cette manière, si tout est bon, on sort directement */
	if(empty($nom) || empty($prenom) || empty($nomEntr) || empty($adresse) || empty($ville) || empty($cp) || empty($tel) || empty($FORMemail) || (!(eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $FORMemail))) || (empty ($FORMpass)) || (!($FORMpass2=$FORMpass)) || (empty ($nomF)) || (empty ($prenomF)) || (empty ($nomEntrF)) || (empty ($adresseF)) || (empty ($villeF)) || (empty ($cpF)) || (empty ($telF)))
	{
		/* Au moins une des conditions n'est pas remplie, on traite individuellement chaque condition */
		print("Formulaire incomplet : ");
		if (empty($nom))
		{
			print("veuillez saisir votre nom<br>");
		}
		if(empty($prenom))
		{
			print("veuillez saisir votre prenom<br>");
		}
		if(empty ($nomEntr))
		{
			print("veuillez saisir la raison sociale de l'entreprise<br>");
		}
		if(empty ($adresse))
		{
			print("veuillez saisir votre adresse <br>");
		}
		if(empty ($ville))
		{
			print("veuillez entrer votre ville<br>");
		}
		if(empty ($cp))
		{
			print("veuillez saisir votre code postal (5 chiffres)<br>");
		}
		if(empty ($tel))
		{
			print("veuillez entrer votre numéro de téléphone, il nous est indispensable pour vous joindre en cas de problème.<br>");
		}
		if(empty ($FORMemail))
		{
			print("veuillez entrer votre mail.");
		}
		if(!(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>");
		}
		if(empty ($FORMpass))
		{
			print("veuillez entrer un mot de passe (minimum 6 caractères).<br>");
		}
		if(!($FORMpass2=$FORMpass))
		{
			print("Vous devez entrer le même mot de passe...<a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
		}
		if(empty ($nomF))
		{
			print("veuillez entrer le nom dans la section adresse de livraison<br>");
		}
		if(empty ($prenomF))
		{
			print("veuillez entrer le prénom dans la section adresse de livraison<br>");
		}
		if(empty ($nomEntrF))
		{
			print("veuillez saisir la raison sociale de l'entreprise dans la section adresse de livraison<br>");
		}
		if(empty ($adresseF))
		{
			print("veuillez saisir l'adresse de livraison <br>");
		}
		if(empty ($villeF))
		{
			print("veuillez saisir la ville de livraison<br>");
		}
		if(empty ($cpF))
		{
			print("veuillez saisir le code postal (5 chiffres) de l'adresse de livraison<br>");
		}
		if(empty ($telF))
		{
			print("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<br>");
		}
		print("<a href='javascript:history.go(-1)'>Retour au formulaire</a><br>");
	}
}
# --------------------------------------------
if ($_POST['inscription']=="ok")
{
	# TESTE SI LE MAIL EXISTE

	# selection bdd
	mysql_select_db($database_cnn, $cnn);
	# suppression des espaces
	$FORMemail=trim($FORMemail);
	# vérifie si le mail existe déjà dans la base
	$query_rsClient="SELECT email FROM clients WHERE email='".$FORMemail."'";
	$rsClient=mysql_query($query_rsClient, $cnn);
	$totalRows_rsClient=mysql_num_rows($rsClient);

	# SI LE MAIL N'EXISTE PAS, ENREGISTREMENT DES DONNEES DANS LA TABLE "CLIENT"
	if ($totalRows_rsClient==0)
	{
		$insert="INSERT INTO clients (nom, prenom, nomEntr, adresse, ville, cp, tel, email, pass, nomF, prenomF, nomEntrF, adresseF, villeF, cpF, telF, diff)";
		$insert .="VALUES ('".$nom."', '".$prenom."', '".$adresse."', '".$ville."', '".$cp."', '".$tel."', '".$FORMemail."', '".$FORMpass."', '".$nomF."', '".$prenomF."', '".$nomEntrF."', '".$adresseF."', '".$villeF."', '".$cpF."', '".$telF."', '".diff."')";
		$result1=mysql_query($insert, $cnn);
		$clientID=mysql_insert_id(); # récupère l'identifiant client attribué
		echo $nomF;

		# mémorisation des paramètres dans la session
		$statut="client";
		$_SESSION['clientID']==$clientID;
		$_SESSION['statut']==$statut;
		header("Location:commande.php"); // redirection vers la page commande
	}

	# SI LE MAIL EXISTE DEJA, AFFICHAGE MESSAGE ERREUR
	else
	{
		$erreur_mail=1;

	}
}
?>
L'ordre des choses a une grande importance, j'ai revu la première partie de ton code, mon script fonctionne comme ça. Que tu traites les données ensuite vers la base de données n'a aucune importance puisque on commence par valider ces données avant toute autre manipulation. J'ai fait une autre chose: j'ai viré les "exit" qui arrêtent le code, donc plus rien n'est traité. En faisant de cette manière, je vérifie tout et j'affiche tout, mais seulement les messages opportuns, si la condition est remplie, on passe au test suivant. Ce que je n'ai pas mis, c,est un else{} après le premier if ; si en effet il n'y a pas d'erreur, on passe au traitement.
Tu devrais quand même regarder mon script: fais une pose et décortique le, tu vas voir qu'en fin de compte, c'est très simple et logique.

par Zurg » 22 mars 2005, 12:39

Re !

ben vi, j'ai regardé le script, je m'en inspirerai plus tard...dès que j'aurai compris le pb !

Dans ce cas, le bouton submit n'est pas impliqué, puisqu'il a d'une part le bon attribut "name", et d'autre part, la moitié des variables sont transmises dans la bdd.

La disposition des champs sur une page a-t-elle de l'importance ?

par Cyrano » 22 mars 2005, 12:30

Je ne vois pas d'erreur particulière même si cette méthode ne me semble pas optimale. Je n'ai pas besoin du html, mais vérifie quand même une chose: est-ce que l'attribut "name" de ton bouton "submit" s'appelle bien "Submit" ou tu lui as donné un autre nom du genre "envoi" ou "ok" ?
Si tel était le cas, il serait normal que tu ne récupères rien puisque le traitement que tu as écrit teste la valeur du bouton nommé "Submit"
Sinon, je vais regarder le code de plus près. En attendant, je vais te suggérer une optimisation du code. As-tu regardé le script que je t'ai suggéré au début de ces POSTs ? Je te pose la question parce que là, je me demande ce qui se passera si plus d'une variable n'est pas correcte au traitement.
@ tout à l'heure

par Zurg » 22 mars 2005, 12:20

Très juste :oops: !

Voilà :
<?php session_start();
require_once('../Connection/cnn.php');?>
<?php 
# --------------------------------------------
# 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'];

# Test des champs
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;
	}
}
# --------------------------------------------
if ($_POST['inscription']=="ok")
	{ 
	# TESTE SI LE MAIL EXISTE
	
	# selection bdd
	mysql_select_db($database_cnn, $cnn);
	# suppression des espaces
	$FORMemail=trim($FORMemail);
	# vérifie si le mail existe déjà dans la base
	$query_rsClient="SELECT email FROM clients WHERE email='$FORMemail'";
	$rsClient=mysql_query($query_rsClient, $cnn);
	$totalRows_rsClient=mysql_num_rows($rsClient);
	
	# SI LE MAIL N'EXISTE PAS, ENREGISTREMENT DES DONNEES DANS LA TABLE "CLIENT"
	if ($totalRows_rsClient==0)
		{
			$insert="INSERT INTO clients (nom, prenom, nomEntr, adresse, ville, cp, tel, email, pass, nomF, prenomF, nomEntrF, adresseF, villeF, cpF, telF, diff)";
			$insert .="VALUES ('$nom', '$prenom', '$adresse', '$ville', '$cp', '$tel', '$FORMemail', '$FORMpass', '$nomF', '$prenomF', '$nomEntrF', '$adresseF', '$villeF', '$cpF', '$telF', 'diff')";
			$result1=mysql_query($insert, $cnn);
			$clientID=mysql_insert_id(); # récupère l'identifiant client attribué
			echo $nomF;
			
			# mémorisation des paramètres dans la session
			$statut="client";
			$_SESSION['clientID']==$clientID;
			$_SESSION['statut']==$statut;
			header("Location:commande.php"); // redirection vers la page commande
		}
		
	# SI LE MAIL EXISTE DEJA, AFFICHAGE MESSAGE ERREUR
	else
		{
			$erreur_mail=1;

		}
	}
?>
Je n'ai pas mis le HTML qui suivait, c'est le formulaire...à moins que tu veuilles le voir..

En tout cas, merci de ton aide !

par Cyrano » 22 mars 2005, 11:12

La réponse est dans ton code et sans le voir, je peux difficilement détecter où se trouve l'erreur... :?

par Zurg » 22 mars 2005, 11:03

Salut !

Merci, en effet, il manquait une partie du code, et ces variables ont bien été initialisées au début du script, c'est pourquoi je ne comprends pas pourquoi elles ne sont pas prises en compte...

par Cyrano » 17 mars 2005, 17:47

Ok, je crois que j'ai trouvé ton problème de validation: à moins qu'il manque la première partie du script, tu essayes de valider la valeur de variables de formulaire non initialisées (méthode qu'on utilisatait en php3 pour autant que je sache)
if (empty ($nom)){//...
Or je suppose que ta variable $nom correspond au champ name="nom" dans ton formulaire :
Commence avec ceci et relance le tout:
$nom = $_POST['nom'];
if (empty ($nom)){//...

par Cyrano » 17 mars 2005, 17:42

Pour les validations de formulaires, j'utilise une autre technique. Tu peux télécharger un exemple complet et commenté ==> ICI <==
Tu verras facilement la structure de validation et c'est utilisable partout.

par Zurg » 17 mars 2005, 17:37

Merci de ta réponse Cyrano.

En fait, tu as répondu à ma première question, puisque je me demandais si il valait mieux stocker un mot de passe dans une base ou sur la page elle-même, cette dernière solution étant apparemment la moins sécurisée.

Ta solution est intéressante pour la livraison et la facturation, merci de me l'avoir proposée. J'essaierai volontier un peu plus tard.
Mais ce problème de formulaire à moitié pris en compte m'intrigue au plus aut point :? et, j'aimerai bien savoir ce qu'il lui prend (traduire par : qu'est-ce que j'ai fait comme bourde ? ! )

Une idée ?
:idea:

par Cyrano » 17 mars 2005, 17:24

Salut,
je vais essayer de résumer simplement.
Tu peux stocker un état dans une variable de session, par exemple:
$_SESSION['reconnu'] = "non";
Lorsque l'internaute s'identifie dans un formulaire prévu à cet effet, tu consultes la base de données. Petit conseil: lorsque tu stockes un mot de passe dans une base de données, crypte-le avec la fonction md5() par exemple. Pour vérifier l'authenticité lors de l'identification, crypte le mot de passe saisi de la même manière et compare avec ce qui est en base de données. Si l'internaute est reconnu, tu peux alors modifier ta variable de session :
$_SESSION['reconnu'] = "oui";
Récupères les informations sur cet internaute dans la base.
Tu peux maintenant utiliser d'autres variables de session pour garder au fil de la navigation de l'internaute ses coordonnées pour la facturation:
$_SESSION['client'] = array();
$_SESSION['client']['nom'] = "nom_de_l'internaute";
$_SESSION['client']['prenom'] = "nom_de_l'internaute";
$_SESSION['client']['adresse'] = "nom_de_l'internaute";
// etc...
Lorsque le client indique une autre adresse pour la livraison, tu peux les stocker dans une variable de session aussi.

Je suis pour ma part en train de monter un site comme ça et j'ai une variable de session qui a l'air de ça :

Code : Tout sélectionner

Array ( [acces] => 1 [caddie] => Array ( [session] => bb652350ea3af1852bad9d2e72e30b8e [aujourdhui] => 2005-03-17 15:48:13 [articles] => Array ( [reference] => Array ( [0] => BR10 ) [type] => Array ( [0] => bro ) [ponderation] => Array ( [0] => 5 ) [quantite] => Array ( [0] => 1 ) [prixunitaire] => Array ( [0] => 9.00 ) [commentaires] => N/D ) [totalttc] => 9 [totalcommande] => 11.5 [clients] => Array ( [facturation] => Array ( [id] => 1 [nom] => ****** [prenom] => ****** [adresse] => ********* [codepostal] => ****** [ville] => ************* [pays] => France [telephone] => *********** [typetel] => portable [newsletter] => 0 [courriel] => ********** ) [livraison] => Array ( [coche] => non [nom] => N/D [prenom] => N/D [adresse] => N/D [codepostal] => N/D [ville] => N/D [pays] => France [zone] => 0 [telephone] => N/D ) ) ) [identification] => reconnu )
VOilà, je ne sais pas si c'est la solution la meilleure, mais c'est ce que j'ai trouvé de plus maniable.

Ptite question sur les Sessions / question sur 1 vilain form

par Zurg » 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 :
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 ? :shock: 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 !

# 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 !! :wink: