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 :

Dans une fonction JAVASCRIPT, comment utilser du code php ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut Dans une fonction JAVASCRIPT, comment utilser du code php ?
    Bonjour,
    J'ai un formulaire avec 3 boutons qui envoie les action grâce à javascript.
    Tout marche tant qu'on est en javascript.
    Le prblème, c'est que j'aimerais faire du php une fois le bouton cliqué. Voici ce que j'ai fait qui ne marche pas :
    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
    <script language="javascript">
    // fonction pour le cas d'appui sur la touche entrée
    function testsubmit() {
        return !!document.formulaire.action;
    }
    function afficher()
    {
    alert("Vous affichez");//marche nickel
    }
     
    function supprimer()
    {
    <?php
    //Ici mon code php ne marche pas :(
    ?>
    }
     
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form action="#" name="formulaire" id="formulaire" method="post" onsubmit="testsubmit();">
    <input type="button" id="afficher" name="afficher" value="Afficher donnée" onclick="afficher();" />
    <input type="button" id="supprimer" name="supprimer" value="Supprimer donnée" onclick="supprimer();" />
    </form>
    D'avance merci pour votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    PHP tourne au niveau serveur et javascript au niveau client.
    Pour exécuter une fonction Php depuis javascript, tu dois utiliser AJAX.

  3. #3
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut
    Merci beaucoup mais là je vais galèrer grave, parce que je ne connais pas AJAX.

    Pourras-tu m'aider STP à faire cette chose en ajax?
    Ce que je cherche à faire, c'est de supprimer la donnée selon l'identifiant qui est envoyé.
    Voici le code en php qui marche parfaitement :

    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
     
    <?php
    //Supprimer la donnée
    if(isset($_POST['supprimer']))//Si le bouton supprimer a été cliqué
    {
    ID = $_POST['ID'];
    require('../model.php');//Fichier pour la connexion de la base de donnée
    mysqlDB_connect();
     
    $sql =  "DELETE FROM matable WHERE ID = '$ID'";;
    if(!mysql_query($sql))
    {
    echo ('<script language="javascript"> alert("Erreur SQL. La donnée ne peut pas être supprimée");</script>');
    }
     
    }
     
    ?>
    D'avance je te remercie

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Code JAVASCRIPT : 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
    function createXHR() 
    {
        var request = false;
            try {
                request = new ActiveXObject('Msxml2.XMLHTTP');
            }
            catch (err2) {
                try {
                    request = new ActiveXObject('Microsoft.XMLHTTP');
                }
                catch (err3) {
    		try {
    			request = new XMLHttpRequest();
    		}
    		catch (err1) 
    		{
    			request = false;
    		}
                }
            }
        return request;
    }
    function supprimer(id) 
    {
    	var xhr=createXHR();
    	xhr.open("POST", "page.php",true);
    	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    	xhr.onreadystatechange = function()
    	{ 
    	if (xhr.readyState == 4 && xhr.status == 200) 
    		{
    			alert(xhr.responseText)
    		}
    	}
    	var data="ID="+id+"&supprimer=supprimer";
    	xhr.send(data);
    }
    J'ai mis en paramètre l'id de l'enregistrement à supprimer.
    Code PHP : 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
    <?php
    //Supprimer la donnée
    if(isset($_POST['supprimer']))//Si le bouton supprimer a été cliqué
    {
    $ID = $_POST['ID'];
    require('../model.php');//Fichier pour la connexion de la base de donnée
    mysqlDB_connect();
     
    $sql =  "DELETE FROM matable WHERE ID = '$ID'";;
    if(!mysql_query($sql))
    {
    echo ('Erreur SQL. La donnée ne peut pas être supprimée');
    }
    else {echo 'Suppression effectue'}
     
    }
     
    ?>
    Les tutoriels :
    http://ajax.developpez.com/cours/

  5. #5
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut
    Merci beaucoup.
    C'est très gentil de ta part.
    Puisque je dois détecter sur quel bouton on a cliqué, est ce que c'est juste de faire ceci :
    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
     
    <script text="javascript">
    function supprimer()
    {
    function createXHR() 
    {
        var request = false;
            try {
                request = new ActiveXObject('Msxml2.XMLHTTP');
            }
            catch (err2) {
                try {
                    request = new ActiveXObject('Microsoft.XMLHTTP');
                }
                catch (err3) {
    		try {
    			request = new XMLHttpRequest();
    		}
    		catch (err1) 
    		{
    			request = false;
    		}
                }
            }
        return request;
    }
    function supprimer(id) 
    {
    	var xhr=createXHR();
    	xhr.open("POST", "page.php",true);
    	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    	xhr.onreadystatechange = function()
    	{ 
    	if (xhr.readyState == 4 && xhr.status == 200) 
    		{
    			alert(xhr.responseText)
    		}
    	}
    	var data="ID="+id+"&supprimer=supprimer";
    	xhr.send(data);
    }
    }//Fin de fonction supprimer
    </script>
    Merci beaucoup de ta patience

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Non, tu n'as qu'à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="supprimer(5)"/>
    Supposons que '5' est l'id de l'enregistrement à supprimer.
    Je pense que ces boutons sont générés avec php!

Discussions similaires

  1. JSP : mettre du code java dans une fonction javascript
    Par padraig29 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/08/2010, 10h07
  2. Réponses: 3
    Dernier message: 26/06/2006, 13h48
  3. créer un type dans une fonction javascript
    Par amelhog dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/07/2005, 13h54
  4. créer un type hidden dans une fonction javascript
    Par amelhog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/05/2005, 12h17
  5. variable dynamique dans une fonction javascript
    Par Shivaneth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/04/2005, 15h58

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