Formulaire php et ajout dans la base de donnée

Gueguemi Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
olivier3843 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

2 réponses

Helper
 
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   Statut Membre Dernière intervention  
 
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