无法将数据从表单POST到mysql

时间:2015-11-16 22:05:47

标签: php mysql forms xampp

我似乎无法从网站的表单中获取数据到使用XAMPP在本地运行它的mysql。

我收到“无法发布/ph/contactFormHandler.php”错误。

以下是表单的HTML:

            <div class="contact-grid mdl-grid">

                <div class="contact-title mdl-typography--headline">
                    Contact the team
                </div>
                <form action="../ph/contactFormHandler.php" method="post">
                    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                        <input class="mdl-textfield__input" size="" type="text" name="name">
                        <label class="mdl-textfield__label" for="name">Name</label>
                    </div>
                </form>
                <form action="../ph/contactFormHandler.php" method="post">
                    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                        <input class="mdl-textfield__input" size="" type="email" name="email">
                        <label class="mdl-textfield__label" for="email">Email</label>
                    </div>
                </form>
                <form action="../ph/contactFormHandler.php" method="post">
                    <div class="mdl-textfield mdl-js-textfield">
                        <textarea class="mdl-textfield__input" type="text" rows="6" name="message"></textarea>
                        <label class="mdl-textfield__label" for="message">Message</label>
                    </div>
                </form>
                <form action="../ph/contactFormHandler.php" method="post">
                    <input class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent" type="submit" name="send">
                </form>
            </div>

我也尝试过使用mysqli并收到同样的错误。

php:

    <?php

$sql_connection = mysql_connect("localhost","root","root");

$db = mysql_select_db("mdlDemoDB", $sql_connection);

$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];

if(isset($_POST["send"])){

$query = mysql_query("insert into messages(ContactID, ContactName, ContactEmail, ContactMessage) values ('$name', '$email', '$message') ");   
}

mysql_close($sql_connection);

?>

1 个答案:

答案 0 :(得分:0)

首先,即使您/如果您正常工作,您的代码也会出现SQL注入漏洞,这些漏洞可能导致恶意活动,包括但不限于窃取您的所有数据库和/或删除您拥有的所有内容。我建议你做一些关于如何防止这些事情的阅读。

其次,表单上的每个输入都有一个表单元素。这是不正确的,应该是这样的:

        <div class="contact-grid mdl-grid">

            <div class="contact-title mdl-typography--headline">
                Contact the team
            </div>
            <form action="../ph/contactFormHandler.php" method="post">
                <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                    <input class="mdl-textfield__input" size="" type="text" name="name">
                    <label class="mdl-textfield__label" for="name">Name</label>
                </div>
                <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                    <input class="mdl-textfield__input" size="" type="email" name="email">
                    <label class="mdl-textfield__label" for="email">Email</label>
                </div>
                <div class="mdl-textfield mdl-js-textfield">
                    <textarea class="mdl-textfield__input" rows="6" name="message"></textarea>
                    <label class="mdl-textfield__label" for="message">Message</label>
                </div>
                <input class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent" type="submit" name="send">
            </form>
        </div>