Показаны сообщения с ярлыком php. Показать все сообщения
Показаны сообщения с ярлыком php. Показать все сообщения

вторник, 13 октября 2009 г.

Apache auth in PHP

Пример кода для реализации аутентификации в PHP средствами Apache:
(не тестировалось)
session_start();
error_reporting(2047);
$user = '112';
$pass = 'test';

$authorized = false;

if(isset($_GET['logout']) && (0!=$_SESSION['user_id'])) {
$_SESSION['auth'] = false;
unset($_SESSION['user_id']);
header("Location: ./googby.html");
// session_destroy();
echo "logging out...";
}

if(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
if (($user == $_SERVER['PHP_AUTH_USER']) && ($pass == ($_SERVER['PHP_AUTH_PW'])) && $_SESSION['auth']) {
$authorized = true;
$_SESSION['user_id']=intval($_SERVER['PHP_AUTH_USER']);

}
}

if ((! $authorized)) {
header('WWW-Authenticate: Basic Realm="Login please"');
header('HTTP/1.0 401 Unauthorized');
$_SESSION['auth'] = true;
print('Login now or forever hold your clicks...');
// header("Location: ./access_denied.html");
exit;
}

?>
?logout">exit

Количество записей возвращаемых MySQL без учета limit

Иногда нужно получить полное число записей в таблице. При этом в скрипте уже есть запрос, возвращающий часть записей (limit).

Чтобы обойтись одним запросом к базе, можно использовать такой код:
$query="select SQL_CALC_FOUND_ROWS id [, ...] from table_tb limit 1,1";
....
$result=mysql_query($query);
....
$result_=mysql_query('SELECT FOUND_ROWS() as total_count');