Formulaire php et ajout dans la base de donnée

Fermé
Gueguemi Messages postés 2 Date d'inscription samedi 16 mai 2009 Statut Membre Dernière intervention 17 janvier 2015 - Modifié par Whismeril le 17/01/2015 à 07:39
olivier3843 Messages postés 10 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 19 janvier 2015 - 17 janv. 2015 à 15:15
Bonjour,
Pour un projet je dois créer un formulaire qui crée un nouveau billet (deux espaces à remplir, 'titre' qui correspond au titre du billet et 'body' qui correspond au détail du billet)
J'arrive à faire apparaitre le formulaire mais celui ci ne met pas à jour ma base de donnée.
Le code est le suivant:

public function ajouterBillet(){
   echo "<b>  Titre du billet </b>";
   echo '<p><form method="post" action="/projet/blog/add">
       <input type="text"  placeholder="Titre" name="titre"> </br>
       <[/contents/493-les-formulaires-html textarea] rows="30" cols="80 name="body"></textarea> <br />
    <input  type="submit"  value="Publier"></p>

   </form>';
   if ((isset($_POST["titre"])) and (isset($_POST["body"]))){
   // $titre = $_POST['titre'];
   // $body= $_POST['body'];
    $b = Billet::create(array('titre' =>  $_POST["titre"],'body' => $_POST["body"]));
    $b->save();
   }


Que dois je faire pour bien mettre à jour la bdd?
j'utilise eloquent

EDIT: Ajout de la coloration syntaxique.

2 réponses

Bonjour,
Je crois comprendre que ta fonction envoie le form et récupère les infos soumises.
La cible de ton formulaire est /projet/blog/add. Est-ce bien l'url de ta page ? Tu peux laisser action vide (action="") pour que la page soit rechargée
Par ailleurs, il faut aussi que ton if soit exécuté lors de la soumission de la page pour regarder les infos, et donc pas juste après l'affichage du formulaire mais plus tard
Après faut voir le coté SQL...
Bonne chance
0
olivier3843 Messages postés 10 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 19 janvier 2015
17 janv. 2015 à 15:15
Bonjour, je vois trois problèmes :
1) ton code censé enregistrer les informations est contenu dans ta fonction qui affiche le formulaire. À moins que tu l'aies prévu ainsi, il semble peu probable que ce code s'execute. Je te conseille de séparer les fonctions d'affichage et de traitement.
2) le champ action="" pointe vers /projet/blog/add. Le fichier add n'a pas d'extension ? rajouter .php s'il s'agit d'un fichier php.
3) l'enregistrement semble devoir se faire via la méthode create de la classe Billet. Mais tu ne nous fournit pas ce code. Il est donc difficile de te répondre. Bon courage
0