mit diesem Code habe ich ein bisschen ein Problem gekontert. Wenn ich versuche, in einen Unterordner umzuleiten, ignoriert er registrierte Benutzer und leitet mich zurück zur Website index.php.Probleme mit der Protokollierung/Umleitung in PHP und MySQL
// auth.php
class myAuth {
static function checkAuth() {
// detect user by set cookie
// and value which we saved in session
if(!session_id()) session_start();
// check ...
if(
isset($_COOKIE["auth"])
&&
isset($_SESSION["auth"])
&&
$_COOKIE["auth"] == $_SESSION["auth"]
) {
// extend the session and cookie and in mysql as well
self::_setCookieSessionDBTokenValidity();
return true;
} else {
return false;
}
} // chechAuth finish
// this funkcion redirect user
// on main site (index.php)
// na početnu stranicu (index.php)
// use checkAuthWithRedirect if he's not logged in
static function checkAuthWithRedirect() {
if(!self::checkAuth()) {
header('Location:index.php');
}
} // checkAuthWithRedirect finish
static function doLogin() {
// register user
// save data in session
if(
!empty($_POST['user'])
&&
!empty($_POST['pass'])
) {
if(!session_id()) session_start();
// chech and fetch data for user with sended pass
$user = self::_fetchUserWithPassDB();
// if we find user finish login
if($user) {
// strengthen pass a bit
$token = md5(rand(100000,999999));
// save token in session
$_SESSION["auth"] = $token;
// save user in session
$_SESSION["user"] = $user[0]["user"];
// save role in session
$_SESSION["role"] = $user[0]["role"];
// postavi validity i token u cookie, session i bazu
// save validity and token in cookie, session in db
self::_setCookieSessionDBTokenValidity();
// redirect
header("Location:admin.php");
}
else {
echo '<div class="alert alert-danger" role="alert">';
p('<span class="glyphicon glyphicon-exclamation-sign"></span> USER DOES NOT EXIST!');
echo '</div>';
}
}
} // login
Dieser Codeblock funktioniert gut, wenn mich Website umleiten, die in Stammordner ist, aber wenn ich versuche, es zu Umleitung ignoriert Unterordner completily Code und leitet mich auf index.php.
Beispiel:
// redirect
header("Location:test/admin.php");
Und hier ist Beispiel für admin.php Website
<?php
// login.php
require_once(__DIR__.'/init.php');
showHTMLHeaderWithTitle('Prijava');
myAuth::checkAuthWithRedirect();
?>
<h1>TEST TEST TEST</h1>
<?php
showHTMLFooter();
?>
Bist du sicher, dass du hier keinen 404 bekommst? wenn "test" kein Unterordner des Ausführungsortes des Skripts ist, dann gehe zurück zum root 'header (" Location: /test/admin.php "); exit; 'oder ein vollständiger http-Aufruf' header ("Location: http://www.example.com/test/admin.php"); exit; '- auch auf Fehler prüfen. –
Sie haben auch als '.htaccess' getaggt, so dass wir nicht wissen, ob Sie eine schlechte Neuschreibung haben. Suchen Sie erneut nach Fehlern oder sehen Sie sich Ihre Logs an, falls etwas darin ist. Ich für meinen Teil werde nicht in der Lage sein, eine magische Antwort zu geben; Viel Glück. Ich werde das hier weitergeben und weitermachen. –
.htaccess war mein Tag fehlgeschlagen. Egal, ich habe eine Frage gestellt, während ich selber nach Antworten gesucht habe. Danke für deine Zeit. Ich werde nach Fehlern suchen – Svinjica