Aller au contenu

Formulaire et BDD


cyril77

Sujets conseillés

Bonjour,

Je souhaite pouvoir entrer les informations saisie dans mon formulaire dans une des tables de ma BDD.

Voici mon formulaire :

<form action="traitement.php" method="POST"> 

<p>
Titre : <input type="text" name="titre" /><br />
Déscription : <input type="text" name="description" /><br />
Disponibilité : <input type="text" name="disponible" /><br />
URL image : <input type="text" name="img" /><br />
<input type="submit" value="Envoyer" />
</p>

</form>

Voici ma page traitement.php

<?php 
mysql_connect("perso", "perso", "perso");
mysql_select_db("perso");

$titre = mysql_real_escape_string(htmlspecialchars($_POST['titre']));
$description = mysql_real_escape_string(htmlspecialchars($_POST['description']));
$disponible = mysql_real_escape_string(htmlspecialchars($_POST['disponible']));
$img = mysql_real_escape_string(htmlspecialchars($_POST['img']));

mysql_query("INSERT INTO fiches_amenagement VALUES('', '$titre', '$description', '$disponible','$img')");

mysql_close();
?>

Le code de ma BDD :

CREATE TABLE `fiches_amenagement` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`titre` text collate latin1_german2_ci NOT NULL,
`description` longtext collate latin1_german2_ci NOT NULL,
`disponible` longtext collate latin1_german2_ci NOT NULL,
`img` text collate latin1_german2_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=32 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=32;

Je pense que le probleme viens de l'id. Quand pensez-vous ?

Merci d'avance

Modifié par cyril77
Lien vers le commentaire
Partager sur d’autres sites

Tu n'as pas à envoyer d'ID à ta base de données, vu qu'il est en auto_incrément ... c'est donc mysql qui va le générer.

Donc dans ton insert, tu envoies '' ou null comme id, et si tu en as besoin, tu peux le récupérer ensuite avec mysql_insert_id() qui te donne l'id généré suite au dernier insert ;)

Dan

Lien vers le commentaire
Partager sur d’autres sites

:evil:Merci d'avoir repondu.

J'ai trouver ca fonctionne.

J'aimerais juste savoir comment faire pour mettre une redirection a la page traitement.php une fois les informations enregistrer dans la bdd

Modifié par cyril77
Lien vers le commentaire
Partager sur d’autres sites

Tu as plusieurs solutions :

- continuer sur la page traitement.php, aprés la balise "?>" tu peux mettre le code HTML de ta page

- faire une redirection grâce à la fonction header

Pour la fonction header il faut ajouter ceci à ton code, aprés mysql_close();

header("Location: tapage.php");

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...