Execute sql with button

Résolu
DerkoFR Messages postés 652 Statut Membre -  
DerkoFR Messages postés 652 Statut Membre -
Bonjour,

Voilà mon code est terminé, j'aimerais bien quand on clique sur un boutton une fonction sql s’exécute, comment faire ?



--
Apprenti développeur.
HTML,CSS, PHP & JAVA (Créateur de SiteWEB)

3 réponses

  1. Utilisateur anonyme
     
    bouton -> evenement onlick -> requete ajax au script php qui execute la requete
    0
    1. DerkoFR Messages postés 652 Statut Membre 74
       
      Salut, tu peux me donner un code s'il te plaît ?
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Tu peux utiliser plusieurs façons de faire.
    - Un formulaire (ce qui implique à réaffichage de la page à chaque clic ) :
    https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples
    https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees

    - Un "lien" avec une variable de type GET (la aussi.. changement de page ou réaffichage de la page)
    https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/912799-transmettez-des-donnees-avec-lurl

    - L'ajax (mélange de javascript + php, qui lui a l'avantage de ne pas avoir à recharger la page)
    Pour l'ajax, je te conseille fortement d'utiliser JQUERY (librairie javascript).
    Voici un exemple complet d'ajax : https://forums.commentcamarche.net/forum/affich-33258760-remplir-un-formulaire-dynamiquement-en-fonction-d-une-combobox#2
    (mais tu trouveras de très nombreux exemples sur le net sans souci.... )
    0
  3. DerkoFR Messages postés 652 Statut Membre 74
     
    <?php
      include_once('_ressources/classes/check.class.php');
    
    
      $username = (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : $_SESSION['jigowatt']['username'];
      $guil = "\"\"";
      $number = "2";
      try
            {
             $bdd = new PDO(************ PROTECT');
             $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            
            }
          catch(Exception $e)
           {
            die('Erreur : '.$e->getMessage());
           }
        if(isset($_POST['submit'])){
         $bdd->exec("UPDATE login_users SET user_level=\"a:1:{i:0;s:1:$guil$number$guil;}\" WHERE username='".$username."'");
        }
    ?>
       
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
          <title>test</title>
          <link rel="stylesheet" type="text/css" href="_ressources/concours/travail/css/lottoform.css" />
      </head>
        <body>
          <div class="container">
            <section id="content">
              <form action=""> 
                <h1>AchatHebs - VIP SUCCES!</h1>      
                <p> Vous êtes maintenant V.I.P. Merci pour votre achat ! Votre transaction est maintenant terminée.
                <br>          
                 
                 
                </form>
                <div class="button">            
                   <form action='' method='POST'>         
                       <input onclick="alert('Merci de déco/reco?');" type='submit' name='submit'/>
                   </form>
                </div>
            </section>
          </div>
        </body>
    </html>
    


    Bonjour, alors voilà mon code exécute même sans appuyer sur le bouton.. comment faire ?
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Heu...
      Ceci:

      Bonjour, alors voilà mon code exécute même sans appuyer sur le bouton.. comment faire ?

      Tu veux dire quoi exactement.....
      Que ton code (actuellement) s'exécute même si on ne clique pas sur le bouton ....
      ou bien que tu voudrais que ton code s'exécute sans avoir à cliquer sur le bouton ? (car là.. ta formulation n'est pas clair...)
      0
    2. DerkoFR Messages postés 652 Statut Membre 74
       
      Haha désolé.

      Normalement : Il doit s’exécuter quand on clique sur le button.

      Problème Actuel : Il exécute même si nous avons pas cliquer sur le button
      0
    3. DerkoFR Messages postés 652 Statut Membre 74
       
      Donc je sais pas comment faire :/
      0
    4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Comme ça ? :
      <?php
        include_once('_ressources/classes/check.class.php');
        
      	//connexion à la BDD
        try{
      		 $bdd = new PDO('************ PROTECT');
      		 $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);	
      	}catch(Exception $e){
      		die('Erreur : '.$e->getMessage());
      	 }
      
      	$username = (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : $_SESSION['jigowatt']['username'];
        $guil = "\"\"";
        $number = "2";	 
      	
      	//Si le bouton submit est cliqué :
      	if(isset($_POST['submit'])){
      	 $sql = "UPDATE login_users SET user_level=\"a:1:{i:0;s:1:$guil$number$guil;}\" WHERE username='$username'";
      	 $bdd->exec($sql);
      	 $titre = "AchatHebs - VIP SUCCES!";
      	 $message = "Vous êtes maintenant V.I.P. Merci pour votre achat ! Votre transaction est maintenant terminée";
      	}
      ?>
         
      
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="utf-8">
            <title>test</title>
            <link rel="stylesheet" type="text/css" href="_ressources/concours/travail/css/lottoform.css" />
        </head>
          <body>
            <div class="container">
              <section id="content">
                  <h1><?php echo $titre;?></h1>      
                  <p> <?php echo $message;?></p>
                  <br>          
                           
                  <div class="button">            
                     <form action='' method='POST'>         
                         <input onclick="alert('Merci de déco/reco?');" type='submit' name='submit'/>
                     </form>
                  </div>
              </section>
            </div>
          </body>
      </html>
      
      0
    5. DerkoFR Messages postés 652 Statut Membre 74
       
      Franchement... Merci beaucoup jordane45.

      Le code fonctionne très bien!

      Bonne journée a vous.
      0