PHP/MYSQL

Résolu/Fermé
Ibilolz Messages postés 130 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023 - 23 avril 2014 à 14:35
Ibilolz Messages postés 130 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023 - 23 avril 2014 à 16:21
Bonjour,



J'ai créer deux tables materiel/logiciel avec dans la table matériel une liste de pc et dans la table logiciel un petite liste de logiciel. J'ai créer une page comme ci dessous :

https://www.zupimages.net/up/14/17/8zg5.png


On peut visualiser les tables et par conséquant voir leur id. J'ai ensuite créer deux boutons déroulants avec en contenu les id des champs des tables . J'ai ensuite ajouter un bouton ajouter, et je veux que quand on clique dessus, il ajoute l'id du matériel et l'id du logiciel dans une table installer qui aura comme champs id_mat et id_log.



<?php 
 
      include 'fonctions.connect.php'; 
      $id_mat = "SELECT id_mat FROM Materiel"; 
      $nom_logi = "SELECT id_log FROM Logiciel";  
      $res2 = mysql_query($id_mat);
      $res3 = mysql_query($nom_logi);
      ?>
                <form action="" id="test"><select name="test1" id="test1"> 
                <option value='-1'>----Choisissez l'ID d'un matériel -----</option> 
                <?php 
                while ($row2 = mysql_fetch_array($res2))   
                { 
                $mat = $row2['id_mat']; 
                echo "<option value='$mat'>$mat</option>"; 
                }  
                ?> 
                </SELECT>
                <br></br>
		<div> 
                
                <select name="test2" id="test2"> 
                <option value='-1'>----Choisissez l'ID d'un logiciel -----</option> 
                <?php 
                while ($row3 = mysql_fetch_array($res3))   
                { 
                $nom = $row3['id_log']; 
                echo "<option value='$nom'>$nom</option>"; 
                }  
                ?> 
                 
                </select>
	 	</div> 
        <br></br>
		 <div> <input type="submit", name="submit" Value="Ajouter">
     
     <?php

include 'fonctions.connect.php';


if(isset($_POST['test1'], $_POST['test2']))

{


$test1 =  $_POST['test1'];
$test2 =  $_POST['test2'];

$sql = "INSERT INTO installer (id_mat,id_log) VALUES ('$test1','$test2' )";

mysql_query($sql) or die(mysql_error()) ;

}

?>

            </form></div>





Mais ça ne marche pas, je n'ai pas d'erreur mais il n'ajoute rien et pourtant quand je clique sur ajouter l'url de la page devient :
http://localhost/test3/Config.php?test1=1&test2=3&submit=Ajouter
Donc il trouve les valeurs mais ne les ajoutent pas...
Merci d'avance

4 réponses

Benoit A. Messages postés 454 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 13 août 2015 515
23 avril 2014 à 14:41
Il faut que tu créés une page en .php dans le même dossier que ta page en question comme par exemple : ajout_materiel.php

Modifie cette ligne :

<form action="./ajout_materiel.php" id="test"><select name="test1" id="test1">


Et dans la page ajout_materiel.php tu peux mettre ton insert into dans ta table "installer" en récupérant
$test1 =  $_POST['test1'];
$test2 = $_POST['test2'];
0
Ibilolz Messages postés 130 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023
Modifié par Ibilolz le 23/04/2014 à 15:31
En faisant :

      <?php 
 
      include 'fonctions.connect.php'; 
      $id_mat = "SELECT id_mat FROM Materiel"; 
      $nom_logi = "SELECT id_log FROM Logiciel";  
      $res2 = mysql_query($id_mat);
      $res3 = mysql_query($nom_logi);
      ?>
                <form action="test.php" id="test"><select name="test1" id="test1"> 
                <option value='-1'>----Choisissez l'ID d'un matériel -----</option> 
                <?php 
                while ($row2 = mysql_fetch_array($res2))   
                { 
                $mat = $row2['id_mat']; 
                echo "<option value='$mat'>$mat</option>"; 
                }  
                ?> 
                </SELECT>
                <br></br>
  <div> 
                
                <select name="test2" id="test2"> 
                <option value='-1'>----Choisissez l'ID d'un logiciel -----</option> 
                <?php 
                while ($row3 = mysql_fetch_array($res3))   
                { 
                $nom = $row3['id_log']; 
                echo "<option value='$nom'>$nom</option>"; 
                }  
                ?> 
                 
                </select>
   </div> 
        <br></br>
   <div> <input type="submit", name="submit" Value="Ajouter">
            </form></div>

</html>


Avec mon test.php :

<?php

include 'fonctions.connect.php';


if(isset($_POST['test1'], $_POST['test2']))

{


$test1 =  $_POST['test1'];
$test2 =  $_POST['test2'];

$sql = "INSERT INTO installer (id_mat,id_log) VALUES ('$test1','$test2' )";

mysql_query($sql) ;

}

?>


ça ne marche toujours pas
0
Bonjour

Il faut que tu ajoutes method="post" dans ta balise <form>.
Actuellement, comme tu n'as rien mis, tu utilises la méthode GET : tes variables apparaissent dans l'url.
Mais ça veut dire que tu les récupères dans la variable $_GET, or toi tu essayes de les récupérer dans $_POST.
0
Ibilolz Messages postés 130 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023
Modifié par Ibilolz le 23/04/2014 à 16:23
ça marche, merci
0