Вот решил сделать авторизацию, взял простой пример, но во время авторизации ничего не происходит... Может что подскажите? p.s. база данных состоит из id(primary key), bg(база данных), email(тот, что проверяется как логин), и pass(пароль). PHP: <?php if(!isset($PHP_AUTH_USER)) // пользователь неизвестен { header("WWW-Authenticate: Basic realm=\"Admin Center\""); header("HTTP/1.0 401 Unauthorized"); header("show.php"); exit(); } else // пользователь известен, неизвестен пароль { // введенный пароль $password = "$PHP_AUTH_PW"; // просмотр базы для получения реального пароля require(\'../conf.php\'); defined(\'PASSWORD\')or die(\'<html><head><title></title></head><body>Неудачно</body></html>\'); $link=new mysqli (SERVER, USERNAME, PASSWORD, DBNAME); $result=mysql_query($link, "SELECT pass FROM auth WHERE email=$PHP_AUTH_USER, gb=ololo"); $row=mysql_fetch_array($result); // проверка if ($row==NULL) // пользователя с таким именем нет в БД, выходим { header("WWW-Authenticate: Basic realm=\"Admin Center\""); header("HTTP/1.0 401 Unauthorized"); header("show.php"); exit(); } else // пользователь с таким именем есть в БД, проверка пароля { $real_password="$row[pass]"; if ($real_password!=$password) { header("WWW-Authenticate: Basic realm=\"Admin Center\""); header("HTTP/1.0 401 Unauthorized"); header("admin.php"); exit(); } } } ?>
создал скрипт uni-auth.php, в свой admin.php вставил: PHP: <?php session_start(); mysql_connect('localhost','root','123') or die(mysql_error()); mysql_select_db('gbook') or die(mysql_error()); mysql_query('SET NAMES cp1251'); include('uni-auth.php'); if(USER_LOGGED) { if(!check_user($UserID)) logout(); ?> <h1>Здравствуйте, <?php echo $UserName; ?>!</h1> <h2>Ваш ID: <?php echo $UserID; ?>.</h2> <h4><a href="?logout">Выход</a></h4> <?php } else { ?> <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <table> <tr> <td>Имя:</td><td><input type="text" name="user"></td> </tr> <tr> <td>Пароль:</td><td><input type="password" name="pass"></td> </tr> <tr> <td colspan="2"><input type="submit" name="login" value="Войти"></td> </tr> </table> </form> <?php } ?> Ошибка: Код (Text): Warning: session_start() [function.session-start]: open(C:\DOCUME~1\ADMIN~1.KIR\LOCALS~1\Temp\php\session\sess_gvm07ttlhtih7ignl3jt8g92u3, O_RDWR) failed: No such file or directory (2) in D:\WWW\myportfolio\mysites\myguestbook\admin_mgb.php on line 2 Fatal error: Call to undefined function mysql_connect() in D:\WWW\myportfolio\mysites\myguestbook\admin_mgb.php on line 3 Warning: Unknown: open(C:\DOCUME~1\ADMIN~1.KIR\LOCALS~1\Temp\php\session\sess_gvm07ttlhtih7ignl3jt8g92u3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:\DOCUME~1\ADMIN~1.KIR\LOCALS~1\Temp\php\session) in Unknown on line 0 Что-то с сессиями?
А если самому прописать функции PHP: sess_open sess_close sess_read sess_write sess_destroy sess_gc ?????? типа этого PHP: class session{ private static $db = null; public static function sess_cofig(){ session_set_save_handler( array('session','sess_open'), array('session','sess_close'), array('session','sess_read'), array('session','sess_write'), array('session','sess_destroy'), array('session','sess_gc') ); } public static function sess_open($sawe_path,$session_name){ if(self::$db === null){ self::$db = loading::$db; return false; } else{ return true; } } public static function sess_close(){ if(self::$db !== null){ self::$db->Close(); self::$db = null; } } public static function sess_read($id){ $result = self::$db->getWhere('session',array('se_id'=>md5($id.loading::$keys))); if($result === false){ loading::getUser(array('uid'=>0,'ip'=>loading::$ip,'id'=>md5($id.loading::$keys),'se_time'=>time())); return; } else{ loading::getUser($result[0]); return $result[0]['ses_sid']; } } public static function sess_write($id,$session_date){ if (empty($_COOKIE[session_name()]) && empty($session_date)) { return TRUE; } $up = self::$db->Update('{session}',array('se_time'=>time()),array('se_id'=>md5($id.loading::$keys))); if($up === false){ self::$db->Insert("{session}",array(0,loading::$ip,md5($id.loading::$keys),time())); return false; } else{ return true; } } public static function sess_destroy($id){ setcookie(session_name(),"",time()-ini_get("session.cookie_lifetime")); $result = self::$db->Delet('{session}',array('ses_sid'=>md5($id.loading::$keys))); if($result === false){ return false; } else{ return true; } } public static function sess_gc($max_life_time){ $time = time()-$max_life_time; $result = self::$db->getQuery("DELET FROM {session} WHERE `time` < $time"); if($result === false){ return false; } else{ return true; } } } данный класс для примера!