Bonjour,
Excusez moi si cette question a déjà été posée, mais je ne l'ai pas trouvée, ni dans le forum php4, php5 ou celui-ci.
Changeant de serveur AMEN (linux+php4 pour linux+php5), j'ai migré mes apllications et je rencontre des problèmes concernant mes appels vers javascript qui ne fonctionnent plus.
J'ai testé le code et changé la variable register_globals en "on", mais rien n'y fait.
Dans le code php, je suis passé en chemin absolu (seule solution pour que mes pages s'affichent) et mes appels javascrit sont du type "répertoire/nom_javascript". Si je rentre un chemin absolu ca ne fonctionne pas mieux.
Avez vous connaissance de ce problème ? Est ce un problème de paramètre linux ou php, ou bien mon code php ou javascript ?
Voici un exemple.
A partir un bouton radio cliqué, on affiche un menu déroulant intégrant les noms des interlocuteurs pour ce collège dans la base de donées.
Appel javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="radio" name="typeConv" value="tel" onclick="addDest(<?= $college->login ?>)"/> Tél.<br />
Fonction javascript :
Dans cette fonction, on appel une requête SQL et on affiche le résultat dans un menu déroulant.
Code : 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 /* Fonctions pour ajouter/enlever le destinataire de la conversation */ function addDest(college) { var xhr = getXMLHTTP(); if(xhr){ var table = "interlocuteurs"; var where = "college='"+college+"'"; xhr.open("GET","autoComplete/getAll.php?table="+table+"&where="+where,true); xhr.onreadystatechange=function() { var result = '<select size="1" class="norm" name="telDest"><option value=""> </option>'; if(xhr.readyState==4&&xhr.responseXML) { var elements = xhr.responseXML.getElementsByTagName("element"); for(i=0; i<elements.length; i++){ var id = elements[i].getElementsByTagName("idinterloc")[0].firstChild.data; var nom = elements[i].getElementsByTagName("nominterloc")[0].firstChild.data; result += "<option value='"+id+"'>"+nom+"</option>"; } result+='</select>'; document.getElementById("selDest").innerHTML = result; } }; // envoi de la requete xhr.send(null) } } Et la requête sql appelée dans le javascript : PHP: <?php /*** * Affiche au format XML tous les résultats d'un select paramétrable. */ $pagesPath = "/var/www/vhosts/forges-courcelles.com/httpdocs/devme/sav-langres/pages/"; $scriptsPath = "/var/www/vhosts/forges-courcelles.com/httpdocs/devme/sav-langres/scripts/"; $classesPath = "/var/www/vhosts/forges-courcelles.com/httpdocs/devme/sav-langres/classes/"; $racinePath = "/var/www/vhosts/forges-courcelles.com/httpdocs/devme/sav-langres/"; $autoCPath = "/var/www/vhosts/forges-courcelles.com/httpdocs/devme/sav-langres/autoComplete/"; include($racinePath."mysql.php"); include($autoCPath."enteteXML.php"); $table = $_GET["table"]; $where = $_GET["where"]; $req = "SELECT * FROM $table WHERE $where"; echo "req : ".$req."<br>"; $res = $base->query($req); echo("<elements>"); while($e = mysql_fetch_array($res)){ echo("<element>"); if($e){ foreach($e as $cle => $valeur){ if(is_string($cle)){ echo("<$cle>".utf8_encode(htmlspecialchars($valeur))."</$cle>"); } } } echo("</element>"); } echo("</elements>"); ?>
Tout cela fonctionnait très bien sous php4.
Merci d'avance pour vos lumière, cordialement,
JM.
Partager