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

JavaScript Discussion :

Comment lancer des traitements php avec du Javascript?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut Comment lancer des traitements php avec du Javascript?
    Bonjour,
    Je ne savais pas trop ou poser mon probleme donc, je le fais ici. Dites moi s'il n'est pas a sa place.

    Donc, voila, j'ai des fonctions/procédures en php dans des fichiers sur le serveur.
    Et j'aurai aimé savoir s'il était possible de les lancer directement depuis une fonction javascript sur une de mes pages web.

    Dans certains cas, je souhaiterai juste que le javascript lance un traitement (effectuer en php - insertion en BD -) et dans un autre cas, j'aurai besoin de récupérer la valeur retourner par la fonction (boolean).

    Est-il possible de faire ce genre de chose avec du javascript?

    Merci pour vos réponses.

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Tu peux utiliser l'objet XMLHttpRequest pour obtenir une page php,mais c'est tout ce que tu peux faire...
    Javascript tourne sur le navigateur (côté client) tandis que php est interprété par le serveur pour ressortir une page HTML...
    Donc tu ne peux pas appeler de fonction php depuis javascript.

  3. #3
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Il y a plein de tutos ajax ^^

  4. #4
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut
    Merci pour vos conseils.
    J'ai essayé d'utiliser Ajax du coup, mais j'ai une erreur.
    En fait, ca ne crée pas d'erreur mais, disons que ca ne fonctionne pas.
    Voici le code de mes fonctions Ajax :
    function ajax_LookUpAcceptedCustomer(ClientEmail)
    {
    var xhr=null;
    var myUrl = "http://localhost/LookUpAcceptedCustomer.php?ClientEmail=";
    myUrl = myUrl + ClientEmail;

    if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xhr.onreadystatechange = function() { LookUpAcceptedCustomer_Result(xhr); };

    xhr.open("GET", myUrl, true);
    xhr.send(null);
    }

    function LookUpAcceptedCustomer_Result(xhr)
    {
    var docXML= xhr.responseXML;
    var items = docXML.getElementsByTagName("RS")
    if ( items.item(0).firstChild.data == 0 )
    {
    return false;
    }
    else
    {
    return true;
    }
    }
    Alors j'ai vérifé avec un "alert" et myUrl possede bien la bonne url avec le bon parametre.
    Suite à ca, voici ma page php :

    <?php
    header('Content-Type: text/xml');
    echo "<?xml version=\"1.0\"?>\n";
    echo "<RESULT>\n";

    $db_conn = new COM("ADODB.Connection");
    $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("./STC_email.mdb").";";
    $db_conn->open($connstr);

    $rS = $db_conn->execute('SELECT count(*) FROM STC_email WHERE STC = \'accept\' AND Flag = 1 AND email = \'' . $_GET['ClientEmail'] . '\'');

    $f1 = $rS->Fields(0);
    while (!$rS->EOF)
    {
    $EmailExist = $f1->value.
    $rS->MoveNext();
    }
    $rS->Close();

    if ($EmailExist == 0) {
    echo "<RS> 0 </RS>\n";
    }
    else {
    echo "<RS> 1 </RS>\n";
    }

    $db_conn->Close();

    echo "</RESULT>\n";
    ?>

    Seulement cela me donne une erreur.
    ClientEmail semble etre indéfini.
    Si je tape directment l'url en question dans mon navigateur je n'ai pas d'erreur. Mais à travers la fonction ajax, une erreur (ClientEmail non défini) apparait.
    Je ne parviens pas a comprendre.

    Merci pour votre aide.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben... si l'erreur vient de ClientEmail indéfini, la moindre des choses serait peut-être de nous montrer ce que tu envoies comme variable ClientEmail plutôt que d'incriminer la fonction Ajax qui pour le moment en tout cas n'y est pour rien...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut
    J'envoie juste ce que l'utilisateur entre dans le formulaire.
    Donc c'est juste une adresse email.

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

Discussions similaires

  1. [Excel] Comment lire des fichiers excel avec php?
    Par dear_rihab dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 02/11/2007, 12h38
  2. [Mail] Comment envoyer des e-mails avec PHP
    Par lauryk dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2007, 17h16
  3. [PHP-JS] Comment faire intéragir du php avec du javascript
    Par Alexlesilex dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/04/2007, 20h42
  4. Réponses: 1
    Dernier message: 11/10/2006, 11h21
  5. Réponses: 4
    Dernier message: 14/12/2005, 12h16

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