无法 POST 从表单到 mysql 的数据
Cannot POST data from forms to mysql
我似乎无法使用 XAMPP.
将网站表单中的数据 mysql 运行 本地化
我收到 "Cannot POST /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);
?>
首先,即使 when/if 你的代码有 SQL 注入漏洞,这可能导致恶意活动,包括但不限于窃取你的所有数据库 and/or 删除你拥有的一切。我建议您阅读一些有关如何预防这些事情的资料。
其次,表单上的每一个输入都有一个表单元素包裹着它。这是不正确的,应该是这样的:
<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>
我似乎无法使用 XAMPP.
将网站表单中的数据 mysql 运行 本地化我收到 "Cannot POST /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);
?>
首先,即使 when/if 你的代码有 SQL 注入漏洞,这可能导致恶意活动,包括但不限于窃取你的所有数据库 and/or 删除你拥有的一切。我建议您阅读一些有关如何预防这些事情的资料。
其次,表单上的每一个输入都有一个表单元素包裹着它。这是不正确的,应该是这样的:
<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>