message d'erreur

Eléphanteau du PHP | 12 Messages

02 nov. 2007, 02:41

bonjour a tous

je souhaite lire une variable vide dans mon script et un message d'erreur et renvoyé alors que error_reporting n'est pas activer dans php.ini, pourquoi ?

merci d'avance
C'est un admin6 qui modifie une variable d'environement et path son chemin....

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

02 nov. 2007, 02:43

dans mon script
Ce serait plus facile si tu montrais le passage en question. Pareil pour le message d'erreur, sinon on peut toujours deviner.

Eléphanteau du PHP | 12 Messages

02 nov. 2007, 02:54

voila:
<?php
		echo('<h2>Bienvenu </h2>');
		$serie=$_GET['serie'];                     //numero de la serie envoyer par url
		
		
         if (isset($serie))     // si il n'y a rien, on affiche ce qu'il y a en dessous,premier echo(), 
                                        sinon ce qu'il y a encore en dessous,deuxieme echo().
                                        Mais au lieu de ca j'ai un :
                                        "Notice: Undefined index: serie in C:\chemin_du_fichier on line 4".
	
       {
	echo("<h3>Le site est en construction, merci de repasser plus tard.</h3>");
		
	}
	else
	{
	echo("<h3>la series de photo n°$serie est en construction merci de repasser plus 
tard</h3>");
	}
?>
merci
C'est un admin6 qui modifie une variable d'environement et path son chemin....

Eléphant du PHP | 445 Messages

02 nov. 2007, 03:15

Test directement le $_GET['serie'] et après tu l'affecteras.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 nov. 2007, 10:49

Je plussoie la réponse de h0_noMan, avec quelques explications supplémentaires :

Ton erreur est de type "Undefined index", cela signifie que tu fais appel à un index dans un tableau qui n'existe pas. Ce n'est donc pas la variable $serie qui est concerné mais le tableau $_GET qui ne contient pas l'index "serie".
Tu peux d'ailleurs constater que c'est sur cette ligne qu'à lieu l'erreur en te referrant au message : " on line 4" qui t'indique la ligne ou php a rencontré un problème (le problème pouvant provenir de quelques lignes plus haut, ici c'est pas le cas)

Tu dois donc bien tester que $_GET['serie'] est défini avant de pouvoir l'affecter à $serie.

Pour simplifier la syntaxe on utilise généralement pour ça l'opérateur ternaire (voir la FAQ)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 12 Messages

02 nov. 2007, 11:50

voila ce que j'ai ecrit et tout marche impécable, encore merci de votre aide.

<?php
		echo('<h2>Bienvenu </h2>');
		
		$serie = isset($_GET["serie"])?$_GET["serie"]:"NULL";	
	
	if (isset($_GET['serie']))
		{
		echo("<h3>la series de photo n°$serie est en construction merci de repasser plus tard</h3>");	
		}
		else
		{
		echo("<h3>Le site est en construction, merci de repasser plus tard.</h3>") ;
		}
	?>
C'est un admin6 qui modifie une variable d'environement et path son chemin....

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

02 nov. 2007, 13:59

Modération :
masterfoon, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute