php - 通过 mysql 更新 ajax 嵌入 php 页面中的调用数据(没有出现错误)

标签 php mysql ajax html forms

所以我试图有一个页面,通过从数据库填充的下拉菜单(工作)它调用要修改的所需数据集。我已经实现了 SQL 注入(inject)保护,填充下拉菜单并显示所需的数据集。我怎么也不知道如何提交已更改的数据。没有出现任何错误,似乎什么也没有发生。我已经检查了数据库,以确保数据值实际上没有被更改,而且也没有被更改。任何帮助将不胜感激!

table8.php

<html>
<head>
<script>
function showUser(str) {
if (str=="") {
document.getElementById("txtDisp").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtDisp").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getuser3.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form method="post" action="localhost/table8.php">
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<?php
$con=mysqli_connect("localhost","user","password","database");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM users");

while($row = mysqli_fetch_array($result)) {
echo "<option value='" . $row['id'] . "'>" . $row['uname'] . "</option>";
mysqli_close($con);
}
?>
</select>
</form>
<br>
<div id="txtDisp"><b>Person info will be listed here.</b></div>

</body>
</html> 

getuser3.php

<?php
$q = intval($_GET['q']);
$con=mysqli_connect("localhost","user","password","database");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$sql = "SELECT * FROM users WHERE id = " . $q . "";
$result1 = mysqli_query($con,$sql);


echo "<table border='1'><tr><th>Username</th><th>E-Mail</th><th>Info 1</th></tr>";

echo "<form action=\"localhost/insertgetuser.php\" method=\"post\">";

while($row1 = mysqli_fetch_array($result1, MYSQLI_ASSOC)) {
echo "<tr>";
echo "<td><input type=\"text\" name=\"uname\" value=" . $row1['uname'] . "></td>";
echo "<td>" . $row1['email'] . "</td>";
echo "<td>" . $row1['info1'] . "</td>";
echo "</tr>";
}

echo "<input type=\"submit\">";
echo "</form>";

echo "</table>";

mysqli_close($con);
?> 

插入getuser.php

<?php
$con=mysqli_connect("localhost","user","password","database");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// escape variables for security
$uname = mysqli_real_escape_string($con, $_POST['uname']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$info1 = mysqli_real_escape_string($con, $_POST['info1']);


$sql="UPDATE INTO users (uname, email, info1)
VALUES ('$uname', '$email', '$info1')";

if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";

mysqli_close($con);
?> 

最佳答案

<form method="post" action="localhost/insertgetuser.php">

看起来不对,可能您想发布到 instertgetuser.php (我怀疑是否需要 localhost 部分):

<form method="post" action="insertgetuser.php">

关于php - 通过 mysql 更新 ajax 嵌入 php 页面中的调用数据(没有出现错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25353600/

相关文章:

jquery - .ajaxError(function(event,xhr,options,exc)) 的参数是什么意思

php - CodeIgniter 从 Controller 返回数据

javascript - laravel 无法设置 cookie

php - PHP中的增量JSON解析

javascript - 如何在单独的文件中编写 Vue js 代码并包含在 laravel 中

php - 将搜索与分页相结合无法正确输出

mysql - 在 mysql 中进行比较的逗号分隔字段

php - 类似于 使用 facebook 登录

mysql - 更新索引中使用的列的效率有多低

javascript - 启用和禁用 onkeydown 事件?