Php 数据库中未输入数据

Php 数据库中未输入数据,php,mysql,database,Php,Mysql,Database,为什么我无法在数据库中输入数据 <?php include ( './includes/header.php' ); $error = ""; if (@$_POST['send']) { $name = mysql_real_escape_string(strip_tags($_POST['name'])); $email = mysql_real_escape_string(strip_tags($_POST['email'])); $message = mysql_real_

为什么我无法在数据库中输入数据

<?php include ( './includes/header.php' ); 
$error = "";
if (@$_POST['send']) {
 $name = mysql_real_escape_string(strip_tags($_POST['name']));
 $email = mysql_real_escape_string(strip_tags($_POST['email']));
 $message = mysql_real_escape_string(strip_tags($_POST['message']));
 if ($name == "") {
  $error = "Name cannot be left empty.";
 }
 else if ($email == "") {
        $error = "Enter valid email id";
 }
 else if ($message == "") {
  $error = "Message cannot be left empty.";
 }
 else{
 //send message
 $sendmessage = mysql_query("INSERT INTO contact VALUES('','$name','$email','$message')",$db1) or die(mysql_error());
 $error = "Message sent!!";
    }
 }
?>
<meta property="og:title" content="Contact Us" />
<meta property="og:description" content="For any help, drop us a mail" />
<meta property="og:image" content="http://studyfoyer.org/images/contactus.jpg" />

<title>Contact Us</title>
</head>
<?php include('includes/navigation.php');?>


    <div class="container">   
        <div class="row">

            <form class="log-page" action="contact.php" method="POST">

                <h2 class="form-signin-heading">Get in touch</h2>   
                <div class="input-prepend">
                    <label for="InputUsername">Name</label>
                    <input type="text" class="form-control" name='name' placeholder="Name" required autofocus>
                </div>
                <div class="input-prepend">
                    <label for="InputEmail">Email</label>
                    <input type="email" class="form-control" name='email' placeholder="Email address" required>
                </div>
                <div class="input-prepend">
                    <label for="InputMessage">Message</label>
                    <textarea class="form-control" rows="3" name="message" placeholder="Your message" required></textarea>
                </div>
                <div class="controls form-inline">
                    <button class="btn btn-primary" name='send' type="submit">Send</button>
                </div>

                    <?php echo $error; ?>
                </div>
            </form>

        </div>
    </div>
应该是
if(isset($\u POST['send'])
而不是
if(@$\u POST['send'])
。如果$\u POST['send']为“set”,函数将返回true。db连接的相同文件不会影响任何内容


您的代码易受SQL注入的攻击。您必须使用准备好的语句来安全地清理用户的输入

您遇到了什么错误,
$db1
是否正确启动?您是否已确保代码达到
else
条件?此外,你已经尝试过什么?请向我们提供更多信息。没有错误$_这个职位不起作用。我以前使用过该代码,它工作得很好。您所说的“
$”的确切含义是什么?您的意思是,如果由于未设置
$\u POST
而导致块
未首先执行,则整个
?如果未设置
$\u POST
,请确保表单使用
$\u POST
方法将数据传递到此PHP脚本。PS为什么要用
@
抑制错误?只需使用
isset
empty
。谢谢,但它以前是如何工作的?你能详细解释一下吗?你能解释一下,如何更安全地输入它吗?Siddharth,为了清理用户的输入以将其安全地存储在数据库中,你需要使用准备好的语句和参数化查询。请参阅和链接。如果某个答案对你有帮助,别忘了给它投票:)