Ich habe versucht, dieses Problem zu lösen Ich habe in Bezug auf die Kommunikation zwischen jQuery, PHP und mySQL.Holen Sie sich Benutzername, Passwort und E-Mail aus einem Formular und erstellen Sie damit eine Datenbankzeile
Lange Rede, kurzer Sinn, ich möchte die Informationen in mein "Registrierungsformular" einfügen, wenn du willst, in meine Datenbank über PHP.
Dies ist meine Form, in login.php:
<form action="login.php" method="post">
<input type="text" name="username" id="username">
<br><br>
<input type="password" name="password">
<br><br>
<input type="text" name="email">
<br><br>
<input type="submit" value="Register" class="submitRegistration"/>
</form>
Und ich will diese ausgelöst werden, wenn ich die Register-Taste drücken, das in head.php ist.
$(document).ready(function(){
$(".submitRegistration").click(function(){
var clickBtnValue = $(this).val();
var username = $("#username").val();
var password = $("#password").val();
var email = $("#email").val();
var ajaxurl = 'ajaxdisk.php';
data = {'action': clickBtnValue};
$.post(ajaxurl, data, function (response) {
alert(response);
});
});
});
Dies ist die Datenbankverbindung in ajax.php und die Funktion I
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "swag";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//I have suspicions that this is where things go wrong, because it checks if
//$_POST['action'] != NULL before it is defined, I want it to
//do this WHEN the button is hit, not when the page loads.
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'Submit':
submit();
break;
case 'Register':
register($conn);
break;
}
}
else {
print("Error");
}
function submit() {
echo "The submit function is called.(unfinished)";
exit;
}
function register($cpnn) {
echo "The register function is called.";
$sql = "INSERT INTO MyGuests (username, password, email)
-- Here i want the values from the textboxes to be, so it gets put into the database
VALUES (username, password, email)";
if ($cpnn->query($sql) === TRUE) {
echo "New record created successfully";
}
else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
$conn->close();
ich wahrscheinlich messed it up irgendwie von den unzähligen Stunden versuchen, dieses Problem zu lösen, aber ich wirklich ausgeführt werden soll Ich hoffe, einer von euch kann einen Sinn daraus machen und den Fehler erkennen.
Danke.
Was passiert eigentlich, wenn Sie auf register drücken? –
Sie geben keine Informationen (außer dem Namen der Schaltfläche) an den AJAX-Anruf weiter. –
Warum nicht den Code zurückschneiden und alles vollständig testen? Überprüfen Sie Ihre Formular-Posts, wo es zu posten ist, überprüfen Sie Ihre Fehler-Konsole, wenn Sie AJAX verwenden, können Sie dies leicht selbst debuggen –