IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

prog. OK en local mais pas sur serveur


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    manager
    Inscrit en
    Janvier 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Irlande

    Informations professionnelles :
    Activité : manager

    Informations forums :
    Inscription : Janvier 2011
    Messages : 73
    Points : 47
    Points
    47
    Par défaut prog. OK en local mais pas sur serveur
    Je développe un petit programme d'aide à la complétion de champ. Il tourne (avec quelques imperfections quand même) très bien en local, mais une fois les fichiers copiés sur le serveur de mon FAI (Free), plus rien.

    Firebug me signale cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    domdocument() expects at least 1 parameter, 0 given in <b>/mnt/164/sda/4/c/geriaoueg/testajax.php</b> on line <b>6</b><br />
    <br />
    <b>Fatal error</b>:  Call to undefined function:  createelement() in <b>/mnt/164/sda/4/c/geriaoueg/testajax.php</b> on line <b>7</b><br />
    Le code html concerné est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    html <input type="text" id="myName" onKeyup="process()"/>
    en javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    name = encodeURIComponent(document.getElementById("myName").value);
          xmlHttp.open("GET", "testajax.php?name=" + name, true);
    et enfin le php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $name = $_GET['name']; // correspond à la ligne 6 du message d'erreur ?
    $kinnigou = mysql_query("SELECT poz FROM ajaks WHERE poz LIKE '".$name."%"."' LIMIT 20");
    Je nage...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ce n'est pas le fichier testajax.php que tu nous montres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    PHP est en version 4, par défaut, chez Free (domxml != dom). Votre script a bien une extension .php5 ou vous avez bien un fichier .htaccess contenant "php 1" ?

    PS : belle injection au passage

  4. #4
    Membre du Club
    Profil pro
    manager
    Inscrit en
    Janvier 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Irlande

    Informations professionnelles :
    Activité : manager

    Informations forums :
    Inscription : Janvier 2011
    Messages : 73
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par sabotage Voir le message
    ce n'est pas le fichier testajax.php que tu nous montres.
    Mais si,sabotage, du moins une partie. Le code entier (je le mets car il est court) fait :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    header('Content-Type: text/xml ; charset = utf-8');
     
    include ('connect.inc.php');
     
    $dom = new DOMDocument();
    $respont = $dom->createElement('respont');
    $dom->appendChild($respont);
     
    $name = $_GET['name'];
    $kinnigou = mysql_query("SELECT poz FROM ajaks WHERE poz LIKE '".$name."%"."' LIMIT 20");
    while ($linenn = mysql_fetch_array($kinnigou))
    {
    $kinnig = $dom->createElement('kinnig');
    $kinnigText = $dom->createTextNode("$linenn[poz]");
    $kinnig->appendChild($kinnigText);
    $respont->appendChild($kinnig);
    }
     
    $xmlString = $dom->saveXML();
    echo $xmlString;
     
    mysql_close();
    ?>

    Julp, le fichier a une simple extension .php et il n'y a pas de fichier .htaccess

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Donc vous utilisez PHP 4 et une extension (DOM) qui n'est disponible qu'en version 5 ... D'où, forcément, incompatibilité.

    Si vous restez avec la version 4, il vous faut revenir à l'extension DOMXML et non DOM.
    Sinon, il vous faut passer à la version 5 (cf instructions ci-dessus) pour pouvoir utiliser DOM.

  6. #6
    Membre du Club
    Profil pro
    manager
    Inscrit en
    Janvier 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Irlande

    Informations professionnelles :
    Activité : manager

    Informations forums :
    Inscription : Janvier 2011
    Messages : 73
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par julp Voir le message
    Donc vous utilisez PHP 4 et une extension (DOM) qui n'est disponible qu'en version 5 ...
    OK merci beaucoup pour vos explications ! Je vais tâcher de réécrire ce code pour créer mon xml "manuellement". Bonne journée,

    Kristen

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Mais si,sabotage, du moins une partie.
    Tu comptes mal les lignes alors, la 6 c'est celle la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dom = new DOMDocument();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. URL rewriting fonctionne en local mais pas sur serveur
    Par CinePhil dans le forum Apache
    Réponses: 2
    Dernier message: 06/11/2011, 15h16
  2. [AJAX] Ajax marche en local mais pas sur serveur
    Par ilameq dans le forum AJAX
    Réponses: 27
    Dernier message: 28/03/2011, 09h16
  3. Réponses: 4
    Dernier message: 27/05/2010, 16h57
  4. [MooTools] AJAX fonctionne en local mais pas sur serveur
    Par LionL dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 07/12/2007, 22h52
  5. AJAX : Fonctionne en local mais pas sur serveur distant ?
    Par jejefeds dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 19/06/2007, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo