Lime
frisch fruchtig
Hallo,
leider muss ich auch mal wieder um Rat bitten... Mein Ajax-Skript bekommt einfach keine Antwort vom PHP-Skript.
€: Noch die db.inc.php
Die Pfade innerhalb der Skripte sind alle korrekt. Habe ich mehrfach überprüft und auch schon absolute Pfade ausprobiert.
Eine Datenbankverbindung wird in der inkludierten db.inc.php aufgebaut.
Eine Session wird in der inkludierten config.inc.php aufgebaut. (Wobei die Session egal ist, eine Antwort wird vor dem setzen der Session gesendet.)
Natürlich ist die Javascript-Datei in die HTML-Datei eingebunden.. (Den Code direkt in die HTML-File zu schreiben hatte ich auch schon probiert...)
Mir gehen die Ideen aus. Weiß jemand Rat oder findet jemand auf die Schnelle einen Fehler?
€: Das Sicherheitszeug bei dem PHP-Teil kommt noch, keine Angst...
lg Lime
leider muss ich auch mal wieder um Rat bitten... Mein Ajax-Skript bekommt einfach keine Antwort vom PHP-Skript.
HTML:
<form id="loginform" method="post" action="{$websitepath}">
<input type="text" id="username" value="Username" onfocus="defaultInputUser(this)" onblur="clearInputUser(this)" />
<input type="password" id="password" value="Password" onfocus="defaultInputPass(this)" onblur="clearInputPass(this)" /><br />
<input type="submit" id="loginsubmit" value="Einloggen" />
<img src="{$websitepath}templates/img/load.gif" id="loginload" style="display:none;"/>
<br /><div id="logininfo"></div>
</form>
Javascript:
$(document).ready(function()
{
$("#loginsubmit").click(function() {
username2 = $('#username').attr('value');
password2 = $('#password').attr('value');
$.ajax({
type: "POST",
url: "http://absoluterpfad.zum/skript.php",
data: { username: username2, password: password2 },
dataType: "json",
cache: false,
beforeSend: function() {
$("#loginsubmit").hide();
$("#loginload").show();
},
success: function(data){
$("#loginload").hide();
if(data.a == "ok")
{
$("#loginform").hide();
var t = setTimeout ( "document.location='home/';", 1000 );
} else {
$("#loginsubmit").show();
}
$("#logininfo").html(data.b);
}
});
return false;
});
});
PHP:
<?php
require('../configs/config.inc.php');
require('../configs/functions.inc.php');
require('../configs/db.inc.php');
if(isset($_POST['username']) && !empty($_POST['username']) &&
isset($_POST['password']) && !empty($_POST['password']))
{
$sekunden = 1;
sleep($sekunden);
$cmd = "SELECT * FROM users WHERE username=? AND password=?";
$qry = $db->prepare($cmd);
$qry->bind_param('ss', $_POST['username'], md5($_POST['password']));
$qry->execute();
$result = $qry->get_result();
if($result->num_rows != 0)
{
$return['a'] = 'ok';
$return['b'] = 'Weiterleitung erfolgt...';
echo json_encode($return);
$row = $result->fetch_assoc();
$_SESSION['userid'] = $row['id'];
$_SESSION['username'] = $row['username'];
$_SESSION['email'] = $row['email'];
$_SESSION['status'] = $row['status'];
$_SESSION['rights'] = $row['rights'];
} else {
$return['a'] = 'no';
$return['b'] = 'Die Daten waren nicht korrekt.';
echo json_encode($return);
}
} else {
echo 'Zugriff verweigert!';
}
?>
€: Noch die db.inc.php
PHP:
<?php
class db extends mysqli
{
public function __construct ($host, $user, $pw, $db)
{
parent::__construct ($host, $user, $pw, $db);
}
}
$db = new db($host, $user, $pass, $db);
?>
Die Pfade innerhalb der Skripte sind alle korrekt. Habe ich mehrfach überprüft und auch schon absolute Pfade ausprobiert.
Eine Datenbankverbindung wird in der inkludierten db.inc.php aufgebaut.
Eine Session wird in der inkludierten config.inc.php aufgebaut. (Wobei die Session egal ist, eine Antwort wird vor dem setzen der Session gesendet.)
Natürlich ist die Javascript-Datei in die HTML-Datei eingebunden.. (Den Code direkt in die HTML-File zu schreiben hatte ich auch schon probiert...)
Mir gehen die Ideen aus. Weiß jemand Rat oder findet jemand auf die Schnelle einen Fehler?
€: Das Sicherheitszeug bei dem PHP-Teil kommt noch, keine Angst...
lg Lime
Zuletzt bearbeitet: