Aller au contenu

Formulaire et BDD


Sujets conseillés

Posté (modifié)

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
Posté

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

Posté (modifié)

: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
Posté

Je parle pas de cet redirection la. Une fois le formulaire valider tu arrive sur la page traitement.php une fois sur cet pages j'aimerais une redirection vers une autre page.

Posté

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");

Posté

Nikel ca fonctionne.

Derniere question. Coment faire pour afficher les images stocker dans ma bdd sur une de mes pages ?

Merci d'avance

Veuillez vous connecter pour commenter

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



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