Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2011, 13h55   #1
Invité de passage
 
Kristen Tonnelle
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations personnelles :
Nom : Kristen Tonnelle

Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 0
Points : 0
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 :
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 :
html <input type="text" id="myName" onKeyup="process()"/>
en javascript :

Code :
1
2
name = encodeURIComponent(document.getElementById("myName").value);
      xmlHttp.open("GET", "testajax.php?name=" + name, true);
et enfin le php :

Code :
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...
kristen44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 14h02   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
ce n'est pas le fichier testajax.php que tu nous montres.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 14h12   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 14h28   #4
Invité de passage
 
Kristen Tonnelle
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations personnelles :
Nom : Kristen Tonnelle

Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 0
Points : 0
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 :
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
kristen44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 14h31   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 14h37   #6
Invité de passage
 
Kristen Tonnelle
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations personnelles :
Nom : Kristen Tonnelle

Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 0
Points : 0
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
kristen44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 15h01   #7
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Citation:
Mais si,sabotage, du moins une partie.
Tu comptes mal les lignes alors, la 6 c'est celle la :
Code :
$dom = new DOMDocument();
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h41.


 
 
 
 
Partenaires

Hébergement Web