Javascript 如何将我的简单jQuery输入与PHP脚本链接,并将数据存储到MYSQL数据库中?
我想做的很简单。 有一个简单的输入,允许我输入一个名称+链接,将其添加到列表中,并将其保存到数据库中,以便保存 在我的HTML文件中,我当前有:Javascript 如何将我的简单jQuery输入与PHP脚本链接,并将数据存储到MYSQL数据库中?,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,我想做的很简单。 有一个简单的输入,允许我输入一个名称+链接,将其添加到列表中,并将其保存到数据库中,以便保存 在我的HTML文件中,我当前有: <form id="form"> <input id="create-input" type="text" placeholder="To do"> <input id="create-link" type="text" placeholder="http://"> <button id="submit" ty
<form id="form">
<input id="create-input" type="text" placeholder="To do">
<input id="create-link" type="text" placeholder="http://">
<button id="submit" type="button">Add Item</button>
</form>
但我不知道怎么做。
有什么提示吗?为什么需要JQuery?您只能使用php传递值 以下是代码的更改:-
<form id="form" method="post" action="process.php">
<input id="create-input" name="item" type="text" placeholder="To do">
<input id="create-link" name="link" type="text" placeholder="http://">
<button id="submit" type="button">Add Item</button>
</form>
<ul>
<?php include('conn.php');
$sql = "SELECT * FROM bucketlist";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo '<li>Item-'. $row["item"].' & Link-'. $row["link"].'</li>';
}
} else {
echo "<li>No List</li>";
}
?>
</ul>
添加项
conn.php
<?php
$servername = "localhost";
$database = "bucketlist";
$username = "bucketuser";
$password = "125632";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
process.php
<?php
include('conn.php');
$item = $_POST['item'];
$item = $_POST['link'];
$sql = "INSERT INTO bucketlist (item, link) VALUES ($item,$link)";
// Check for Success
if (mysqli_query($conn, $sql)) {
header('location:yourpage.php');
}
// Check for Fail
else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
希望这有帮助。使用ajax发布项目的值,并在html表单中链接到PHP脚本。 比如:
var myItem = $('#create-input').html();
var myLink = $('#create-link').html();
$.ajax({
type: 'POST',
url: 'https://yoururl/api/post.php',
data: {item:myItem,link:myLink},
success: SuccessCall,
error : FailureCall,
cache:false,
async:true,
dataType: 'html'
});
function SuccessCall(data,status){
alert("response from server is "+data);
}
function FailureCall(data,status){
alert("Server connection error");
}
使用SYB发布的PHP脚本检索从html表单发送的item和link的值。您实际上提交了表单。您可以使用ajax发送表单数据。。。我还将更改事件侦听器。我会将事件侦听器附加到表单上,并侦听提交事件<代码>$(“#表单”)。在('submit',addListItem)上,您无疑需要添加
事件.preventDefault()
也会这样,因此表单不会提交,这是表单的默认操作。我不认为发布解决方案有什么意义,因为我知道stackoverflow上有很多ajax示例,所以如果你研究,你会发现大量的示例和详细的工作原理/使用方法。是的,你可以在后台使用ajax,但在跑步之前要学会走路。毫无疑问,要让客户保持在同一页面上,而不是将客户从一个页面移动到另一个页面?另外,“您可以仅使用php传递值”您所做的更改不会使表单仅使用php提交。您已经将action属性添加到一个HTML元素“theform”,它不是php。。。是的。当我说只使用php传递值时,我想说他/她不需要使用jquery。我打错了,他提供了一半的过程,他只是不知道如何获取这些值,所以我只更改了他的代码(似乎他是php新手),然后我建议您更详细地了解如何使用
元素。这不仅会让你的答案更好,而且会让OP更好地理解为什么当前源不起作用,以及为什么你做出了改变。
<?php
$servername = "localhost";
$database = "bucketlist";
$username = "bucketuser";
$password = "125632";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
<?php
include('conn.php');
$item = $_POST['item'];
$item = $_POST['link'];
$sql = "INSERT INTO bucketlist (item, link) VALUES ($item,$link)";
// Check for Success
if (mysqli_query($conn, $sql)) {
header('location:yourpage.php');
}
// Check for Fail
else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
var myItem = $('#create-input').html();
var myLink = $('#create-link').html();
$.ajax({
type: 'POST',
url: 'https://yoururl/api/post.php',
data: {item:myItem,link:myLink},
success: SuccessCall,
error : FailureCall,
cache:false,
async:true,
dataType: 'html'
});
function SuccessCall(data,status){
alert("response from server is "+data);
}
function FailureCall(data,status){
alert("Server connection error");
}