Php4 à php5

t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -  
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Mes sites hébergés sur serveur sont en php4.
En local, j'ai installé wamp avec php5. Plusieurs modifications de syntaxe sont à effectuées de php4 pour php5. Style :
if ($row['type_naiss'] == naturel) en php4
if ($row['type_naiss'] == 'naturel') en php5.

Par ailleurs,un tri qui fonctionnait en php4 n'est plus valable en php5.
J'écrivais :
if (!empty($row['date_mariage_1']))
{
	$marg_1 = substr($row['date_mariage_1'], -4);
        $tonarray[0]=array("mariage" => $marg_1 ,"date_mariage" => $row['date_mariage_1'] , "conjoint" => $row['num_cj_1'] , "lieu_mariage" => $row['lieu_mariage_1'] , "acte_mariage" => $row['acte_mariage_1'] , "divorce" => $row['divorce_1']);
}
if (!empty($row['date_mariage_2']))
{
	$marg_2 = substr($row['date_mariage_2'], -4);
	$tonarray[1]=array("mariage" => $marg_2 ,"date_mariage" => $row['date_mariage_2'] , "conjoint" => $row['num_cj_2'] , "lieu_mariage" => $row['lieu_mariage_2'] , "acte_mariage" => $row['acte_mariage_2'] , "divorce" => $row['divorce_2']);
}
if (!empty($row['date_mariage_3']))
{
	$marg_3 = substr($row['date_mariage_3'], -4);
	$tonarray[2]=array("mariage" => $marg_3 ,"date_mariage" => $row['date_mariage_3'] , "conjoint" => $row['num_cj_3'] , "lieu_mariage" => $row['lieu_mariage_3'] , "acte_mariage" => $row['acte_mariage_3'] , "divorce" => $row['divorce_3']);
}
if (!empty($row['date_mariage_4']))
{
	$marg_4 = substr($row['date_mariage_4'], -4);
	$tonarray[3]=array("mariage" => $marg_4 ,"date_mariage" => $row['date_mariage_4'] , "conjoint" => $row['num_cj_4'] , "lieu_mariage" => $row['lieu_mariage_4'] , "acte_mariage" => $row['acte_mariage_4'] , "divorce" => $row['divorce_4']);
}

sort($tonarray);

for($i=0; $i<=3; $i++)
{
		if ($tonarray[$i]['conjoint'] != "") 
		{	

J'ai l'erreur Notice: Undefined offset: 1 in D:\wamp\www\..... sur la ligne if ($tonarray[$i]['conjoint'] != "").

Merci de m'aider.

5 réponses

t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
J'ai mis "; display_errors = Off" dans le paragraphe php option, et c'est pareil !!!!
Pas de message plus explicite !
0
zermat Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   16
 
enleve le ; devant display_errors = Off
un redémarrage du serveur apache est aussi nécessaire
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
J'ai enlevé le ; puis redémarrer le tout (Wamp).
J'ai la même erreur qui apparait dans un tableau :
0
zermat Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   16
 
verifier que tu a display_errors = Off en creant une page avec ce code
<?php phpinfo(); ?>
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Je ne comprends pas ce que tu veux dire ?
J'ai bien fichier phpinfo à la racine de mes fichiers, et voici ce qu'il contient
<?php
phpinfo();
?>

Que dois-je faire exactement ?
0
zermat Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   16
 
ouvrir la page dans le navigateur et voir ce que donne display_errors
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Le display_errors est à ON



Comment le passer à OFF ?
0
zermat Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   16
 
Dans phpinfo Loaded Configuration File te donne le fichier php.ini qui doit être modifier
trouver ce fichier php.ini et mets display_errors = Off enlève la virgule s'il ya une virgule devant display_errors redémarrer le serveur apache recharger la page phpinfo de nouveau tu dois avoir cette fois-ci display_errors Off
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Cacher les erreurs ne permet pas de les corriger !
Cette erreur est une notice et donc n'empêche pas l’exécution de ton script. Mais d'autres erreurs pourront poser des soucis plus important et désactiver le rapport d'erreur va te compliquer la tâche pour résoudre les éventuelles bug.
Il est donc recommandé d'activer le rapport d'erreur en développement afin de corriger les erreurs, puis lors de la mise en ligne, d'enregistrer les messages d'erreurs dans un fichier log au lieu de les afficher à l'écran.

L'erreur "undefined index 1" indique simplement que ton tableau $tonarray ne possède pas d'élément avec la clé 1 (il semble qu'il ne possède qu'un seul élément avec la clé 0).
Lorsque tu parcours les éléments de ton tableau, une solution simple pour corriger cette erreur est de vérifier que l'élément parcouru est bien défini :
for($i=0; $i<=3; $i++)
{
    if (isset($tonarray[$i]) && $tonarray[$i]['conjoint'] != "") 
    {
        // ...
    } else {
        // $tonarray[$i] n'existe pas ou $tonarray[$i]['conjoint'] est vide
    }
}


Bonne journée,
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Le script a été créé en php4, et il n'y avait pas d'erreur.
Maintenant que j'ai php5, pourquoi j'ai cette erreur ? Je pensais que php5 prenait en compte le php4 ?
0

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

Posez votre question
zermat Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   16
 
Mets : display_errors = Off dans php.ini
-1