Remplissage d'une bd à partir d'un formulaire

Résolu
birdsfly Messages postés 240 Date d'inscription   Statut Membre Dernière intervention   -  
birdsfly Messages postés 240 Date d'inscription   Statut Membre Dernière intervention   -
Saluut,
J'ai un problème :(
voilà, j'ai une base de données que je dois remplir à partir d'un formulaire avec une zone de texte et bouton, donc je dois utiliser la GET (je pense) , voici le code que j'ai utilisé :
<?php
$base = mysql_connect ("localhost", "root", "");
mysql_select_db ("essai") ;
// lancement de la requete
$var=$_GET['nom'];
$sql = 'INSERT INTO essai VALUES ($var)';
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close();
?>
L'execution me donne le msg d'erreur suivant :
Erreur SQL !INSERT INTO essai VALUES ($var)
Unknown column '$var' in 'field list'
Est-ce qu'il y a une erreur de syntaxe ou ... ?? pouvez vous m'aider svp?
Merci d'avance

9 réponses

arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Si ton formulaire comporte la balise form écrite avec method="post" (ce qui est plutôt conseillé) tu dois remplacer $_GET['nom'] par $_POST['nom']
0
birdsfly Messages postés 240 Date d'inscription   Statut Membre Dernière intervention   15
 
Merci
J'ai remplacé GET par POST, mais l'erreur est tjr là, je pense que le problème est avec la variable $var :

$var=$_GET['nom'];
$sql = 'INSERT INTO essai VALUES ($var)';


Qu'est ce que vous en pensez?? Peut etre elle doit etre déclarée quelque part??
Merci
0
le père
 
Bonjour

Tu as un problème au niveau de la chaîne PHP et un au niveau de la requêtee mysql
Au niveau PHP : si tu veux que ta variable soit remplacée par sa valeur, il faut que la chaîne soit délimitée par des double quotes et non pas par des simples
Au niveau Mysql : la valeur , sauf si le champ est de type numérique, doit être entre quotes (simples ou doubles)
Donc au final :
$sql = "INSERT INTO essai VALUES ('$var')";

Ceci ne marchera que si ta table essai a UNE SEULE colonne

Pour le GET ou le POST, pas la peine d'essayer, il suffit de mettre la bonne méthode du premier coup, celle qui est indiquée dans le formulaire (GET si aucune méthode n'est indiquée)
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Ben justement,
$_GET['nom'] deviens $_POST['nom']
0
le père
 
?? j'ai dû mal lire, je ne vois pas ce qui permet de trancher.
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475 > le père
 
Voir les précédents messages.
Je lui ai suggéré d'utilisé method="post" dans son formulaire.

En plus ton message était pas présent sur le forum quand j'ai répondu. :)
0
le père > arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention  
 
Ok, comme ton message s'est glissé juste après le mien, j'ai cru que c'était à moi que tu répondais.
Par contre, pour le GET ou le POST, je ne sais toujours pas s'il a changé dans le formulaire ou le script, enfin, si ça marche maintenant...
0

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

Posez votre question
birdsfly Messages postés 240 Date d'inscription   Statut Membre Dernière intervention   15
 
Wiiii ça marche, merciii merci bcp
0
hanagi Messages postés 135 Date d'inscription   Statut Membre Dernière intervention   3
 
oui le père tous marche bien pour moi (elle) grace à vous et à arthezius et merci bcpp . j'ai remplacé les GET par des POST, mais jusqu'à présent je ne sais pas kel différence entre les 2 méthodes?? une idée??
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
La method GET fait passé les variables par l'url. N'importe qui peux donc voir les variables qui sont utilisé.
D'une manière général, il est préférable d'utilisé la méthode post.
0
hanagi Messages postés 135 Date d'inscription   Statut Membre Dernière intervention   3
 
j'avais le méme prob que birdsfly, et je pense ke ça marche pour lui aussi
0
hanagi Messages postés 135 Date d'inscription   Statut Membre Dernière intervention   3
 
aaah wi mnt j comprends. merci :)

Et vous avez vraiment raison avec : « La recherche commence là où s'arrête la connaissance. » ;)

à+
0
birdsfly Messages postés 240 Date d'inscription   Statut Membre Dernière intervention   15
 
merciii pour votre aide, ts marche bien grace à vous
0