ФорумПрограммированиеPHP для идиотовРасширения PHP → Cannot modify header information - headers already sent

Cannot modify header information - headers already sent

  • Marakoha

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz Янв. 5, 2015, 7:45 д.п.

    Cannot modify header information - headers already sent
    
    # Функция для генерации случайной строки
    function generateCode($length=6) {
        $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
        $code = "";
        $clen = strlen($chars) - 1;  
        while (strlen($code) < $length) {
                $code .= $chars[mt_rand(0,$clen)];  
        }
        return $code;
    }
    
    # Соединямся с БД
    mysql_connect("localhost", "root1", "123456");
    mysql_select_db("test");
    
    if(isset($_POST['submit']))
    {
        # Вытаскиваем из БД запись, у которой логин равняеться введенному
        $query = mysql_query("SELECT id, pass FROM go WHERE login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
        $data = mysql_fetch_assoc($query);
        
        # Сравниваем пароли
        if($data['pass'] === $_POST['pass'])
        {
            # Генерируем случайное число и шифруем его
            $hash = md5(generateCode(10));
            
            # Записываем в БД новый хеш авторизации и IP
            mysql_query("UPDATE go SET hash='".$hash."' WHERE id='".$data['user_id']."'");
            
            # Ставим куки
            setcookie("id", $data['id'], time()+60*60*24*30);
            setcookie("hash", $hash, time()+60*60*24*30);
            
            # Переадресовываем браузер на страницу проверки нашего скрипта
            header("Location: check.php"); exit();
        }
        else
        {
            print "Вы ввели неправильный логин/пароль";
        }
    }
    ?>
    <form method="POST">
    Логин <input name="login" type="text"><br>
    Пароль <input name="pass" type="password"><br>
    Не прикреплять к IP(не безопасно) <input type="checkbox" name="not_attach_ip"><br>
    <input name="submit" type="submit" value="Войти">
    </form>
    

    Только начал учить php, не совсем могу понять в чем ошибка?
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Янв. 5, 2015, 7:51 д.п., спустя 6 минут 22 секунды

Пожалуйста, авторизуйтесь, чтобы написать комментарий!