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. 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. 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. <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. <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. J'ai déjà tous essayer mais ça marche toujours pas!
          J'ai déjà envoyer mon formulaire.
          1. <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">
              
          2. 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...
          3. 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
          4. 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. Bonjour

              Ton formulaire utilise-t-il bien la méthode POST ? Peux-tu nous montrer ce formulaire ?
              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 .