Insérer une variable php après clic sur bouton (table mysql)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Insérer une variable php après clic sur bouton (table mysql)

Re: Insérer une variable php après clic sur bouton (table mysql)

par sirakawa » 21 juil. 2011, 20:44

Je sais que ça ne répond pas à la question mais :
<?php

// Affiche le formulaire si l'utilisateur est connecté
if(!isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: index.php");
}
else
{
    // Formulaire visible par défaut
     $masquer_formulaire = false;
       // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
            // Vérification de la validité des champs
          if(!ereg("^[A-Za-z_]{3,12}$", $_POST["TB_Nom_Perso"]))
          {
               $message = "Votre nom de personnage doit comporter entre 4 et 12 caractères\n";
               $message .= "L'utilisation de l'underscore est autorisée";
           }
          else
          {
                // Connexion à la base de données
               // Valeurs à modifier selon vos paramètres configuration
               mysql_connect("localhost", "root", "");
               mysql_select_db("thelostgods");
               
               // Vérification de l'unicité du nom du perso
               $result = mysql_query("
                    SELECT Nom_Perso
                    FROM Personnages
                    WHERE Nom_Perso = '" . $_POST["TB_Nom_Perso"] . "'
               
               ");
               
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
               }
               else
               {
                     // Si un enregistrement est trouvé : 
//il est certainement inutile de parcourir les résultats pour les retester
                    if(mysql_num_rows($result) > 0)
                    {
                         while($row = mysql_fetch_array($result))
                         {
                             
                              if($_POST["TB_Nom_Perso"] == $row["Nom_Perso"])
                              {
                                   $message = "Le nom " . $_POST["TB_Nom_Perso"];
                                   $message .= "est déjà utilisé";
                              }
                            }
                      }
                    else
                    {
                          // Création du personnage
    
Plus sérieusement, de quels types sont ` Classe`, Argent , etc dans la base de données...
Enfin, au lieu de faire :
 // Création du personnage
                   $result = mysql_query("
                             
                       INSERT INTO Personnages(
                                     Nom_Perso...
fais
$requete="
                             
                       INSERT INTO Personnages(
                                     Nom_Perso...
et
print "$requete"; die(); 
result = mysql_query($requete);
puis tu passes dans phpmyadmin, ou dans mysql en ligne de commande, et tu fais exécuter la requête pour voir ce que raconte mysql. Php n'est pas très bavard dans certains cas (oui, j'ai une arrière-pensée.. cf plus haut).

Re: Insérer une variable php après clic sur bouton (table mysql)

par Vulfhelm » 21 juil. 2011, 20:12

Un petit up s'il vous plait? :roll:

Merci d'avance,

Vulfhelm.

Insérer une variable php après clic sur bouton (table mysql)

par Vulfhelm » 20 juil. 2011, 21:29

Salut à tous,

Le titre est très explicite, voilà plusieurs jours que je bute, et c'est très énervant...

J'aimerais inserer ce que vaux ma variable après un clic sur bouton dans ma table sql

Tout fonctionne seulement, ma variable vaux 0 en permanence...

Tout cela se trouve dans un formulaire.

Voici les différents codes :

Mon formulaire :

Code : Tout sélectionner

<?php // Affiche le formulaire si l'utilisateur est connecté if(!isset($_COOKIE["ID_UTILISATEUR"])) { header("Location: index.php"); } else { // Formulaire visible par défaut $masquer_formulaire = false; // Une fois le formulaire envoyé if(isset($_POST["BT_Envoyer"])) { // Vérification de la validité des champs if(!ereg("^[A-Za-z_]{3,12}$", $_POST["TB_Nom_Perso"])) { $message = "Votre nom de personnage doit comporter entre 4 et 12 caractères<br />\n"; $message .= "L'utilisation de l'underscore est autorisée"; } else { // Connexion à la base de données // Valeurs à modifier selon vos paramètres configuration mysql_connect("localhost", "root", ""); mysql_select_db("thelostgods"); // Vérification de l'unicité du nom du perso $result = mysql_query(" SELECT Nom_Perso FROM Personnages WHERE Nom_Perso = '" . $_POST["TB_Nom_Perso"] . "' "); // Si une erreur survient if(!$result) { $message = "Erreur d'accès à la base de données lors de la vérification d'unicité"; } else { // Si un enregistrement est trouvé if(mysql_num_rows($result) > 0) { while($row = mysql_fetch_array($result)) { if($_POST["TB_Nom_Perso"] == $row["Nom_Perso"]) { $message = "Le nom " . $_POST["TB_Nom_Perso"]; $message .= "est déjà utilisé"; } } } else { // Création du personnage $result = mysql_query(" INSERT INTO Personnages( Nom_Perso , Classe , Argent , Ptsstats , Level , Compte , `Vie` , `Force` , `Intelligence` , `Recup` ) VALUES( '" . $_POST["TB_Nom_Perso"] . "' , '" . $classe . "' , '10' , '0' , '1' , '" . $_COOKIE["ID_UTILISATEUR"] . "' , '10' , '10' , '10' , '10' ) "); // Si une erreur survient if(!$result) { die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); } else { // On masque le formulaire $masquer_formulaire = true; } } } } // Fermeture de la connexion à la base de données mysql_close(); } }

La modification de ma variable dans mon code HTML :

Code : Tout sélectionner

Classe : <?php // Choix de la classe $classe =0; if(isset($_POST["BT_Magicien"])) { $classe =1; echo ' Vous avez choisi un Magicien. '; var_dump($classe) } if(isset($_POST["BT_Chevalier"])) { $classe =2; echo ' Vous avez choisi un Chevalier. '; var_dump($classe) } else {} if($classe ==0) { echo 'Veuillez choisir une classe.'; } else {} ?> <p> <input type="submit" name="BT_Magicien" value="Magicien" /><br /> <input type="submit" name="BT_Chevalier" value="Chevalier" /><br /> <input type="submit" name="BT_Envoyer" value="Envoyer" /> </p>


Et $classe vaux 0 en permanence dans ma table mysql...

Auriez vous une idée pour faire fonctionner tout ça?

En vous remerciant grandement d'avance,

Cordialement,

Vulfhelm