Nombre limite d'arguments dans if ???

Eléphanteau du PHP | 45 Messages

02 janv. 2007, 23:31

Bonjour et bonne année,

Je suis en train de débuter sous php avec la construction d'un formulaire d'inscription en ligne.
J'ai un petit problème avec les lignes suivantes.
if (empty($vfirst_name) || empty($vlast_name) || (empty($vposition) || empty($vaffiliation) || empty($vemail) || empty($vphone) || empty($vinstitute) || (empty($vaddress) || empty($vzip) || empty($vcity) || empty($vcountry)) 
    	    {
		    echo "<p id='warning'><b>Warning!!!</b><br /><br />Your data has not been transfered to the university.<br />Please <u>complete all fields</u> before sending the registration form.</p>";
		    $erreur=1;
	    }
Elles servent à s'assurer que tous les champs important du formulaire sont remplis. Ce script fonctionnait parfaitement avec les trois arguments que j'utilisais au début (first_name, last_name et email). Mais voilà, dès que je veux utiliser la liste complète (comme reproduite ci-dessus), alors j'ai le message suivant:
Parse error: syntax error, unexpected '{' in form.inc.php on line 455
Bon. Comme mentionné j'suis débutant en php. Mais bon. Il me paraît évident que { est indispensable à ouvrir les propriétés de la fonction if (en gros, ce qui est entre accolades correspond à ce qui doit être fait "if ..."). Donc, 1. Je ne comprends pas pourquoi il y aurait une faute de syntaxe.
Sauf que, pire encore, je n'arrive vrmt pas à comprendre 2. pourquoi ce script fonctionne parfaitement avec trois arguments? J'ai essayé à nouveau par la suite et ai réussi à le faire fonctionner avec un max de 5 arguments. Y aurait-il un nombre max d'arguments?

Merci bcp à tous.
jr
Modifié en dernier par jyer le 02 janv. 2007, 23:37, modifié 1 fois.

HD
Mammouth du PHP | 1181 Messages

02 janv. 2007, 23:33

if (empty($vfirst_name) || empty($vlast_name) || (empty($vposition) || empty($vaffiliation) || empty($vemail) || empty($vphone) || empty($vinstitute) || empty($vaddress) || empty($vzip) || empty($vcity) || empty($vcountry)) 
            {
            echo "<p id='warning'><b>Warning!!!</b><br /><br />Your data has not been transfered to the university.<br />Please <u>complete all fields</u> before sending the registration form.</p>";
            $erreur=1;
        } 
devrait marcher :wink:
tu avais fait
|| (empty($vaddress) ||
au lieu de
|| empty($vaddress) ||
remarque le ( de trop :!:
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

ViPHP
ViPHP | 1961 Messages

02 janv. 2007, 23:35

Bonsoir,

J'ai pas lu ton message au complet, mais je crois que tu as une erreur de frappe.
empty($vlast_name) || (empty($vposition)
Une parenthèse ouvrante en trop.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 45 Messages

02 janv. 2007, 23:40

Excellent!!!

En effet, deux bêtes faute de frappe à cause de copier-coller...
Merci bcp pour vos réponses expresses.
Est-ce qu'il y a une balise résolu dans ce forum? Si oui, où?

Merci encore,
jr

HD
Mammouth du PHP | 1181 Messages

02 janv. 2007, 23:42

"mettre résolu" en haut à gauche :pouce:
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]