我似乎无法从网站的表单中获取数据到使用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);
?>
答案 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>