Problème de passage PHP4 > PHP5

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de passage PHP4 > PHP5

par cyberlp » 17 oct. 2008, 15:18

Je viens d"essayer et cette fois ci le message d'erreur est passé de Undefined variable à Undefined index :

Code : Tout sélectionner

Notice: Undefined index: change0 in /var/www/vhosts/contedauteur.fr/httpdocs/perso/index.php on line 37 Notice: Undefined index: change in /var/www/vhosts/contedauteur.fr/httpdocs/perso/index.php on line 58

par fab » 17 oct. 2008, 14:53

register_globals je parie :p

remplace $change0 et $change par $_POST['change0'] et $_POST['change'] et là c'est pas un probleme de migration entre 2 version mais de très mauvaises habitudes :)

par cyberlp » 17 oct. 2008, 14:38

Du coup c'est peut être une restriction de certains paramètres PHP du côté hébergeur, je ne sais pas si c'est quelque chose de possible...

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par cyberlp » 16 oct. 2008, 15:46

Alors il m'affiche d'abord :

Code : Tout sélectionner

display:1 error_reporting:2047
Puis un message d'erreur :

Code : Tout sélectionner

Notice: Undefined variable: change0 in /var/www/vhosts/contedauteur.fr/httpdocs/perso/index.php on line 37 Notice: Undefined variable: change in /var/www/vhosts/contedauteur.fr/httpdocs/perso/index.php on line 58

Mon hébergeur est Azuria.

par zeus » 16 oct. 2008, 15:17

Quel est ton hébergeur ?

Ce n'est pas sûr qu'il le permette, mais essaye de mettre ces lignes tout en haut de ton script qui "ne marche pas"
<?php
  ini_set('display_errors', true);
  ini_set('error_reporting', E_ALL);
  echo "display:".ini_get('display_errors')."<br />error_reporting:".ini_get('error_reporting')."<br />";
?>
Puis ré-exécute la page.
Poste nous la nouvelle ligne qui se sera affichée, puis dit nous si ça a changé quelque chose

par cyberlp » 16 oct. 2008, 13:46

Il ne se passe rien quand je clique sur le bouton Submit. La page se recharge à l'identique, sans message d'erreur.

Et j'ai l'impression que tous mes scripts qui faisaient appel à un formulaire ne marchent plus non plus. Al'inverse un petit script tout simple pour afficher la date par ex. fonctionne très bien.

J'ai essayé de changer en

Code : Tout sélectionner

<?php
comme tu m'as dit mais cela ne modifie rien.rien.



NB : je reprécise que tous mes scripts en question marchaient très bien il y a 2 ou 3 ans ; voilà que je retourne sur ces sites et qu'ils ne marchent plus, c'est pour cela que je me dis que cela vient d'un update du langage PHP :)

par furiouslol » 16 oct. 2008, 10:27

A vu de nez et en attedant tes explications sur le "ca marche pas", je te suggererais de remplacer <? par <?php au début de ton script

par zeus » 16 oct. 2008, 07:52

Pour que nous puissions t'aider, il faudrait que de détailles un peu plus le "il ne marche plus".
Tu as des erreurs ? le script ne démarre pas ? le résultat n'est pas celui que tu attends ?

Problème de passage PHP4 > PHP5

par cyberlp » 16 oct. 2008, 04:50

Bonjour,

J'avais installé il y a un petit moment, à l'époque du PHP4, un petit script sur une page web qui me permettait de l'éditer directement depuis le web en entrant un mot de passe.

Je n'ai pas touché à ce script depuis et il ne fonctionne plus aujourd'hui : j'imagine que c'est dû au passage au PHP5, mais je ne sais pas du tout d'où vient le problème...

Merci pour votre aide !

Cyberlp


Code : Tout sélectionner

<? $news="news.dat"; print("<form method=\"post\">"); $fic=fopen($news, "r+"); $handle=fread($fic, filesize($news)); echo $handle; fclose($fic); echo "<p><br><input name=change0 type=submit value=MAJ>"; echo "&nbsp;<input type=password name=pass size=6></form>"; if ($change0) { if ($pass=="PASSWORD") { $content=file($news); echo "<form method=\"post\">"; echo "<p>&nbsp;<p><TEXTAREA NAME=\"text\" cols=\"68\" rows=\"14\">"; foreach($content as $line) { echo $line; } print("</TEXTAREA>"); echo "<p><input name=change type=submit value=MAJ>"; echo "</form>"; } else { echo "Mot de passe invalide"; } } if ($change) { $fp = fopen ($news, "w"); $buffer = fread ($fp, 4096); $modif= stripslashes($text); $ecriture = $modif.(string) $buffer; rewind ($fp); fwrite($fp,$ecriture); fclose($fp); } ?>
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]