Page 1 sur 1

Nombre limite d'arguments dans if ???

Posté : 02 janv. 2007, 23:31
par jyer
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

Posté : 02 janv. 2007, 23:33
par HD
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 :!:

Posté : 02 janv. 2007, 23:35
par Ajoloca
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.

Posté : 02 janv. 2007, 23:40
par jyer
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

Posté : 02 janv. 2007, 23:42
par HD
"mettre résolu" en haut à gauche :pouce: