Recuperer les element de <select> et mettre dans la base de donnée

cs_sory2sylla Messages postés 7 Date d'inscription jeudi 24 novembre 2011 Statut Membre Dernière intervention 3 janvier 2013 - 25 déc. 2012 à 01:29
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 3 janv. 2013 à 00:50
Bonsoir,
Mon soucit est que je n'arrive pas a recuperer le contenu d'une liste deroulante(c'est a dire un <select>) pour le mettre dans la base de donnée.
voici mon formulaire :
<html>
<head></head>

<tale>
<form method=\"POST\" action=\"recuajoutmedia.php\">
----
Type:, <select id="typ" name="typ">
<option value="film">Films</option>
<option value="music" selected>Musics</option>
<option value="photo">photos</option>
</select>,

----
Titre:, ,

----
Support:,

<select id="support" name="support">
<option value="dvd" >DVD</option>
<option value="cd">CD</option>
<option selected value="usb">Clé USB</option>
</select>,

----
Format:,
<select id="format[]" name="format">
<option value="mpg4">MPG4</option>
<option value="mp3" selected>MP3</option>
<option value="jepg">JEPG</option>
<option value="gif">GIF</option>
<option value="wav">WAV</option>
<option value="avi">AVI</option>
<option value="mp4">MP4</option>
</select>,

----
Public:, Oui
Non,

----
,
</form>

</table>

</html>

Voici mon script de recuperation :
<?php
include_once'fonction.php';
connexion('mediatec');
?>
<html>

<?php
$ty=$_POST['typ'];
$titre=$_POST['titre'];
$su=$_POST['support'];
$fo=$_POST['format'];
$resu="INSERT INTO media VALUES('','$ty','$titre','$su','$fo','')";
mysql_query($resu);
echo"AJOUT EFFECTUER";
?>

</html>
voici le code d'erreur qui s'affiche lorsque je valide l'ajout.
ya t'il des erreur dans mon code???

6 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
25 déc. 2012 à 13:03
Salut,

ya t'il des erreur dans mon code?

Oui, beaucoup. Sans indentation ni coloration syntaxique ce n'est pas évident du tout de lire ton code mais voici quelques trucs que j'ai vu :
[list]
[*] format est un tableau et non une chaîne de caractères
[*] les trucs du genre $toto = $_POST['toto']; sont totalement inutiles et trompeurs
[*] il ne faut pas utiliser les fonctions mysql_* !
[*] la balise <tale> n'existe pas, tu devais vouloir utiliser <table>
[*] Faire de la mise en forme en html, surtout à grands coups de tables, c'est dégueulasse
[*] participe passé et non infinitif : "AJOUT EFFECTUER" => "AJOUT EFFECTUÉ"
/list
0
Utilisateur anonyme
25 déc. 2012 à 23:13
Salut,

J'allais dire la même chose.
D'ailleurs, la ligne suivante tourne-t-elle normalement $resu="INSERT INTO media VALUES('','$ty','$titre','$su','$fo','')"; ? Par ce que, si je ne me trompe pas, '$foo' restera toujours la chaîne de caractères $foo et ne sera jamais remplacée par la valeur de la variable $foo. Il aurait fallu échappe les '' pour respecter la syntaxe de la requête.


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
26 déc. 2012 à 12:35
Salut,

@Pylouq : ça marche bien oui, les doubles quotes permettent l'expansion des variables, donc $foo est bien remplacé par sa valeur.
0
Utilisateur anonyme
26 déc. 2012 à 15:20
Salut,

Oups, boulette, j'avais zappé les double quotes qui contiennent la requête, j'étais focalisé sur les simples quotes, mea culpa.


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sory2sylla Messages postés 7 Date d'inscription jeudi 24 novembre 2011 Statut Membre Dernière intervention 3 janvier 2013
3 janv. 2013 à 00:33
bonsoir ,
merci à vous tous d'avoir eu l’amabilité de regarder mon code.
En ce qui concerne les réponse j'ai pas trop compris ,particulièrement la réponse de Mr TychoBrahe: que voulez vous dire :"il ne faut pas utiliser les fonctions mysql_* ! " ,j'aimerai que vous m’éclaircissez ce point parce que moi je connais pas une autre fonction capable exécuter une requête sur une base de donnée.
merci
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
3 janv. 2013 à 00:50
Salut,

que voulez vous dire :"il ne faut pas utiliser les fonctions mysql_* ! " ,j'aimerai que vous m’éclaircissez ce point parce que moi je connais pas une autre fonction capable exécuter une requête sur une base de donnée

Tu sais, si c'est écrit en bleu c'est que c'est un lien, tu devrais alelr le lire car c'est un article très bien écrit ! ;)
0
Rejoignez-nous