За последние 24 часа нас посетили 18099 программистов и 1603 робота. Сейчас ищут 1723 программиста ...

Помогите устранить ошибочку!

Тема в разделе "PHP и базы данных", создана пользователем anonim, 1 май 2017.

  1. anonim

    anonim Новичок

    С нами с:
    17 апр 2017
    Сообщения:
    6
    Симпатии:
    0
    Есть код и есть ошибка! Помогите устранить!

    Ошибка:

    Warning: Cannot modify header information - headers already sent by (output started at W:\domains\Site\templates\header.php:29) in W:\domains\Site\cabinet.php on line 37

    КОД:
    PHP:
    1. <?php
    2.     require 'templates/header.php';
    3.     $dbc = mysqli_connect('localhost', 'root', '', 'myBase');
    4.     if (isset($_POST['doneOne'])) {
    5.         $username = mysqli_real_escape_string($dbc, trim($_POST['emailOne']));
    6.         $userpassword = mysqli_real_escape_string($dbc, trim($_POST['passwordOne']));
    7.  
    8.         if(!empty($username) && !empty($userpassword)) {
    9.             $query = "SELECT * FROM `users_2` WHERE username = '$username'";
    10.             $data = mysqli_query($dbc, $query);
    11.  
    12.             if (mysqli_num_rows($data) == 0) {
    13.                 $query = "INSERT INTO `users_2` (username, password) VALUES ('$username', '$userpassword')";
    14.  
    15.                 mysqli_query($dbc, $query);
    16.                 echo 'Все готово, можете авторизоваться';
    17.                 mysqli_close($dbc);
    18.                 exit();
    19.             }
    20.             else {
    21.                 echo 'Логин уже существует';
    22.             }
    23.         }
    24.     }
    25.  
    26.     if (isset($_POST['doneTwo'])) {
    27.         $user_username = mysqli_real_escape_string($dbc, trim($_POST['emailTwo']));
    28.         $user_userpassword = mysqli_real_escape_string($dbc, trim($_POST['passwordTwo']));
    29.  
    30.         if (!empty($user_username) && !empty($user_userpassword)) {
    31.             $query = "SELECT `id`, `username` FROM `users_2` WHERE username = '$user_username' AND password = '$user_userpassword'";
    32.             $data = mysqli_query($dbc, $query);
    33.             if (mysqli_num_rows($data) == 1) {
    34.                 $row = mysqli_fetch_assoc($data);
    35.  
    36.                 header('Location: index.php');
    37.                 exit();
    38.             }
    39.             else {
    40.                 echo 'Заполните правильно все поля!';
    41.             }
    42.         }
    43.     }
    44. ?>
     
    #1 anonim, 1 май 2017
    Последнее редактирование модератором: 1 май 2017
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @anonim
    (output started at W:\domains\Site\templates\header.php:29 в этом файле на 29 строке уже пошёл вывод, а заголовки нужно отправлять до вывода
     
    TeslaFeo нравится это.
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    :D
     
  5. anonim

    anonim Новичок

    С нами с:
    17 апр 2017
    Сообщения:
    6
    Симпатии:
    0
    Помогите это профиксить. Можете слегка переделать код, не совсем понимаю что нужно переделать
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    ну я не знаю что в этом файле на 29 строке
     
  7. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Ответ был дан в самом первом ответе от @denis01
    Прочитай еще раз.
    Заголовки можно отправлять только до того, как начнется какой либо вывод на экран.
    А у тебя echo выше.
    header - это заголовок, если что.