Passage de php3 à php5
Linux67
Messages postés
307
Date d'inscription
Statut
Membre
Dernière intervention
-
drimann -
drimann -
Bonjour,
je suis actuellement en stage de fin d'étude, et une de mes tâches consiste en la migration de l'intranet d'un server Linux en php3 vers un server Windows 2003 avec php5.
La plus grande partie est transférée et le code est adapté, mais j'ai quelques pages qui me posent problème.
Voilà le code de l'une d'elle :
Mon problème est le suivant, sur le server Linux cette page m'affiche des zones de texte à remplir en fonction de numéros de plans de fabrication de pièces. Ensuite il me suffit de cliquer sur "enregistrer" pour que ces modifications soient prises en compte.
Mais ce code que j'ai tenté d'adapter de php3 à php5 ne me permet pas d'enregistrer les modifications, la page est simplement réinitialisée.
J'ai encore d'autres pages avec un problème similaire, mais j'éspère que lorsque j'aurai compris comment corriger ce code le reste suivra ;-)
Est-ce quelqu'un a une idée pour adapter ce code correctement pour qu'il tourne sous php5 ?
Merci d'avance.
je suis actuellement en stage de fin d'étude, et une de mes tâches consiste en la migration de l'intranet d'un server Linux en php3 vers un server Windows 2003 avec php5.
La plus grande partie est transférée et le code est adapté, mais j'ai quelques pages qui me posent problème.
Voilà le code de l'une d'elle :
<html> <head><title>Editer un plan</title></head> <body> <center> <img src="images/editer.jpg" ></center> <div align="left"> <blockquote><blockquote><blockquote><blockquote><blockquote><blockquote> <?php $host="127.0.0.1:3306"; $user="root"; $passwd="***"; mysql_connect($host,$user,$passwd); mysql_select_db("intranet"); //--------// //Page n°1// //--------// $page = null; $num = null; $name = null; $ressort = null; if($page=="") { if($num!="") { $result=mysql_query("SELECT * FROM caracteristique WHERE caracteristique.num=".$num); $name=mysql_fetch_array($result); } echo "<font face='arial' size=1>"; echo "<form action='editer.php'>Numéro du ressort : <br>\r"; echo "<input size=15 value='".$ressort."' type='text' name='ressort'><br><br>\r"; echo "Designation : <br><textarea name='designation' cols='40' rows='3' wrap='VIRTUAL' style='width: 300px'>".$name['designation']."</textarea><br><br>\r"; if($valide='O'){ echo "Valide : <br><input type='radio' value='O' checked name='valide'>oui <input type='radio' value='N' name='valide'>non<br><br>\r"; }else{ echo "Valide : <br><input type='radio' value='O' name='valide'>oui <input type='radio' value='N' checked name='valide'>non<br><br>\r"; } echo "Date de création : <br><input type='date' value='".$name['creation']."' name='creation' > (Au format AAAA-MM-JJ)<br><br>\r"; echo "Auteur : <br><input type='text' value='".$name['auteur']."' name='auteur' ><br><br>\r"; echo "Fichier : <br>\r"; echo "<input type=radio checked value=0 name='fichier'>\r"; echo "<input type=text size=40 name='chemin' value='".$name['chemin']."'><br>\r"; echo "<input type=radio value=1 name='fichier'>\r"; echo "<input type=file size='40' name='chemin1'><br><br><br>\r"; echo "<input type='submit' value='enregistrer' action='editer.php'><br>\r"; echo "<br><i>Tous les champs doivent être remplis</i>\r"; echo "<input type='hidden' name='page' value='1'></form></font>\r"; } //--------// //Page n°2// //--------// if($page=="1") { $result=strtok($ressort,"."); $part['typeplan']=$result; $result=strtok("."); $part['typemachine']=$result; $result=strtok("."); $part['type3']=$result; $result=strtok("."); $part['numordre']=$result; if($fichier==1) { $chemin=$chemin1; } $result=mysql_query("SELECT num FROM numeroplan WHERE numtypeplan='".$part['typeplan']."' AND typemachine='".$part['typemachine']."' AND type3='".$part['type3']."' AND numordre='".$part['numordre']."' ORDER BY num"); $name=mysql_fetch_array($result); mysql_query("UPDATE caracteristique SET designation='".$designation."' , valide='".$valide."' , auteur='".$auteur."' , creation='".$creation."' , chemin='".$chemin."' WHERE num=".$name['num']); echo "<center><h2><font face='Arial'>Les informations ont été enregistré dans la base de donnée</font></h2></center>"; } echo "</blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></div><center>\r"; $result=mysql_query("SELECT lnk,img,alt FROM lnkimg WHERE lnkimg.type='bouton' AND lnkimg.page='editer'"); $fields=mysql_num_fields($result); $rows=mysql_num_rows($result); while ($name=mysql_fetch_array($result)) { echo "<a href=".$name['lnk']." >\r"; echo "<img border='0' src='images/".$name['img']."' alt='".$name['alt']."' width='146' height='146'>\r"; echo "</a> \r"; } ?> </center> </body> </html>
Mon problème est le suivant, sur le server Linux cette page m'affiche des zones de texte à remplir en fonction de numéros de plans de fabrication de pièces. Ensuite il me suffit de cliquer sur "enregistrer" pour que ces modifications soient prises en compte.
Mais ce code que j'ai tenté d'adapter de php3 à php5 ne me permet pas d'enregistrer les modifications, la page est simplement réinitialisée.
J'ai encore d'autres pages avec un problème similaire, mais j'éspère que lorsque j'aurai compris comment corriger ce code le reste suivra ;-)
Est-ce quelqu'un a une idée pour adapter ce code correctement pour qu'il tourne sous php5 ?
Merci d'avance.
A voir également:
- Passage de php3 à php5
- Passage qwerty azerty - Guide
- Passage à windows 11 gratuit - Guide
- Passage windows 7 à 10 - Accueil - Mise à jour
- Test passage windows 11 - Guide
- Choisir passage sonnerie samsung - Guide
6 réponses
surment un pb de register_globals non ?
à On ds le php.ini du php3 (conf par defaut)
à Off ds php.ini de php5 (conf par defaut)
fais un phpinfo() pour verifier sur les 2 servers
Non ?
à On ds le php.ini du php3 (conf par defaut)
à Off ds php.ini de php5 (conf par defaut)
fais un phpinfo() pour verifier sur les 2 servers
Non ?
Là je suis chez moi, je vais voir ça demain matin.
Mais si je ne me plante pas, j'ai repris le php.ini qui tournait sur l'ancien server avec php3 et j'ai fait quelques modifications pour le rendre compatible sur le nouveau server avec php5.
En tous cas merci pour cette piste, je vais vérifier ça et tenir tout la communauté informée ^^
Mais si je ne me plante pas, j'ai repris le php.ini qui tournait sur l'ancien server avec php3 et j'ai fait quelques modifications pour le rendre compatible sur le nouveau server avec php5.
En tous cas merci pour cette piste, je vais vérifier ça et tenir tout la communauté informée ^^
Visiblement si le script n'enregistre pas les modifs, c'est qu'il ne reçoit pas les données.
fais un print_r($_POST)
pour voir
fais un print_r($_POST)
pour voir
Je viens de vérifer les register_globals et tu avais vu juste, il était bien à On dans le php.ini du php3 et Off dans celui du php5.
Ce qui est bizarre c'est la suite, tout est géré dans le même fichier "editer.php", aucune donnée n'est envoyée par la méthode POST.
Par contre elles s'inscrivent bien dans la barre d'URL (je sais que côté sécurité c'est pas top, mais ça reste en Intranet) , ça veut donc dire qu'elles sont envoyées je pense.
Alors je ne comprends pas pourquoi sous php3 tout fonctionnait correctement, et sous php5 il n'y a plus aucune réaction.
Il y a bien eu quelques modifications du code, mais uniquement des corrections de syntaxe sur des erreurs que php m'indiquait, il ne va quand même pas se saboter lui-même ^^
Ce qui est bizarre c'est la suite, tout est géré dans le même fichier "editer.php", aucune donnée n'est envoyée par la méthode POST.
Par contre elles s'inscrivent bien dans la barre d'URL (je sais que côté sécurité c'est pas top, mais ça reste en Intranet) , ça veut donc dire qu'elles sont envoyées je pense.
Alors je ne comprends pas pourquoi sous php3 tout fonctionnait correctement, et sous php5 il n'y a plus aucune réaction.
Il y a bien eu quelques modifications du code, mais uniquement des corrections de syntaxe sur des erreurs que php m'indiquait, il ne va quand même pas se saboter lui-même ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question