【发布时间】:2016-03-17 13:30:59
【问题描述】:
项目:购物清单 目的:将项目添加到无序列表中。用户在表单中添加项目,表单不应重新加载,并且网页将添加的项目无缝显示到列表中。添加的项目应该被传递到 MySQL 数据库中。`
截至目前,我的 MySQL 中只有一张表,并且只有一行
HTML:
<form id="inputItem" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
<div>
<ul>
<div id="list"></div>
<li>
<input type="text" name="itemIn" id="itemIn"></input>
<button onclick="addList(document.getElementById('itemIn').value)">ADD</button>
</li>
</ul>
</div>
</form>
JavaScript 代码:
function addList(item){
document.getElementById('list').innerHTML += "<li><input type='checkbox'>" + item + "</input></li>";
}
我需要在项目旁边有一个复选框,用于删除项目。
PHP 脚本:
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'list');
$conn = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$itemIn = $_POST['itemIn'];
$sql = "INSERT INTO item (name) VALUES ('$itemIn')";
?>
所有这些都在一页中,如果有人知道如何将它们放入单独的文件中,将不胜感激
谢谢
【问题讨论】:
-
您需要在 javascript 中捕获表单提交事件,取消它以便页面不会重新加载,并从该提交处理程序向您的 php 脚本发出 ajax 请求。
-
你在用jquery吗?该 SQL 当前未执行,一旦执行,您将对 SQL 注入开放。您应该使用参数化查询。
标签: javascript php jquery mysql ajax