Что значит это сообщение об ошибке?
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /usr/home/******/data/www/*********/Mail/LoginPhp/4.php:5) in /usr/home/*******/data/www/*********/Mail/LoginPhp/4.php on line 6
|
Если я правильно помню, это означает что вы открываете сесию после того как отправлены заголовки
|
<?
if (isset($_POST['login'])) { $passwordHash = md5($_POST['password']); $login = $_POST['login']; // Проверка логина на плохие смиволы if (!preg_match("/^\w{3,}$/", $login)) { die('Неправильный логин!'); } $link = mysql_connect('localhost','admind','*******'); if (!$link) { die('Не удалось соединиться с БД'); }else{ mysql_select_db('authorize', $link); $res = mysql_query("SELECT status FROM users WHERE login='$login'", $link); // Есть ли пользователь с таким логином? if (mysql_num_rows($res) < 1) { mysql_close($link); die('Такого пользователя нет!'); } // Какой статус у пользователя? if (mysql_result($res, 0) != 1) { mysql_close($link); die('Логин не активирован!'); } // Стартуем сессию и записываем логин в суперглобальный массив $_SESSION session_start(); $_SESSION['user'] = $login; mysql_close($link); // Если определена страница с которой мы пришли, // на нее и переадресуем, либо на главную if (isset($_SERVER['HTTP_REFERER'])) { header ("location: index2.html"); }else { header ("location: index2.html"); } } } ?> |
Сейчас представлю файл с формой аунтиификации.
<? session_start(); if (isset($_SESSION['user'])) { $auth = "Привет ".$_SESSION['user']."!<br />\n"; $auth .= "<a href='logout.php'>Выйти</a>"; $docum =include("text.html"); }else { $auth = <<< AUTH <form method="post" action="login.php"> <table> <tr> <td>Логин</td> <td><input type="text" name="login"></td> </tr> <tr> <td>Пароль</td> <td><input type="password" name="password"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Войти"></td> </tr> </table> </form> AUTH; $docum = "Эта общая информация"; } ?> <html> <head> </head> <body> <? echo $auth; ?> <hr /> <? echo $docum; ?> </body> </html> |
ИСПОЛЬЗУЙ
тут же чертов выбор на все вкусы! кто будет читать такой код (без подсветки) ? |
Часовой пояс GMT +3, время: 09:21. |