php : Problème version? [ RESOLU ]

php : Problème version? [ RESOLU ] - PHP - Programmation

Marsh Posté le 24-06-2003 à 12:28:39    

Salut,
 
J'ai du code qui passe sur un php 4-2-2 et pas sur un 4-2-3.
 
cat test.php

Code :
  1. <form method=post action=essai.php>
  2. <input type=hidden value=ftp name=main>
  3. <input type=submit value=ok>
  4. </form>


 
 cat essai.php

Code :
  1. <?
  2.                 switch($main)
  3.                 {
  4.                         case 'ftp';
  5.                                 echo "ftp<br>";
  6.                                 break;
  7.                         case 'truc';
  8.                                 echo "truc<br>";
  9.                                 break;
  10.                         default: echo "default<br>";
  11.                                 break;
  12. }
  13. ?>


 
sur le serveur avec php-4-2-3 pas moyen d'obtenir autre chose que le default.
Alors que sur le php-4-2-2 on obtient bien le ftp.
 
Ca doit être une bête option mais je connais pas assez les options.
 
Merci d'avance!
 
CHaiCA


Message édité par chaica le 24-06-2003 à 14:09:02
Reply

Marsh Posté le 24-06-2003 à 12:28:39   

Reply

Marsh Posté le 24-06-2003 à 12:33:33    

Sur celui qui marche pas, tu as register_globals=false.
 
Change ton code pour mettre un truc plus propre :
 

<?  
if( isset( $_POST['main'] ) )
{
    switch( $_POST['main'] )  
    {  
        case 'ftp':  
            echo "ftp<br>";  
            break;  
        case 'truc':  
            echo "truc<br>";  
            break;  
        default:
            echo "default<br>";  
            break;  
    }
}  
else
{
    echo "Pas de main<br>";  
}
?>


Message édité par Mara's dad le 24-06-2003 à 12:34:36

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 24-06-2003 à 12:34:27    

C'est surtout que par défaut, les variables ne sont plus en globales. Il faut donc écrire $_POST["main"] pour récupérer ta variable. C'est plus sûr et plus propre.
 
EDIT : [:benou_grilled] [:sisicaivrai]


Message édité par Taiche le 24-06-2003 à 12:34:52

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-06-2003 à 13:45:12    

Merci d'avoir répondu mais ce n'était qu'un tout petit exemple.
 
Comme dit dans le premier post, j'ai un programme entier déja écrit et qui ne tourne plus sous php 4-2-3. Je chercher donc un moyen de faire tourner ce prog sans devoir le ré-écrire.
 
CHaiCA

Reply

Marsh Posté le 24-06-2003 à 13:53:59    

tu as directement accès au php.ini ?
- si oui, tu mets register_globals à 1
- si non, ini_set("register_globals", "1" ); en début de script
 
 :hello:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 24-06-2003 à 14:08:21    

Merci à vous, la modification de la variable register_globals a résolu mes problèmes.
 
Et si je dois coder moi-même une appli php j'appliquerais tes conseils, Mara's dad.
 
@+
 
CHaiCA

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed