私はテーブルに入力されたデータを送信する単純なフォームを作成しました。私が持っている問題は、 'content'フィールドの文字数が特定の数値を超えている場合、submitを押してすべてのフィールドを空にしても、データがテーブルに送られないことです。私は、一度提出された「ポストは正常に公開されました」というメッセージを得るべきですが、それは上記の理由で起こるものではありません。フォームデータが正しく送信されない
私はlocalhostに行き、そこのフィールドを編集する必要があります。ここに私のコードは次のとおりです。自分で問題のより良いアイデアを与えることを扱ういくつかのMySQLエラーを含む
<?php
include("includes/connect.php");
if(isset($_POST['submit'])) {
$post_title = $_POST['title'];
$post_date = date('Y-m-d');
$post_author = $_POST['author'];
$post_keywords = $_POST['keywords'];
$post_content = $_POST['content'];
$post_image = $_FILES['image']['name'];
$image_tmp = $_FILES['image']['tmp_name'];
if($post_title == '' or $post_keywords == '' or $post_content == ''
or $post_author == '') {
echo "<script>alert('Please fill the empty fields!')</script>";
exit();
}
else {
move_uploaded_file($image_tmp, "../images/$post_image");
$insert_query = "INSERT INTO `posts`
(post_title, post_date, post_author, post_image,
post_keywords, post_content)
values ('$post_title', '$post_date', '$post_author', '$post_image',
'$post_keywords', '$post_content')";
if(mysqli_query($connect, $insert_query)) {
echo "<center><h1>Post Published Successfully!</h1></center>";
}
}
}
?>
<body>
<form method = "post" action = "insert_post.php" enctype = "multipart/form-data">
<table width = "600" align = "center">
<tr>
<td align="center" colspan = "6"><h1 style = "font-family: 'Fjalla One'; color: #575757;">Insert new post here</h1></td>
</tr>
<tr><!--TITLE-->
<td align = "right" size = "30px" style = "font-family: 'Fjalla One'; color: #575757; font-size: 20px;">Post Title:</td>
<td><input type = "text" name = "title"></td>
</tr>
<tr><!--AUTHOR-->
<td align = "right" size = "30px" style = "font-family: 'Fjalla One'; color: #575757; font-size: 20px;">Post Author:</td>
<td><input type = "text" name = "author"></td>
</tr>
<tr><!--KEYWORDS-->
<td align = "right" size = "30px" style = "font-family: 'Fjalla One'; color: #575757; font-size: 20px;">Post Keywords:</td>
<td><input type = "text" name = "keywords"></td>
</tr>
<tr><!--IMAGE-->
<td align = "right" style = "font-family: 'Fjalla One'; color: #575757; font-size: 20px;">Post Image:</td>
<td><input type = "file" name = "image"></td>
</tr>
<tr><!--CONTENT-->
<td align = "right" style = "font-family: 'Fjalla One'; color: #575757; font-size: 20px;">Post Content</td>
<td><textarea name = "content" cols = "40" rows = "20"></textarea></td>
</tr>
<tr>
<td align = "center" colspan = "6"><input type = "submit" name = "submit" value = "Publish" ></td>
</tr>
</form>
ローカルホストサーバーのPOST制限はいくらですか? – JBithell
side note:パラメータ化されたクエリを使用する必要があります。現在の状態では、コードにSQLインジェクションが発生しやすくなります。誰かが ''のようなものを載せていると想像してください。 DROP TABLEの投稿。 --' –
'post_image'カラムのカラムタイプは何ですか?あなたはここで何をしたいのですか?ファイル "名前"またはイメージ自体を使用しますか? –