Page 1 sur 1

insertion de données dans la base sql depuis un formulaire

Posté : 17 juin 2007, 19:17
par wik
Bonsoir,

Il se passe des choses "miraculeuses" :

je crée des infos depuis un formulaire que j'envoie pour les insérer dans la base de données... Après moultes galères, ça a finalement fonctionné, mais plus maintenant, alors que je n'ai (il me semble) rien touché !!

Est-ce possible ??? Quelqu'un peut éventuellement jeter un oeil et me dire ce qui ne va pas ???
Merci d'avance...

code de mon formulaire d'insertion :
<?php
	$requete1 = mysql_query ("SELECT * FROM artiste_dico ORDER BY artiste_nom");  
	 
	 echo'<form method="post" action="maj_artiste.php">
	 <select name="artist1" class="infoDisc"><option value=0>artiste 1</option>';

while ($artiste1 = mysql_fetch_array($requete1)){ 
  echo '<option value="'.$artiste1[dico_id].'">'. $artiste1[artiste_prenom] .' '. $artiste1[artiste_nom] .'</option>'; 
  }
echo '</select>
        &nbsp;<input type="text" name="txt" size="20" class="infoDisc">&nbsp;';
        
	$requete2 = mysql_query ("SELECT * FROM artiste_dico ORDER BY artiste_nom");
echo '<select name="artist2" class="infoDisc"><option value=0>artiste 2</option>';

while ($artiste2 = mysql_fetch_array($requete2)){ 
  echo '<option value="'.$artiste2[dico_id].'">'. $artiste2[artiste_prenom] .' '. $artiste2[artiste_nom] .'</option>'; 
  }
echo '</select><br>
		<span class="txt10grasBleu">sites </span><input type="text" name="web" size="10" value="http://www" class="infoDisc"><br>
		<span class="txt10grasBleu">1 </span><input type="text" name="site1" size="50" class="infoDisc"><br>
		<span class="txt10grasBleu">2 </span><input type="text" name="site2" size="50" class="infoDisc"><br>
		<span class="txt10grasBleu">artiste affilié </span>';

$requete3 = mysql_query ("SELECT * FROM artiste_dico ORDER BY artiste_nom");
echo '<select name="artist2" class="infoDisc"><option value=0>artiste affili&eacute;</option>';

while ($artiste3 = mysql_fetch_array($requete3)) { 
  echo '<option value="'.$artiste3[dico_id].'">'. $artiste3[artiste_prenom] .' '. $artiste3[artiste_nom] .'</option>'; 
  }
echo '</select><br>
        <input type="submit" name="inser_artiste" value="OK" class="txt10grasBleu">
      </form>';
?>
code pour l'envoi des données dans la base :
if (isset($inser_artiste) && isset($_POST['artist1']) && isset($_POST['artist2']) && isset($_POST['artist3'])){
$requete = mysql_query ("INSERT INTO artiste (artiste1_id, artiste_txt, artiste2_id, web, artiste_web1, artiste_web2, artiste_affilie) VALUES ('$_POST[artist1]', '$txt', '$_POST[artist2]', '$web', '$site1', '$site2', '$_POST[artist3]')") or die('Erreur :'. mysql_error());
echo "<span class='infoOutofstock'>$_POST[artist1] $txt $_POST[artist2] est cr&eacute;&eacute;.</span><br><br>";
}

Posté : 17 juin 2007, 19:54
par Sékiltoyai
$artiste3[dico_id]
On met des quotes autour de l'index :
$artiste3['dico_id']
Et ici :
$requete = mysql_query ("INSERT INTO artiste (artiste1_id, artiste_txt, artiste2_id, web, artiste_web1, artiste_web2, artiste_affilie) VALUES ('$_POST[artist1]', '$txt', '$_POST[artist2]', '$web', '$site1', '$site2', '$_POST[artist3]')") or die('Erreur :'. mysql_error());
Si tu fais "$_POST[artist1]", alors il ne va pas l'interpréter comme $_POST['artist1'], il faut sortir la variable de la chaine :
 "... '" . $_POST['artist1'] . "' ... "

Posté : 17 juin 2007, 20:21
par wik
Merci pour ta réponse.

J'ai fais les modifs comme tu me l'as conseillé, aucun changement...
Et encore une fois, le truc vraiment étrange est que ça marchait il y a un peu moins d'une semaine...

Posté : 17 juin 2007, 21:00
par Sékiltoyai
Poste les codes modifiés.

Posté : 18 juin 2007, 11:15
par wik
J'ai tout repris à zéro... Et j'avais bien fait une modif par inadvertance dans mon formulaire dans ma 3e requete dans le select : select name="artist2" au lieu de select name="artist3"
$requete3 = mysql_query ("SELECT * FROM artiste_dico ORDER BY artiste_nom"); 
echo '<select name="artist2" class="infoDisc"><option value=0>artiste affili&eacute;</option>'; >
Je n'ai pas eu besoin de modifier les quotes.

Merci !

Posté : 18 juin 2007, 11:24
par Sékiltoyai
Je n'ai pas eu besoin de modifier les quotes.
C'est une erreur de ne pas le faire.
Tu auras surement des problèmes un jour...