Padarom
Neues Mitglied
Hallo,
ich möchte für einen Login-Bereich das Login-Script über AJAX ausführen lassen um dies im Hintergrund auszuführen.
Das klappt auch, allerdings nur lokal (Ich arbeite mit WebMatrix, lokaler Webserver zum Testen ist IIS 7.5 Express).
Folgender Javascript-Code wird beim Klicken auf den Login-Button ausgeführt (jQuery ist selbstverständlich "installiert"):
Folgender PHP-Code wird dabei aufgerufen:
Wie gesagt, die Codes funktionieren lokal, sobald ich sie allerdings auf meinen Test-Webspace (von bplaced) hochlade,
kommt nach dem Button-Klick weder das Alert, noch lädt sich die Seite neu- AJAX wird also scheinbar nicht aufgerufen.
Auf der Seite für die Registrierung nutze ich ebenfalls AJAX und dort klappt es komischerweise, der Javascript-Code ist jedoch scheinbar identisch.
Nachtrag: Javascript funktioniert und die Funktion wird tatsächlich aufgerufen. So erhalte ich das Alert, wenn ich eines der Felder leer lasse.
Auch funktioniert das PHP-Script, denn wenn ich die entsprechende PHP-Datei direkt aufrufe, so erhalte ich den Text "Der angegebene Account existiert nicht.",
was ja logisch ist, da ich mit einem direkten manuellen Zugriff keine POST-Werte übergebe.
Ich hoffe jemand kann mir weiterhelfen.
Mit freundlichen Grüßen
Padarom
ich möchte für einen Login-Bereich das Login-Script über AJAX ausführen lassen um dies im Hintergrund auszuführen.
Das klappt auch, allerdings nur lokal (Ich arbeite mit WebMatrix, lokaler Webserver zum Testen ist IIS 7.5 Express).
Folgender Javascript-Code wird beim Klicken auf den Login-Button ausgeführt (jQuery ist selbstverständlich "installiert"):
Code:
[COLOR=#4F76AC][FONT=Consolas]function[/FONT][/COLOR][COLOR=black][FONT=Consolas] loginUser[/FONT][/COLOR][COLOR=#1E7C70][FONT=Consolas]() {[/FONT][/COLOR]
[COLOR=#4f76ac] if[/COLOR] [COLOR=#1e7c70]([/COLOR]$[COLOR=#1e7c70]([/COLOR][COLOR=#823125]"#Name"[/COLOR][COLOR=#1e7c70])[/COLOR].val[COLOR=#1e7c70]()[/COLOR] [COLOR=#1e7c70]==[/COLOR] [COLOR=#823125]""[/COLOR] [COLOR=#1e7c70]||[/COLOR] $[COLOR=#1e7c70]([/COLOR][COLOR=#823125]"#Passwort"[/COLOR][COLOR=#1e7c70])[/COLOR].val[COLOR=#1e7c70]()[/COLOR] [COLOR=#1e7c70]==[/COLOR] [COLOR=#823125]""[/COLOR][COLOR=#1e7c70])[/COLOR] [COLOR=#1e7c70]{[/COLOR]
alert[COLOR=#1e7c70]([/COLOR][COLOR=#823125]"Bitte beide Felder ausfüllen."[/COLOR][COLOR=#1e7c70]);[/COLOR]
[COLOR=#1e7c70] }[/COLOR] [COLOR=#4f76ac]else[/COLOR] [COLOR=#1e7c70]{[/COLOR]
$.post[COLOR=#1e7c70]([/COLOR][COLOR=#823125]"../pages/Login.php"[/COLOR][COLOR=#1e7c70],[/COLOR] [COLOR=#1e7c70]{[/COLOR]
name[COLOR=#1e7c70]:[/COLOR] $[COLOR=#1e7c70]([/COLOR][COLOR=#823125]"#Name"[/COLOR][COLOR=#1e7c70])[/COLOR].val[COLOR=#1e7c70](),[/COLOR]
pass[COLOR=#1e7c70]:[/COLOR] $[COLOR=#1e7c70]([/COLOR][COLOR=#823125]"#Passwort"[/COLOR][COLOR=#1e7c70])[/COLOR].val[COLOR=#1e7c70](),[/COLOR]
cookie[COLOR=#1e7c70]:[/COLOR] [COLOR=#823125]"true"[/COLOR]
[COLOR=#1e7c70] })[/COLOR].done[COLOR=#1e7c70]([/COLOR][COLOR=#4f76ac]function[/COLOR] [COLOR=#1e7c70]([/COLOR]data[COLOR=#1e7c70],[/COLOR] status[COLOR=#1e7c70])[/COLOR] [COLOR=#1e7c70]{[/COLOR]
[COLOR=#4f76ac] if[/COLOR] [COLOR=#1e7c70]([/COLOR]data [COLOR=#1e7c70]==[/COLOR] [COLOR=#823125]"SCS!"[/COLOR][COLOR=#1e7c70])[/COLOR] location.reload[COLOR=#1e7c70]();[/COLOR]
[COLOR=#4f76ac] else[/COLOR] alert[COLOR=#1e7c70]([/COLOR]data[COLOR=#1e7c70]);[/COLOR]
[COLOR=#1e7c70] });[/COLOR]
[COLOR=#1e7c70] }[/COLOR]
[COLOR=#4f76ac] return[/COLOR] [COLOR=#9b5f9b]false[/COLOR][COLOR=#1e7c70];
[/COLOR][COLOR=#1E7C70][FONT=Consolas]}[/FONT][/COLOR]
PHP:
$query = "SELECT * FROM `bs_users` WHERE `Name` = '".mysql_real_escape_string($_POST['name'])."'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 0) echo "Der angegebene Account existiert nicht.";
while($row = mysql_fetch_object($result))
{
if($row->Passwort == $_POST['pass'])
{
// Speicherung eines Session-Keys in der Datenbank, Setzen der Session-Werte und ggf. Cookies
echo "SCS!";
}
else echo "Das eingegebene Kennwort ist falsch.";
}
kommt nach dem Button-Klick weder das Alert, noch lädt sich die Seite neu- AJAX wird also scheinbar nicht aufgerufen.
Auf der Seite für die Registrierung nutze ich ebenfalls AJAX und dort klappt es komischerweise, der Javascript-Code ist jedoch scheinbar identisch.
Nachtrag: Javascript funktioniert und die Funktion wird tatsächlich aufgerufen. So erhalte ich das Alert, wenn ich eines der Felder leer lasse.
Auch funktioniert das PHP-Script, denn wenn ich die entsprechende PHP-Datei direkt aufrufe, so erhalte ich den Text "Der angegebene Account existiert nicht.",
was ja logisch ist, da ich mit einem direkten manuellen Zugriff keine POST-Werte übergebe.
Ich hoffe jemand kann mir weiterhelfen.
Mit freundlichen Grüßen
Padarom
Zuletzt bearbeitet: