<?php
include_once("connect.php");
if(isset($_POST['submit']))
{
$login = $_POST['login']; //Имя пользователя, введенное в форму
$password = $_POST['password']; // Пароль введенный в форму
//Запрос из базы данных по проверки существования в базе введенного пользователя
//с введенным паролем
$query = "SELECT id, login, password
FROM users
WHERE login ='{$login}' AND password='{$password}'
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error()); //Выполняется запрос
if (mysql_num_rows($sql) == 1)
{
$login = true;
session_start();
$_SESSION['auth']=1;
break;
echo 'Авторизация прошла успешно';
}
else
echo 'Неправильное имя или пароль';
}
?>
Если вводим верные логин и пароль, выдает такую ошибку:
Fatal error: Cannot break/continue 1 level in Z:\home\192.168.0.100\www\avtorization.php on line 21
Спустя 4 минуты, 54 секунды (27.09.2010 - 20:15) Basili4 написал(а):
break; делаешь вне цикла замени его exit или die
Спустя 24 минуты, 42 секунды (27.09.2010 - 20:40) Angel Flavor написал(а):
Basili4
Если exit или die то выводит белый лист. вместо "авторизация прошла успешно".
Если exit или die то выводит белый лист. вместо "авторизация прошла успешно".
Спустя 12 минут, 9 секунд (27.09.2010 - 20:52) Ser18 написал(а):
А если не писать ни того ни другого
Спустя 32 минуты, 22 секунды (27.09.2010 - 21:24) Angel Flavor написал(а):
Авторизация прошла успешно
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\192.168.0.100\www\avtorization.php:18) in Z:\home\192.168.0.100\www\avtorization.php on line 20
Авторизация прошла успешно
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\192.168.0.100\www\avtorization.php:18) in Z:\home\192.168.0.100\www\avtorization.php on line 20
Авторизация прошла успешно
Спустя 40 минут, 4 секунды (27.09.2010 - 22:04) Guest написал(а):
Angel Flavor
session_start(); - напиши в самом начале каждого документа, документ твой должен начинаться так
session_start(); - напиши в самом начале каждого документа, документ твой должен начинаться так
<?php
session_start();
Спустя 35 минут, 26 секунд (27.09.2010 - 22:40) Angel Flavor написал(а):
Я добавляю в самое начало файла, который не должны видеть не зарегистрированные пользователи:
Но по прямой ссылке эта страница все равно открывается и в верхней части ее ошибка:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\192.168.0.100\www\users\index.php:1) in Z:\home\192.168.0.100\www\users\index.php on line 2
<?php
session_start();
if($_SESSION['auth']!=1)
{
echo('Авторизуйтесь с главной страницы!');
exit;
}
?>
Но по прямой ссылке эта страница все равно открывается и в верхней части ее ошибка:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\192.168.0.100\www\users\index.php:1) in Z:\home\192.168.0.100\www\users\index.php on line 2
Спустя 25 минут, 57 секунд (27.09.2010 - 23:06) Ser18 написал(а):
А много у вас файлов с session_start(); ?
Спустя 4 минуты, 5 секунд (27.09.2010 - 23:10) Angel Flavor написал(а):
Цитата (Ser18 @ 27.09.2010 - 23:06) |
А много у вас файлов с session_start(); ? |
2 файла. индексы. к остальным доступ не так критичен)
Спустя 8 минут, 46 секунд (27.09.2010 - 23:19) inpost написал(а):
Angel Flavor
$login = true;
session_start();
$_SESSION['auth']=1;
session_start должен идти ОДИН РАЗ и в САМОМ НАЧАЛЕ!
Пишешь <?php session_start();
ДАЛЬШЕ уже весь остальной код. Более сессион-старт делать не надо!
$login = true;
session_start();
$_SESSION['auth']=1;
session_start должен идти ОДИН РАЗ и в САМОМ НАЧАЛЕ!
Пишешь <?php session_start();
ДАЛЬШЕ уже весь остальной код. Более сессион-старт делать не надо!
Спустя 19 часов, 7 минут, 55 секунд (28.09.2010 - 18:26) Angel Flavor написал(а):
Авторизуемся и переходим на страничку index.php
Этот код вставляем в index.php, к которому не должно быть доступа незарегитстрированным пользователям. Но он все равно открывается по прямой ссылке, что я делаю не так?
<?php
include_once("connect.php");
if(isset($_POST['submit']))
{
$login = $_POST['login']; //Имя пользователя, введенное в форму
$password = $_POST['password']; // Пароль введенный в форму
//Запрос из базы данных по проверки существования в базе введенного пользователя
//с введенным паролем
$query = "SELECT id, login, password
FROM users
WHERE login ='{$login}' AND password='{$password}'
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error()); //Выполняется запрос
if (mysql_num_rows($sql) == 1)
if (mysql_num_rows($sql) == 1)
{
$login = true;
session_start();
$_SESSION['auth']=1;
echo 'Авторизация прошла успешно';
} else {
$login = false;
session_start();
$_SESSION['auth']=0;
echo 'Неправильное имя или пароль';
}}
?>
Этот код вставляем в index.php, к которому не должно быть доступа незарегитстрированным пользователям. Но он все равно открывается по прямой ссылке, что я делаю не так?
<?php
if($_SESSION['auth']!=1)
{
echo('Авторизуйтесь с главной страницы!');
header("Location: index.php");
exit;
}
?>
Спустя 1 час, 5 минут, 46 секунд (28.09.2010 - 19:32) inpost написал(а):
session_start(); - В САМОМ НАЧАЛЕ!!!!
Спустя 3 часа, 34 минуты, 11 секунд (28.09.2010 - 23:06) Angel Flavor написал(а):
Цитата (inpost @ 28.09.2010 - 19:32) |
session_start(); - В САМОМ НАЧАЛЕ!!!! |
<?php
session_start();
if($_SESSION['auth']!=1)
{
echo('Авторизуйтесь с главной страницы!');
exit;
}
?>
Вот так ошибку пишет.
Спустя 26 минут, 5 секунд (28.09.2010 - 23:32) Ice написал(а):
Какая ошибка? О том, что сессия не стартуется? Отступов нигде нет? Всё в тютельку? А то некоторые любят код с середины блокнота писать.
Спустя 33 минуты, 26 секунд (29.09.2010 - 00:06) inpost написал(а):
Вот что написано в центре:
$login = true;
session_start(); // ЭТО НАЧАЛО?
$_SESSION['auth']=1;
Спустя 1 минута, 16 секунд (29.09.2010 - 00:07) Ice написал(а):
нельзя делать отступы перед <?php