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

Cannot modify header information - headers already sent

  • Marakoha

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

    Spritz 5 января 2015 г. 18: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 г. 18:51, спустя 6 минут 22 секунды

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