Mon form ne fonctionne pas, je ne sais pas si le chemin de la fonction est correcte ou si c'est autre chose.
ERREUR:
An invalid form control with name='Contenu' is not focusable.
code form:
<form action="add_post.php" method="post" class="form-example">
<div class="form-example">
<label for="name">Titre du billet:
<input type="text" name="Titre" id="Titre" required></label>
</div>
<div class="form-example">
<div><label for="name">Contenu: </label></div>
<div class="input_text"> <textarea id="textarea" name="Contenu" required></textarea></div>
<!-- <input type="text" name="Contenu" id="Contenu" required> -->
</div>
<div class="form-example">
<input type="submit" name="ajouter" value="Ajouter">
</div>
</form>
Code Fonction php (Pas tres genial de la mêttre apres la fonction de chargement de la page, je sais, mais je ne pense pas que ce soit le problème):
<?php
function add_post_model()
{
$add_post_default_code = file_get_contents("view/add_post_default_code.html");
return $add_post_default_code;
}
require "config.php";
echo "INSIDE<br>";
// DEFINE DATABASE CONNECTION - PDO
try {
$bdd = new PDO('mysql:host=localhost;dbname=' . $Database_Name, $Database_User, $Database_Password);
echo "CON OK<br>";
} catch (\Throwable $e) {
die('Erreur : ' . $e->getMessage());
}
echo "AFTER CON<br>";
// BOUTON - INSERT TO DATABASE
if ($_SERVER['REQUEST_METHOD'] == "POST" AND isset($_POST["Titre"])) {
echo "INSIDE IF<br>";
$Titre = $_POST["Titre"];
$Contenu = $_POST["Contenu"];
// PREPARE QUERY - use prepare pour les accents sur les lettres
$req = $bdd->prepare("INSERT INTO billets(titre, contenu, date_creation) values (?, ?, NOW()) ");
$req->execute(array($Titre, $Contenu));
header('Location: index.php');
exit();
}
Dossiers:
_layout.html
view/add_post.php
view/add_post_default_code.html
Le chemin du form action= add_post.php est'il correcte?
Devrais-je crée une fonction seule pour l’exécution du formulaire?
Merci
Rui