Code PHP et OVH ?

Résolu
cs_coulou59 Messages postés 18 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 25 février 2007 - 25 févr. 2007 à 21:30
cs_coulou59 Messages postés 18 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 25 février 2007 - 25 févr. 2007 à 23:47
Bonjour,

J'ai un code qui s'exécute très bien en local avec Easyphp 1.6
Mais dès que je le mets sur mon serveur OVH, une boucle n'est pas exécutée.

<hr size="2" width="100%" /> while ($id[$ligne] <> ""  )
<hr size="2" width="100%" />$ligne est une variable déclarée dans la même page que la boucle while
$id est normalement récupéré de la page précédente, ca marche en local. Ce $id renvoie normalement un nom, mais chez OVH cette variable est vide...

Merci pour votre aide.

Nicolas
http://www.cinquieme-avenue.com

4 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 févr. 2007 à 21:52
"$id est normalement récupéré de la page précédente"

Tu utilises des fonctions dépréciés depuis un tit moment :)
Utilise $_POST[] et  $_GET[] à la place de $id tout court... :
ex :

$_POST['id'];
$_GET['id'];
Tout dépend comment tu fonctionnes.

On ne passe plus les variables comme ca maintenant !

Par contre, si je peux te soumettre une idée :
 while ( !empty($ton_tableau[$ta_ligne])  )

Les fonctions incluses dans PHP c'est pas pour rien :)
3
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
25 févr. 2007 à 23:13
Tu codes un peu  à l'arrache dirons-nous :s Du moins à l'ancienne... Pourquoi utilises-tu encore EasyPHP 1.6 ? Ce logiciel est aujourd'hui en version 2 et intègre PHP5.

 - La condition de ton while() n'est pas du tout jolie
 - Ce n'est pas $_POST[id] mais $_POST['id']
 - Préfère echo() à print()
 - Les quotes doubles sont faits pour des chaînes dynamiques et les quotes simples pour des chaînes statiques. Préfère alors les simples vu que tu concatènes.

++

Hugo.
------------------
http://www.apprendre-php.com
http://www.webmaster-debutant.net
http://www.hugohamon.com
3
cs_coulou59 Messages postés 18 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 25 février 2007
25 févr. 2007 à 22:24
Le problème vient de $ligne.

Voici ce que renvoie ce code :
<hr size="2" width="100%" />$ligne=1;
print "ID = ".$_POST[id]."
";print "ligne ".$ligne."  -  id-ligne ".$id[$ligne];
<hr size="2" width="100%" />
En local :
ID = Arrayligne 1  -  id-ligne 29
Chez OVH :
ID = Array
ligne =  -  id-ligne =
A priori la déclaration de $ligne n'est pas interprétée...
Je code comme un vieux ?

Nicolas
http://www.cinquieme-avenue.com
0
cs_coulou59 Messages postés 18 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 25 février 2007
25 févr. 2007 à 23:47
Bonjour,

Merci pour cette explication.

J'ai donc changé mon ancien code :
<hr size="2" width="100%" />$ligne=1;
 while ($id[$ligne] <> ""  )
<hr size="2" width="100%" />
par celui-ci
<hr size="2" width="100%" />$ligne=1;
$id= $_POST['id'];
while ( !empty($id[$ligne])  )
<hr size="2" width="100%" />En fait, j'ai du réinjeter mon résultat de $_POST['id'] dans une nouvelle variable $id, en mettant des quotes simples.
Et changer la condition comme m'a indiqué Fhx.

Merci à tous les 2

Nicolas
http://www.cinquieme-avenue.com
0
Rejoignez-nous