-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
4iki_puki@vk |
08-12-2012 01:02 2041055 |
Помогите новичку
начал делать регистрацию на сайте и столкнулся с проблемой: чтобы войти на сайт нужно да раза нажать на кнопочку "вход" или же один раз нажать а потом обновить.
При добавлении строки header('Location: index.php'); выдает ошибку:
PHP код:
<?php
if(isset($_POST['submit'])){ //выполняем нижеследующий код, только если нажата кнопка
if(empty($_POST['login'])){ //если переменная логина пуста или не существует
echo"Вы не ввели логин"; // выводим сообщение об ошибке
}elseif(!preg_match("/[-a-zA-Z0-9]{3,15}/", $_POST['login'])){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели логин"; // выводим сообщение об ошибке
}elseif(empty($_POST['password'])){ //если переменная логина пуста или не существует
echo"Вы не ввели пароль"; // выводим сообщение об ошибке
}elseif(!preg_match("/[-a-zA-Z0-9]{3,30}/", $_POST['password'])){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели пароль"; // выводим сообщение об ошибке
}else{
$login = $_POST['login']; //присваеваем переменную
$password =($_POST['password']);
$password = md5($password);//присваеваем переменную и кодируем её в md5 для безопасности
$query = mysql_query("SELECT * FROM `users` WHERE `login`='$login' AND `password`='$password'"); //отправляем запрос на выборку всего содержимого , где поле логин равно переменной $login, а поле password равно переменной $password
$row = mysql_num_rows($query); // считаем количество рядов результата запроса
if($row > 0){
$_SESSION['password'] = $password;
$_SESSION['login'] = $login;
header('Location: index.php');
}else{
echo '<font size="3px" color="red">Неверный логин или пароль</font>'; // выводим сообщение об ошибке!
}
}
}
?>
если все данные корректные я создаю сессию с логином, паролем и хочу обноить страницу с помощью header('Location: index.php'); а оно выдает ошибку: Warning: Cannot modify header information - headers already sent by (output started at Z:\home\mySite.ru\www\Index.php:12) in Z:\home\mySite.ru\www\avtorization.php on line 24
выход работает нормально:
страничка вошедшего пользователя которую подключаем если существует сессия:
PHP код:
<div id="menupage">
<div id="menuname"> Авторизация! </div>
<div id="menucontect">
<form action="exit.php" id="form" method="post">
<?php
echo 'Вы вошли как ', $_SESSION['login'] ;
print "
<center><img src='images/avatars/noavatar.gif'></center> "
?>
<center><label class='reglink'> <a href='exit.php'>Выход</a> / <a href='#'>Профиль</a></label></center>
</form></div>
</div>
страничка exit.php:
PHP код:
<?php
session_start();
session_destroy();
header('Location: index.php');
?>
выходит и сразу же кидает нас на главную.
|
Время: 14:38.
© OSzone.net 2001-