Page 1 sur 1

Notice: Undefined index

Posté : 14 sept. 2011, 11:22
par Invité
Salut à tout le monde,

Fred, un petit nouveau sur le forum. :D Je viens à vous aujourd'hui pour un m'aider si possible à résoudre un problème.

Alors je plante le décors!
En fait, j'ai un site hébergé chez O2Switch qui tourne parfaitement, rien à dire de ce côté là. Par contre, je souhaite le faire tourner en local sur mon ordi pour tester deux trois choses avant de les mettre en lignes. Le problème c'est qu'en local - j'utilise EasyPhp 5.3.8 - j'ai le message suivant :
Notice: Undefined index: new_setup in C:\Program Files\EasyPHP-5.3.8.0\www\database.php on line 6
Alors ça fait 3 jours que je cherche une solution un peu partout, mais je ne trouve pas et ne comprends pas tout. D'après ce que j'ai compris, new_setup est un table qui apparemment n'existe pas et qu'il y a un bout de code qui y fait référence, mais j'ai pas compris le coup des Isset. Ensuite en fouillant ici, j'ai vu qu'on pouvait désactiver les messages d'erreurs avec error_reporting(0); mais dans ce cas, cela me fait une page toute blanche.

Donc je tourne en rond, me grille des neurones mais je n'avance pas des masses.
Voici la page de code en question :
<?PHP 
$db_name		= "Nome de la base de donnée"; 
$db_username	= "Nom d'utilisateur"; 
$db_password	= "Mot de passe"; 
$db_host		= "localhost"; 
if($_SESSION['new_setup'] == "yes"){ 
error_reporting(0); 
if(!$db = mysql_connect($db_host, $db_username, $db_password)){ 
echo "<span style=\"font-family: verdana; font-size: 12px; color: #ff0000;\"><strong>Photostore has encountered a serious error:</strong><br />Could not connect to the database: " . mysql_error() . "</span>"; 
exit; 
} 
if(!mysql_select_db($db_name)){ 
echo "<span style=\"font-family: verdana; font-size: 12px; color: #ff0000;\"><strong>Photostore has encountered a serious error:</strong><br />Could not select database. Make sure your database name is correct in database.php</span>"; 
exit; 
} 
} else { 
error_reporting(0); 
if(!$db = mysql_connect($db_host, $db_username, $db_password)){ 
echo "<span style=\"font-family: verdana; font-size: 12px; color: #ff0000;\"><strong>Photostore has encountered a serious error:</strong><br />Could not connect to the database: " . mysql_error() . "</span>"; 
exit; 
} 
if(!mysql_select_db($db_name)){ 
echo "<span style=\"font-family: verdana; font-size: 12px; color: #ff0000;\"><strong>Photostore has encountered a serious error:</strong><br />Could not select database. Make sure your database name is correct in database.php</span>"; 
exit; 
} 
$query = "SELECT id,charset FROM settings"; 
if(!$result = mysql_query($query)){ 
echo "<span style=\"font-family: verdana; font-size: 12px; color: #ff0000;\"><strong>Photostore has encountered a serious error:</strong><br />Could not select database tables. Make sure you\'ve imported the database.sql file into your database.</span>"; 
exit; 
} 
 } 
error_reporting(E_ALL & ~E_NOTICE); 
if(strtolower($result->charset) == "utf-8"){ 
mysql_query('SET NAMES utf8'); 
} 
?> 

Merci pour votre aide ;)
Fred

Re: Notice: Undefined index

Posté : 14 sept. 2011, 11:38
par Fred15
Juste pour info, il semblerait que j'eusse oublié de me connecté avant de poster le message! désolé :mrgreen:

Sinon, j'ai ajouté tout en bas de page :
<?PHP 
var_dump($_GET,$_POST);
?>


Et ça donne ça :
Notice: Undefined index: new_setup in C:\Program Files\EasyPHP-5.3.8.0\www\database.php on line 6

array
empty

array
empty

array
empty

array
empty

Re: Notice: Undefined index

Posté : 14 sept. 2011, 11:53
par Mazarini
$_SESSION['new_setup'] n'est pas défini

Re: Notice: Undefined index

Posté : 14 sept. 2011, 11:56
par Fred15
j'avais cru comprendre en lisant à droite et à gauche. c'est peut être pour ça qu'il m'indique Empty au dessus....Mais comment définie t-on une fonction?
Le truc que je ne pipe pas c'est pourquoi mon site hébergé fonctionne correctement et pas en local? Les fichiers étant les mêmes, ça devrait non?


EDIT :

Sans n'avoir rien fait qu'enlever le bout de code var_dump($_GET,$_POST);, j'ai à présent en permanence une page blanche sans aucun message d'erreur. :?:

EDIT 2 :

Je n'y comprends rien de rien. Le message d'erreur est revenu. :evil:

Re: Notice: Undefined index

Posté : 14 sept. 2011, 16:06
par Mazarini
A mon avis, cela change selon que la la variable de session est initialisée ou pas.
Dans tes traitement, tu dois affecter cette variable quelque part. Une fois initialisée, il n'y a plus de problème.

Normalement il faut tester isset($_SESSION['new_setup'] pour savoir si elle est définit et dans le cas contraire lui affecter une valeur par défaut ('NO' ?).

Re: Notice: Undefined index

Posté : 14 sept. 2011, 16:35
par Fred15
Dans mon code, je le mets ou isset($_SESSION['new_setup'] ?

J'ai essayé de remplacer le "yes" dans if($_SESSION['new_setup'] == "yes") par no ou par false, par true, par 0 ou part 1...mais rien ne se passe et toujours le même message.
Le truc con, est ce que ça peut venir de Easyphp aussi?

En tout cas merci de m'aider ;)