Requete vers mysql

Résolu
Salut à tous! Je suis nouveau dans ce forum. Je tente d'insérer des données vers mysql et ça marche mais le problème c'est que tous les données sont vides. Je vous présentes ici mes codes:

$nom = NULL;
$prenom = NULL;
$adresse = NULL;
$tel = NULL;
$atelier = NULL;
$mail = NULL;
$fb = NULL;
$service = NULL;
if(isset($_POST['nom']))
{
$nom=$_POST['nom'];
}
if(isset($_POST['prenom']))
{
$prenom=$_POST["prenom"];
}
if(isset($_POST['adresse']))
{
$adresse=$_POST["adresse"];
}
if(isset($_POST['tel']))
{
$tel=$_POST["tel"];
}
if(isset($_POST['atelier']))
{
$Atelier=$_POST["atelier"];
}
if(isset($_POST['mail']))
{
$mail=$_POST["mail"];
}
if(isset($_POST['fb']))
{
$fb=$_POST["fb"];
}
if(isset($_POST['service']))
{
$service=$_POST['service'];
}
try{
$con = mysql_connect('localhost','root','');
mysql_select_db("maintenanceinfo");
}catch(Exception $ex){
   die('Erreur : ' .$ex->getMessage());
   }
$ajouter  = "INSERT INTO utilisateur (nom_user,prenom_user,adresse_user,tel_user,atelier_user,mail_user,fb_user,service_user) VALUES ('$nom','$prenom','$adresse','$tel','$atelier','$mail','$fb','$service')";
try{
$requete = mysql_query($ajouter,$con) or die(mysql_error());
}catch(Exception $e){
 die('Erreur :'.$e->getMessage());
 }
if($requete)
{
echo "Insertion avec succès $nom";
}
else {
echo "Insertion échoué";
}



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.

12 réponses

  1. Bonjour

    Ton formulaire utilise-t-il bien la méthode POST ? Peux-tu nous montrer ce formulaire ?
    1. Modérateur
      Bonjour,

      Essayes ceci :
      <?php
      
      if(!isset($_POST)){
       echo " Erreur : AUCUNE variable POST detectée ! ";
      }
      
      //Récupération des variables :
       $nom    = !empty($_POST['nom'])?$_POST['nom']:NULL;
       $prenom  = !empty($_POST['prenom'])?$_POST['prenom']:NULL;
       $adresse  = !empty($_POST['adresse'])?$_POST['adresse']:NULL;
       $tel    = !empty($_POST['tel'])?$_POST['tel']:NULL;
       $atelier  = !empty($_POST['atelier'])?$_POST['atelier']:NULL;
       $mail   = !empty($_POST['mail'])?$_POST['mail']:NULL;
       $fb    = !empty($_POST['fb'])?$_POST['fb']:NULL;
       $service  = !empty($_POST['service'])?$_POST['service']:NULL;
      
      
       //Connexion à la BDD
        $con = mysql_connect('localhost','root','') or die(mysql_error());
        mysql_select_db("maintenanceinfo") or die(mysql_error());
      
        $ajouter  = "INSERT INTO utilisateur (nom_user,prenom_user,adresse_user,tel_user,atelier_user,mail_user,fb_user,service_user) VALUES ('$nom','$prenom','$adresse','$tel','$atelier','$mail','$fb','$service')";
        $requete = mysql_query($ajouter,$con) or die(mysql_error());
      
       if($requete){
         echo "Insertion avec succès $nom";
       }else {
        echo "Insertion échoué";
      }
      


      Et comme le suggère Le_père .. montre nous également ton formulaire HTML.

      PS : Attention.. l'extension Mysql_* est considérée comme obsoloète. Il est souhaitable de passer à mysqli_* ou ( je préfère..) la PDO.
      https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

      .
      Cordialement,
      Jordane
      1. Modérateur
        Tu es sûr d'avoir activé l'extension mysql ?
        Il faut que tu configures PHP (PHP5 je suppose) pour qu'il charge l'extension MySQL
        Dans le php.ini, il faut rajouter la ligne :

        extension=php_mysql.dll


        et que tu vérifies que la directive "extension_dir" pointe bien sur le répertoire des dll.
        Ensuite redémarre ton serveur.

        .

        Mais bon.. comme je te l'ai conseillé plus haut ..... passes à la PDO !
        1. Note que ce n'est pas le demandeur initial qui se plaint du "Call to undefined function mysql_connect", mais le helpeur qui lui conseille d'installer "menuellement" apache et PHP...
      2. <div>
            <form name="users" action="reqajout.php" methode="POST">
         <fieldset>
         <legend>Vueillez saisir votre coordonnée</legend>
         
                <p>
                    <label>Identification : </label>
           <br><input type="text" name="id"/></br>
                </p>
                <p>
                    <label>Nom : </label>
           <br><input type="text" name="nom"/></br>
                </p>
                <p>
                    <label>Prénom : </label>
           <br><input type="text" name="prenom"/></br>
                </p>
          <p>
                    <label>Adresse : </label>
           <br><input type="text" name="adresse"/></br>
                </p>
                <p>
                    <label>Tél : </label>
           <br><input type="tel" name="tel"/></br>
                </p>
          <p>
                    <label>Atelier : </label>
           <br><select name="atelier"/>
                   <option value="1">1</option>
            </select>
           </br>
            
                </p>
                <p>
                    <label>Email : </label>
           <br><input type="mail" name="mail"/></br>
                </p>
                <p>
                    <label>fb : </label>
           <br><input type="text" name="fb"/></br>
                </p>
          <p>
                    <label>Service : </label>
           <br><input type="text" name="service"/></br>
                </p>
          </fieldset>
          <p>
              <br><input type="submit" value="Envoye"/></br>
          </p>
          <p>
           <br><input type="reset" value="reset"/></br>
             </p>
         </form>
        </div>
        


        EDIT : Ajout des balises de code (la coloration syntaxique).
        Explications disponibles ici :
        https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

        Merci d'y penser dans tes prochains messages.
        1. Modérateur
          method SANS E
          methode="POST">
          

          A changer par
          method="POST">
          
      3. J'ai déjà tous essayer mais ça marche toujours pas!
        J'ai déjà envoyer mon formulaire.
        1. <code><div>
              <form name="users" action="reqajout.php" methode="GET">
           <fieldset>
           <legend>Vueillez saisir votre coordonnée</legend>
           
                  <p>
                      <label>Identification : </label>
             <br><input type="text" name="id"/></br>
                  </p>
                  <p>
                      <label>Nom : </label>
             <br><input type="text" name="nom"/></br>
                  </p>
                  <p>
                      <label>Prénom : </label>
             <br><input type="text" name="prenom"/></br>
                  </p>
            <p>
                      <label>Adresse : </label>
             <br><input type="text" name="adresse"/></br>
                  </p>
                  <p>
                      <label>Tél : </label>
             <br><input type="tel" name="tel"/></br>
                  </p>
            <p>
                      <label>Atelier : </label>
             <br><select name="atelier"/>
                     <option value="1">1</option>
              </select>
             </br>
              
                  </p>
                  <p>
                      <label>Email : </label>
             <br><input type="mail" name="mail"/></br>
                  </p>
                  <p>
                      <label>fb : </label>
             <br><input type="text" name="fb"/></br>
                  </p>
            <p>
                      <label>Service : </label>
             <br><input type="text" name="service"/></br>
                  </p>
            </fieldset>
            <p>
                <br><input type="submit" value="Envoye"/></br>
            </p>
            <p>
             <br><input type="reset" value="reset"/></br>
               </p>
           </form>
          </div>
          
          </code>
          1. <div>
                <form name="users" action="reqajout.php" methode="GET">
            	<fieldset>
            	<legend>Vueillez saisir votre coordonnée</legend>
            	
                    <p>
                        <label>Identification : </label>
            			<br><input type="text" name="id"/></br>
                    </p>
                    <p>
                        <label>Nom : </label>
            			<br><input type="text" name="nom"/></br>
                    </p>
                    <p>
                        <label>Prénom : </label>
            			<br><input type="text" name="prenom"/></br>
                    </p>
            		<p>
                        <label>Adresse : </label>
            			<br><input type="text" name="adresse"/></br>
                    </p>
                    <p>
                        <label>Tél : </label>
            			<br><input type="tel" name="tel"/></br>
                    </p>
            		<p>
                        <label>Atelier : </label>
            			<br><select name="atelier"/>
            			        <option value="1">1</option>
            				</select>
            			</br>
            			 
                    </p>
                    <p>
                        <label>Email : </label>
            			<br><input type="mail" name="mail"/></br>
                    </p>
                    <p>
                        <label>fb : </label>
            			<br><input type="text" name="fb"/></br>
                    </p>
            		<p>
                        <label>Service : </label>
            			<br><input type="text" name="service"/></br>
                    </p>
            		</fieldset>
            		<p>
            		    <br><input type="submit" value="Envoye"/></br>
            		</p>
            		<p>
            			<br><input type="reset" value="reset"/></br>
            	    </p>
            	</form>
            </div>
            
            1. Merci de m'avoir aider les gens! J'ai finalement résolus le problème! Enfaite, j'ai eu une petite érreur quand j'ai écrit la METHOD avec E. Et maintenant ça marche.
              1. Modérateur
                Et oui...
                comme je te l'avais indiqué ......

                Par contre... si ta question est résolue ... merci de clore le sujet en cliquant sur le lien "Marquer comme résolu" sous le titre de ta question.
            2. Salut,

              Pour compléter, ce que tu as fais est un bel exemple de faille SQLi, à ne surtout pas reproduire :)

              Pour résoudre ce problème, comme te l'as suggéré jordane45, utilise plutôt PDO (mysql_ étant obsolète) avec des requêtes préparées.
              1. tout ca c'est des balise php ta probablement mal installer php ou apache
                1. Si si! Je vous assure que j'ai belle et bien installer le wampserver parce que même si je le refait sur un autre ordinateur ça marche pas.
                2. wamp server né pas le méilleur comme moi j'ai ouvert phpmyabmin elle me diser que j'avais une erreur. je les sais installer menuellement apache et php et puis sa a foncioner .
              2. moi sa ma donner: Fatal error: Call to undefined function mysql_connect() in C:\Apache24\htdocs\index.php on line 19
                pour
                <?php
                
                if(!isset($_POST)){
                 echo " Erreur : AUCUNE variable POST detectée ! ";
                }
                
                //Récupération des variables :
                 $nom    = !empty($_POST['nom'])?$_POST['nom']:NULL;
                 $prenom  = !empty($_POST['prenom'])?$_POST['prenom']:NULL;
                 $adresse  = !empty($_POST['adresse'])?$_POST['adresse']:NULL;
                 $tel    = !empty($_POST['tel'])?$_POST['tel']:NULL;
                 $atelier  = !empty($_POST['atelier'])?$_POST['atelier']:NULL;
                 $mail   = !empty($_POST['mail'])?$_POST['mail']:NULL;
                 $fb    = !empty($_POST['fb'])?$_POST['fb']:NULL;
                 $service  = !empty($_POST['service'])?$_POST['service']:NULL;
                
                
                 //Connexion à la BDD
                  $con = mysql_connect('localhost','root','') or die(mysql_error());
                  mysql_select_db("maintenanceinfo") or die(mysql_error());
                
                  $ajouter  = "INSERT INTO utilisateur (nom_user,prenom_user,adresse_user,tel_user,atelier_user,mail_user,fb_user,service_user) VALUES ('$nom','$prenom','$adresse','$tel','$atelier','$mail','$fb','$service')";
                  $requete = mysql_query($ajouter,$con) or die(mysql_error());
                
                 if($requete){
                   echo "Insertion avec succès $nom";
                 }else {
                  echo "Insertion échoué";
                }
                


                EDIT : Ajout des balises de code (la coloration syntaxique).
                Explications disponibles ici :
                https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

                Merci d'y penser dans tes prochains messages.
                .

                Daniel