Condition if sous PHP

Résolu
pcsystemd Messages postés 734 Statut Membre -  
Nabla's Messages postés 20731 Statut Contributeur -
Bonjour,

voila j'ai une portion de code PHP qui affiche un formulaire d'inscription :

 if (isset($_POST["form_validated"]) && $_POST["form_validated"]){
	assert(isset($_POST["nom"]) && isset($_POST["prenom"]) && isset($_POST["titre"]) && isset($_POST["email"]));
	if(isset($GLOBALS['lastConnexion'])) unset($GLOBALS['lastConnexion']);
	if (!valid_email($_POST["email"])) {
		echo '<p class="alerte">' . _("Erreur : adresse e-mail non valide") . "</p>\n";
		echo '<p class="center"><a href="javascript:history.back()">' . _("Retour") . "</p>\n";
	} else {
	
		$internaute_uid = search_internaute_by_email($_POST["email"]);
		
		if (!$internaute_uid) {
			// on ajoute l'internaute
			$internaute_uid = create_internaute($_POST["nom"], $_POST["prenom"], $_POST["titre"], $_POST["email"]);
		}

		if (count($_SESSION) == 0){
			echo "Vous devez accepter les cookies pour recevoir les alertes par mail !";
		} else {
			$params_recherche = array();
			foreach($_SESSION as $key => $val) {
				if (is_array($val)) {
					foreach($val as $v)
						if ($v != "") array_push($params_recherche, $key . "[]=" . $v);
				} else {
					if ($val != "") array_push($params_recherche, $key . "=" . $val);
				}
			}
			$tr =& new Transaction();
			$tr->execute("INSERT INTO recherche (ref_personne_physique, criteres, ref_type_langue, dernier_envoi, derniere_lecture, derniere_tentative) VALUES ('" . $internaute_uid . "', '" . join(';', $params_recherche) . "', '" . ($_SERVER["HTTP_HOST"] == $INTERNETENHOST ? "2":"1"). "', NULL, now(), now()  )");
			if (isset($_POST["newsletter"])) 
				nl_inscription($internaute_uid, UID_SITE_WEB);
			
			require_once($HTTPDIR . $SITEDIR . '/c/toto_ok.php');
		}
	}
} else {
	require_once($HTTPDIR . $SITEDIR . '/mes/toto.php');
}


Je ne sais pas comment faire pour qu'il s'affiche sur ma page que si (condition) par exemple
 if ($toto == '0') {


ou dois je mettre cette condition ?

Merci beaucoup
A voir également:

5 réponses

Nabla's Messages postés 20731 Statut Contributeur 3 193
 
ben... tu met

if ($toto=='0')
{
tout le reste de ton code ici ....




}
0
pcsystemd Messages postés 734 Statut Membre 23
 
j'avais déja fait mais j'ai une erreur :

Parse error: parse error in /var/www/res_rech.phps on line 238

Merci
0
Nabla's Messages postés 20731 Statut Contributeur 3 193
 
tu prend ton code qui marchait et tu rajout simplement ca...

va voir la ligne 238, il te manque un ; surement, ou tu as une erreur de syntqxe ...
0
pcsystemd Messages postés 734 Statut Membre 23
 
Bon je n'ai plus d'erreur mais ma condition n'est pas prise en compte (elle est en GRAS dans mon script).
Une idée?
Merci

if ( $toto == '0') {

 if (isset($_POST["form_validated"]) && $_POST["form_validated"]){
	assert(isset($_POST["nom"]) && isset($_POST["prenom"]) && isset($_POST["titre"]) && isset($_POST["email"]));
	if(isset($GLOBALS['lastConnexion'])) unset($GLOBALS['lastConnexion']);
	if (!valid_email($_POST["email"])) {
		echo '<p class="alerte">' . _("Erreur : adresse e-mail non valide") . "</p>\n";
		echo '<p class="center"><a href="javascript:history.back()">' . _("Retour") . "</p>\n";
	} else {
	
		$internaute_uid = search_internaute_by_email($_POST["email"]);
		
		if (!$internaute_uid) {
			// on ajoute l'internaute
			$internaute_uid = create_internaute($_POST["nom"], $_POST["prenom"], $_POST["titre"], $_POST["email"]);
		}

		if (count($_SESSION) == 0){
			echo "Vous devez accepter les cookies pour recevoir les alertes par mail !";
		} else {
			$params_recherche = array();
			foreach($_SESSION as $key => $val) {
				if (is_array($val)) {
					foreach($val as $v)
						if ($v != "") array_push($params_recherche, $key . "[]=" . $v);
				} else {
					if ($val != "") array_push($params_recherche, $key . "=" . $val);
				}
			}
			$tr =& new Transaction();
			$tr->execute("INSERT INTO recherche (ref_personne_physique, criteres, ref_type_langue, dernier_envoi, derniere_lecture, derniere_tentative) VALUES ('" . $internaute_uid . "', '" . join(';', $params_recherche) . "', '" . ($_SERVER["HTTP_HOST"] == $INTERNETENHOST ? "2":"1"). "', NULL, now(), now()  )");
			if (isset($_POST["newsletter"])) 
				nl_inscription($internaute_uid, UID_SITE_WEB);
			
			require_once($HTTPDIR . $SITEDIR . '/c/toto_ok.php');
		}
	}
} else {
	require_once($HTTPDIR . $SITEDIR . '/mes/toto.php');
}
0
Matt
 
Il te manque une accolade à la fin déjà !
Ta première condition n'est pas refermée ! ;)
0
pcsystemd Messages postés 734 Statut Membre 23
 
A la fin de quoi? du script ou de la ligne contenant la condition . Si c'est a la fin de la ligne déjàa fait et pareil la condtiotion n'est pas prise en compte.

Merci
0
Nabla's Messages postés 20731 Statut Contributeur 3 193
 
utilises notepad++ ou un editeur du genre... te verra facilement ou les accolades s'ouvrent et ou elles se ferment...
0
pcsystemd Messages postés 734 Statut Membre 23
 
Ok j'ai trouvé cela venait de la structure de mon script. Pour ce qui est de notepad++, je suis sous linux donc j'utilise Gvim qui est aussi bien si ce n'est mieux.

Merci
0

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

Posez votre question
Nabla's Messages postés 20731 Statut Contributeur 3 193
 
youps, j avais pas vu :D ... mes homages ;)
0