i ein Anmeldeformular zu tun für das Back-Office eingeben aber was auch immer ich in Login und Passwort setzen, erhalte ich die ganze Zeit die Umleitung in
else {
header('Location: ../auth/login.php?error=1');
Mein Code ist:
<?php
session_start();
require_once('../connexion.php');
$login = isset($_POST['login']) ? $_POST['login'] : null;
$pass = isset($_POST['mdp']) ? ($_POST['mdp']) : null;
var_dump($_POST);
$sql = 'SELECT * FROM users WHERE login = \'' . $login . '\' AND pass = \'' . $pass . '\'';
var_dump($sql);
$req = $connexion->prepare($sql);
var_dump($req);
$result = $req->execute(array('login' => $login, 'mdp' => $pass));
var_dump($result);
if($result == true){
$_SESSION['logged'] = true;
header('Location: ../admin_panel.php');
} else {
header('Location: ../auth/login.php?error=1');
}
?>
Mein vardump im Gegenzug $ result immer wahr
**
array (size=2)
'login' => string 'dsfc' (length=4)
'mdp' => string 'sdf' (length=3)
string 'SELECT * FROM users WHERE login = 'dsfc' AND pass = 'sdf'' (length=57)
object(PDOStatement)[2]
public 'queryString' => string 'SELECT * FROM users WHERE login = 'dsfc' AND pass = 'sdf'' (length=57)
boolean true**
Ich habe nicht verstanden, warum $ Ergebnis ist wahr, was auch immer ich in meiner Form.
Vielen Dank für Ihre Hilfe!
---------------- ---------------- EDIT
ich etwas ändern vorbereiten meine, aber immer noch arbeiten nicht, aber jetzt mein vardump $ _POST nur knapp sein Ziel zu lesen, was ich in meiner Form setzen
$sql = 'SELECT * FROM users WHERE login = :login AND pass = :mdp';
var_dump($sql);
$req = $connexion->prepare($sql);
var_dump($req);
$result = $req->execute(array(':login' => $login, ':mdp' => $pass));
lesen 'prepare' Aussagen sorgfältig. –
Warum nehmen Sie Ihre Variablen direkt in die Anweisung '$ sql' auf, anstatt' execute' zu verwenden, was dafür gemacht wird? Es könnte zu großen Sicherheitsproblemen führen! – Aurel
ich das richtig nach der Lektüre prepare() $ sql = 'SELECT * \t \t VON \t Benutzer \t WHERE login =: Login AND = übergeben: MDP'; var_dump ($ sql); $ req = $ verbindung-> vorbereiten ($ sql); \t var_dump ($ req); $ result = $ req-> ausführen (array (': login' => $ login, ': mdp' => $ pass)); – Hightline