Ich habe ein Formular welches Eingaben der Nutzer speichert ohne die Seite neu zu laden.
Funktioniert alles tadellos, wenn jedoch bei firstname ein Wert mit einem & Zeichen eingeben wird (zB Jens&Mareike), wird nur Jens abgespeichert... Jemand eine Idee?
Daten kommen von einem Formular, werden hier verabreitet:
Funktioniert alles tadellos, wenn jedoch bei firstname ein Wert mit einem & Zeichen eingeben wird (zB Jens&Mareike), wird nur Jens abgespeichert... Jemand eine Idee?
Daten kommen von einem Formular, werden hier verabreitet:
PHP-Code:
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$p1link = $_POST['firstname1'];
$userid = $_POST['lastname1'];
if (preg_match("/starlife/i", $p1link)) {
$sql = "UPDATE wpny_usermeta SET meta_value = '$p1link' WHERE user_id = '$userid' AND meta_key = 'starlink';";
} else {
echo "Ihre Eingabe enthält keinen gültigen Link des Anbieters<br />";
}
if ($conn->query($sql) === TRUE) {
echo 'Erfolgreich gespeichert<br /><a href="/dashboard/"><img src="/images/schritt6.png" border="0"></a>';
} else {
echo "Speichern nicht erfolgreich";
}
$conn->close();
PHP-Code:
function ajax_post(){
// Create our XMLHttpRequest object
var hr = new XMLHttpRequest();
// Create some variables we need to send to our PHP file
var url = "/forms/script1.php";
var fn = document.getElementById("first_name1").value;
var ln = document.getElementById("last_name1").value;
var vars = "firstname1="+fn+"&lastname1="+ln;
hr.open("POST", url, true);
// Set content type header information for sending url encoded variables in the request
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// Access the onreadystatechange event for the XMLHttpRequest object
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var return_data = hr.responseText;
document.getElementById("status1").innerHTML = return_data;
}
}
// Send the data to PHP now... and wait for response to update the status div
hr.send(vars); // Actually execute the request
document.getElementById("status1").innerHTML = "arbeite...";
}
Kommentar