[PHP-JS] Appel JavaScript avec PHP5
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:
<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:
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.