if (! checkValidate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) {
header("Location: http://www.example.com/"); /* Redirect browser */
exit;
}
Detta borde fungera så länge som du inte har någon output till browsern innan.
3 svar · 434 visningar · startad av 3fx
Hej jag använder förljande script på mina sidor för att använda loggning:
**<?php
include 'validate.php';
if (! checkValidate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) {
header('WWW-Authenticate: Basic realm="Min hemsidas lösenordsskyddade sidor"');
header('HTTP/1.0 401 Authorizied');
echo "Du måste ange korrekt användarnamn och lösenord! Detta får du genom att registrera dig.";
exit;
}
?>**
Och filen nedan att lagra mina lösen:
**validate.php
<?php
function checkValidate($user, $pass) {
//byt ut mot de användarnamn och lösenord du vill ha
$users = array('100102' => 'user02',
'2' => '1');
if (isset($users[$user]) && ($users[$user] == $pass)) {
return true;
}
else {
return false;
}
}
?>**
Orginalen finns på http://susnet.se/homWebPHP2.html
Jag vill använda:
header("Location: http://www.example.com/"); /* Redirect browser */
För att skicka folk till en fel sida istället för att få bara text.
Hur ska jag modifiera koden? Prövat själv utan större frangång.
Tack på förhand, Fredrik.
if (! checkValidate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) {
header("Location: http://www.example.com/"); /* Redirect browser */
exit;
}
Detta borde fungera så länge som du inte har någon output till browsern innan.
Ok, när du anropar checkValidate() så returneras true eller false
När du har ! före checkValidate() så kommer du in i if-satsen när den returnerar false.
Vill du ha olika headers beroende på returen eller vad är du ute efter för resultat?
if (! checkValidate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) {
// fel namn eller lösen
header("Location: http://www.example.com/ensida.php"); /* Redirect browser */
exit;
} else {
// rätt namn o lösen
header("Location: http://www.example.com/enannansida.php"); /* Redirect browser */
exit;
}