Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Помогите новичку (http://forum.oszone.net/showthread.php?t=248651)

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.

Время: 14:38.
© OSzone.net 2001-