ca marche sur free mais pas sur nainwak

Modérateurs : Ligevum, Crepuscule, Wargaming, Okracoke, Simerion, Heroes, Bestiaire, Exsulare, terato, pentacle, Nainwak

Répondre
Tyler
Messages : 12
Enregistré le : 04 janv. 2006, 13:21

ca marche sur free mais pas sur nainwak

Message par Tyler »

voila j'ai un probleme sur les mouvs, sur free, ca marche normalement mais pas sur nainwak, pourtant les pages et la bdd sont identiques, est-ce un probleme de moi ou un probleme de serveur?
Avatar du membre
Haiken
Président de l'Association
Messages : 666
Enregistré le : 01 avr. 2004, 09:00

Message par Haiken »

La configuration de PHP est très certainement différente.
La première chose qui me vient à l'esprit, c'est le register_globals.
As-tu un exemple de ce qui ne marche point ?
Tyler
Messages : 12
Enregistré le : 04 janv. 2006, 13:21

Message par Tyler »

$requete="UPDATE table_perso SET x='".$mouvx1."',y='".$mouvy1."',mouv='".$mouv."' WHERE nom='".$_SESSION['nom']."'";
$result=mysql_query($requete,$connect);
$query="UPDATE table_carte SET img='".$img."' WHERE x='".$mouvx1."' AND y='".$mouvy1."'";
$resulta=mysql_query($query,$connect);
$querquer="UPDATE table_carte SET img='terre.GIF' WHERE x='".$mouvx2."' AND y='".$mouvy2."'";
$resultat=mysql_query($querquer,$connect);

c ca qui marche pa
Avatar du membre
Haiken
Président de l'Association
Messages : 666
Enregistré le : 01 avr. 2004, 09:00

Message par Haiken »

Il n'y a à première vue aucune raison que cela ne marche pas.
La première chose à faire, ce serait peut-être d'intercepter les erreurs non ?

Code : Tout sélectionner

if (!$result=mysql_query("...")) die(mysql_error());
ou

Code : Tout sélectionner

if (!$result=mysql_query("...")) mail("monmail@truc.com", "erreur mysql", mysql_error());
Daimonos Tereutes
Responsable Technique de l'Association
Messages : 926
Enregistré le : 30 mars 2004, 18:39

Message par Daimonos Tereutes »

voici l'erreur qui se trouve dans le fichier de log.
(tu accès à ce fichier par ftp, il se trouve dans le répertoire logs)
logs/php_error.log a écrit : [10-Jan-2006 19:15:48] PHP Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/rst/jeu/htdocs/jouer_accueil.php on line 422
Quelques conseils:
-Utilise include_once() et require_once() plutot que include() et require().
-Quand un fichier doit être inclus impérativement utilise require_once() et non pas include_once() (ex dans jouer_accueil.php)
-Utilise la balise php complète <?php et non pas le raccourcis <? qui ne fonctionne pas toujours.
-vérifie avec la fonction phpinfo() que tous les modules que tu utilises sont bien chargés, si ce n'est pas le cas, indique-nous les modules dont tu as besoin afin que nous les ajoutions.


Enfin j'ai constaté que vous utilisiez php5.1 (sur un serveur sur lequel il n'est pas à jour) est-ce une nécessité ou est-ce que php5.0 ferait l'affaire ?
Admin technique de nainwak.org
Avatar du membre
Haiken
Président de l'Association
Messages : 666
Enregistré le : 01 avr. 2004, 09:00

Message par Haiken »

c'est moi qui ait mis php5.1 :oops: parce que php5 c'est plus rapide que php4, et je savais pas qu'il était pas à jour...
Tyler
Messages : 12
Enregistré le : 04 janv. 2006, 13:21

Message par Tyler »

http://retoursurterre.nainwak.org/jouer ... t.php?id=1

ben moi j'ai ca avec phpinfo mais je pige pas très bien ce quil me met
Daimonos Tereutes
Responsable Technique de l'Association
Messages : 926
Enregistré le : 30 mars 2004, 18:39

Message par Daimonos Tereutes »

Bon effectivement j'avais pas tout suivis.

La version de PHP5.1 est presque à jour sur patate (j'ai eu un petit problème avec la 5.1.2 donc c'est une 5.1.1 en attendant, avant c'était une très vielle 5.1.0rc6)
On vous laisse un php5.1 qui par ailleur fonctionne bien.

Mais je crois pas que ce soit le problème.
Dans ton code (jouer_accueil.php), j'ai trouvé encore quelques trucs pas très clairs:
- tu utilises plusieurs fois dans la même fonction session_start() c'est assez surprennant comme concept, et j'ai aucune idée de la manière dont php peut interpréter ce genre de chose.
- tu récupère chaque résultat d'un requête "SELECT * FROM..." et tu ne fait qu'incrémenter un compteur pour déterminer le nombre de résultats (fonction new_lettre). C'est super maladroit, consomme beaucoup de ressources pour rien. un "SELECT COUNT(*) FROM..." serait infiniment plus judicieux.
- tu inclus plusieurs fois le fichier qui gére la connexion au mysql. Il n'y a aucune raison que ce genre de chose arrive.
- attention à la portée de tes variables, si tu utilises une variable dans une fonction qui as été définie ailleur (ex: $connect) tu dois la déclarer en tant que globale en en-tête de ta fonction sinon cette variable n'est pas définie à l'intérieur de la fonction. La portée des variables est expliquée là : http://fr.php.net/manual/fr/language.va ... .scope.php

Je te conseille de te documenter un peu sur php et mysql afin d'améliorer un peu ton code et de l'optimiser. Il y a déjà pas mal de liens présent sur ce forum dans la section Documentation.
Si certains point te semblent obscure, n'hésite pas à venir me consulter.
Admin technique de nainwak.org
Tyler
Messages : 12
Enregistré le : 04 janv. 2006, 13:21

Message par Tyler »

désolé je suis encore un peu débutant en php :oops:
Répondre