Ich versuche, PHP-Variable $last_id
zu AJAX echo zu PHP $_POST
übergeben. Möglicherweise kann ich AJAX alle zusammen überspringen und Variable einfach in $_POST
übertragen. Muss ich echo json_encode
verwenden?PHP-Code in AJAX zu POST
Hier ist mein Code, um zu sehen, was ich versuche, hier zu erreichen (jede Hilfe dankbar):
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')";
?>
Vergessen Sie nicht, vor userId setzen & amp Charakter: var vars = "ImgName =" + SOMETHING_IS_MISSING_HERE + "& userId =" + userId; – Ashraf
Paar Dinge, fügen Sie Variablen nicht direkt in die Abfrage wie '" INSERT INTO Tabelle (Benutzername, Passwort) VALUES ('". $ _ POST [" Benutzername "]."', '". $ _ POST [" Passwort "] . '') "' oder this "" INSERT INTO table2 (userId) VALUES ('$ userId') "'. Dies ist eine Sicherheitslücke. – Rasclatt
Auch Ihre 'myScript.js' können PHP nicht parsen, so dass diese' Php echo $ last_id; ?> 'kann nicht funktionieren. – Rasclatt