除了id和date值之外,没有任何内容被插入到sql表中

时间:2015-09-13 08:14:07

标签: php mysql

我正在尝试将帖子详细信息插入到SQL表中,但只插入了iddate值,而其他所有列都保持空白。

这是我的表单的HTML代码:

<!DOCTYPE html>
<html>
    <head>
        <title>xmudios14285</title>
        <link rel="stylesheet" type="text/css" href="../css/foundation.min.css">
    </head> 
    <body>
        <form action="chapter_exec.php" enctype="multipart/form-data">
            <table>
                <tr>
                    <td>Spear : </td>
                    <td><input type="text" name="spear"/></td>
                </tr>
                <tr>
                    <td>Chapter Name : </td>
                    <td><input type="text"  name="cont_head"/></td>
                </tr>
                <tr>
                    <td>Documented from : </td>
                    <td><input type="text"  name="doc_from"></td>
                </tr>
                <tr>
                    <td>Image address : </td>
                    <td><input type="text"  name="img_add"></td>
                </tr>
                <tr>
                    <td>Photo Courtesy : </td>
                    <td><input type="text"  name="photo_add"></td>
                </tr>
                <tr>
                    <td > 
                    <textarea  name="content"></textarea> 
                    </td>
                </tr>
                <tr>
                    <td><input type="submit" ></td>
                </tr>
            </table>
        </form>
    </body>
</html>

这是带有SQL查询的PHP:

<?php
    session_start();
    include('connection.php');
    $spear = mysql_real_escape_string($_POST['spear']);
    $title = mysql_real_escape_string($_POST['cont_head']);
    $docFrom = mysql_real_escape_string($_POST['doc_from']);
    $imageAdd = mysql_real_escape_string($_POST['img_add']);
    $photoCourt = mysql_real_escape_string($_POST['photo_add']);
    $doc_at = mysql_real_escape_string(date("Y-m-d h:i:sa"));
    $content = mysql_real_escape_string($_POST['content']);
    if (!mysql_query("INSERT INTO chapters(spear, cont_head, doc_from,   `enter code here`img_add,    photo_add, doc_at, content) VALUES ('$spear', '$title', '$docFrom', '$imageAdd', '$photoCourt', '$doc_at', '$content')"))
    {
        die('Error: ' . mysql_error());
    } else {
        header("location: dashboard2.php?remarks=postSubmitSuccesfull");
        mysql_close($con);
    }
?>

4 个答案:

答案 0 :(得分:2)

缺少表单方法。

表单的默认方法是“ GET ”并且您正在使用 $ _ POST 方法接收数据。使用 method =“post”<更正此问题< /强>

答案 1 :(得分:0)

您应该将POST method属性添加到表单中,如下所示:

<form action="chapter_exec.php" enctype="multipart/form-data" method="post">

答案 2 :(得分:0)

尝试用以下内容替换您的表单标记:

<form action="chapter_exec.php" enctype="multipart/form-data" method="post">

验证你发布的值是否正确得到,写哦php文件:

print_r($_POST);

答案 3 :(得分:0)

如前所述,将method = POST放入<form>标记,在php中为secure-checking添加隐藏字段。

<form action="chapter_exec.php" method = "POST" enctype="multipart/form-data">
<!-- blah3 -->
<input type = "hidden" name = "check">
</form>

然后在php中使用isset之类的:

<?php
    session_start();
    include('connection.php');
if(isset($_POST['check']){
    $spear = mysql_real_escape_string($_POST['spear']);
    $title = mysql_real_escape_string($_POST['cont_head']);
    $docFrom = mysql_real_escape_string($_POST['doc_from']);
    $imageAdd = mysql_real_escape_string($_POST['img_add']);
    $photoCourt = mysql_real_escape_string($_POST['photo_add']);
    $doc_at = mysql_real_escape_string(date("Y-m-d h:i:sa"));
    $content = mysql_real_escape_string($_POST['content']);
        if (!mysql_query("INSERT INTO chapters(spear, cont_head, doc_from,   `enter code here`img_add,    photo_add, doc_at, content) VALUES ('$spear', '$title', '$docFrom', '$imageAdd', '$photoCourt', '$doc_at', '$content')"))
   {
   die('Error: ' . mysql_error());
   } else {
   header("location: dashboard2.php?remarks=postSubmitSuccesfull");
   mysql_close($con);
}
?>
}