我想回复PHP变量$last_id
到AJAX将它传递到PHP $_POST
。也许我可以一起跳过AJAX,只需在$_POST
内传输变量即可。我必须使用echo json_encode
吗?AJAX内部的PHP代码到邮政
这里是我的代码,看看有什么我想在这里完成(任何帮助赞赏):
registration.php的
<?php
if(isset($_POST['submit'])) {
require 'connect.php';
$sql = "INSERT INTO table (username, password) VALUES ('".$_POST["username"]."','".$_POST["password"]."')";
if (mysqli_query($con, $sql)) {
$last_id = mysqli_insert_id($con);
echo $last_id;
?>
myScript.js
// ----AJAX Post to PHP----->
function ajax_post(ele,div){
// XMLHttpRequest object
var hr = new XMLHttpRequest();
// variables send to PHP file
var url = "insert.php";
var userId = "<?php echo $last_id; ?>";
var vars = "userId="+userId;
hr.open("POST", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var return_data = hr.responseText;
document.getElementById("status").innerHTML = return_data;
}
}
}
insert.php
<?php
require 'connect.php';
$userId = $_POST['userId'];
$sql = "INSERT INTO table2 (userId)
VALUES ('$userId')";
?>
不要忘记在userId之前放置&amp;字符:var vars =“imgName =”+ SOMETHING_IS_MISSING_HERE +“&userId =”+ userId; – Ashraf
夫妇的事情,不要直接在查询中添加变量,如''INSERT INTO table(username,password)VALUES('“。$ _ POST [”username“]。”','“。$ _ POST [”password“] 。'')“'或这个''INSERT INTO table2(userId) VALUES('$ userId')”'。这是一个安全缺陷。 – Rasclatt
另外,你的'myScript.js'不能解析php,所以这个'<?php echo $ last_id; ?>'不能工作。 – Rasclatt