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 :

[PHP-JS] Appel JavaScript avec PHP5


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut [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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="typeConv" value="tel"  onclick="addDest(<?= $college->login ?>)"/> T&eacute;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.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Citation Envoyé par jmgodson Voir le message
    Appel javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="typeConv" value="tel"  onclick="addDest(<?= $college->login ?>)"/> T&eacute;l.<br />
    Ce ne serai pas plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="typeConv" value="tel"  onclick="addDest('<?= $college->login ?>')"/> T&eacute;l.<br />

  3. #3
    Membre confirmé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Points : 467
    Points
    467
    Par défaut
    Citation Envoyé par jmgodson Voir le message
    Appel javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="typeConv" value="tel"  onclick="addDest(<?= $college->login ?>)"/> T&eacute;l.<br />
    j'ai pas compris cet appel
    appel php donc serveur lors de l'execution d'une action cliente ?????
    je suppose que $college->login correspond à un champ HTML
    donc tu ferais mieux de faire un document.getElementById() ou équivalent

  4. #4
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci, bonnes fêtes de fin d'année à tous.

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

Discussions similaires

  1. appeler des fonctions javascript avec php
    Par thaundeadboss dans le forum Langage
    Réponses: 1
    Dernier message: 11/12/2009, 12h18
  2. [CKEditor] Appeler FCKEditor avec un code PHP et non JavaScript
    Par Alexandrebox dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 04/05/2009, 12h10
  3. Appel en Javascript avec paramètres vers Php
    Par francoisch dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 18/12/2007, 20h48
  4. [PHP-JS] var javaScript avec test php
    Par lepierre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/12/2004, 13h58

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