Ich schrieb Code um Login-Informationen zu fragen & valid it, springe zu einer anderen Seite, wenn es gültig ist. Aber warum bleibt es immer auf der Login-Seite? Index.php:Authentifizierung gibt kein gültiges Ergebnis von Abfrage zurück?
<?php
session_start();
require('../model/database.php');
require('../model/admin_db.php');
$action = filter_input(INPUT_POST, 'action');
if ($action === NULL) {
$action = filter_input(INPUT_GET, 'action');
if ($action === NULL) {
$action = '';
}
}
if(!isset($_SESSION['is_valid_admin'])){
$action = 'get_admin';
}
switch($action){
case 'get_admin':
$username = filter_input(INPUT_POST, 'username');
$password = filter_input(INPUT_POST, 'password');
echo $username;
echo $password;
echo is_valid_admin_login($username, $password);
if (is_valid_admin_login($username, $password)){
$_SESSION['is_valid_admin']=true;
include ('admin_menu.php');
}
else {
$login_message = 'you must login to view this page.';
include ('adminlogin.php');
}
break;
admin_db.php:
<?php
function is_valid_admin_login($username, $password) {
global $db;
$password = sha1($username . $password);
$query = 'SELECT username FROM administrators
WHERE username = :username
AND password = :password';
$statement = $db->prepare($query);
$statement->bindValue(':username', $username);
$statement->bindValue(':password', $password);
$statement->execute();
$valid = ($statement->rowCount() == 1);
$statement->closeCursor();
return $valid;
}
?>
Und es gibt kein Problem mit Datenbank verbinden.
Ich sehe Sie nicht umleiten .. Oh, und * endlich * jemand, der 'vorbereitete Aussagen' verwendet. – Nytrix
vielleicht, weil Sie "adminlogin.php" wieder nach dem "Ende if" hinzufügen? – Jeff
Ich kenne die API nicht, mit der ich mich verbinden kann; 'mysqli_' wie eine andere Ihrer Fragen. oder ist es tatsächlich PDO? und wo ist das HTML-Formular dafür? zu viele Unbekannte, zu viele Fragen in der Vergangenheit ohne akzeptierte Antworten. –