自1个小时以来,我一直遇到问题,不知道解决方案在哪里。 我做了一个准备好的语句,将表单中的元素插入到BDD中,但我不知道是什么问题,这是“执行”之前的问题,因为当我提交mi表单时,我会转到“其他”。
我的尝试捕获看起来像:
try
{
$db = new PDO('mysql:host=localhost;dbname=lucilledrx928', 'root', 'root');
}
catch (Exception $e)
{
echo 'Erreur : ' . $e->getMessage();
die();
}
我准备好的声明:
if (isset($_POST['titre'])) {
$query = $db->prepare('INSERT INTO news(user_id, titre, sous_titre, date, commentaire) VALUES (?, ?, ?, ?, ?)');
if ($query->execute(array(
strip_tags($_POST['user_id']),
strip_tags($_POST['titre']),
strip_tags($_POST['sous_titre']),
strip_tags($_POST['date']),
strip_tags($_POST['commentaire']),
))) {
$_SESSION['msg'] = "Votre news a été créer";
header('location: add_news.php');
} else {
$_SESSION['error_msg'] = 'Erreur lors de l\'upload à la base de donnée';
};
}
和我的表格:
<h2>Ajoutez une News</h2>
<?php
echo '<form style="min-width: 500px;" action="' . SITE_URL . '/admin/add_news.php" method="post" enctype="multipart/form-data">';
?>
<p>Titre de l'article: <input type="text" name="titre"/></p>
<p>Sous titre de l'article: <input type="text" name="sous_titre"/></p>
<p>Les Models:
<select name="user_id">
<?php
foreach ($users as $user) {
echo '<option value="' . $user['id'] . '">' . $user['name'] . '</option>';
}
?>
</select>
</p>
<p>Commentaire: <br/><textarea name="commentaire" rows="5" cols="45"></textarea></p>
<p>Selection de Photo: <input type="text" id="member" name="member"
placeholder="Choisir le nombre d'image"><br/>
<a id="filldetails" onclick="addFields()" style="cursor: pointer">Valider le nombre de photo</a>
<div id="addField"></div>
<p><input type="hidden" name="MAX_FILE_SIZE" value="10000000"></p>
<p><input hidden value="<?php $date->format('Y-m-d') ?>" name="date"><br></p>
<p><input type="submit" value="Envoyer"></p>
</form>
答案 0 :(得分:0)
我知道这不是OP想要的,但是您是否尝试过以其他方式构造它。 您可以尝试以下方法:
if (isset($_POST['titre'])&& !empty($_POST['titre']){
$query = $db->prepare("INSERT INTO news (user_id, titre, sous_titre, date, commentaire) VALUES (:user_id, :titre, :sous_titre, :sous_titre, :date, :commentaire ) ");
$query->bindParam(':user_id', $_POST['user_id'], PDO::PARAM_STR);
$query->bindParam(':titre', $_POST['titre'], PDO::PARAM_STR);
$query->bindParam(':sous_titre', $_POST['sous_titre'], PDO::PARAM_STR);
$query->bindParam(':date', $_POST['date'], PDO::PARAM_STR);
$query->bindParam(':commentaire', $_POST['commentaire'], PDO::PARAM_STR);
$res = $insertNews->execute();
if($res){
$_SESSION['msg'] = "Votre news a été créer";
header('location: add_news.php');
} else {
$_SESSION['error_msg'] = 'Erreur lors de l\'upload à la base de donnée';
}
}