За последние 24 часа нас посетили 95154 программиста и 5600 роботов. Сейчас ищет 2191 программист ...

Warning: Cannot modify header information - headers already sent by (output started at X:\home\man\w

Тема в разделе "PHP для новичков", создана пользователем Heavy_rain, 20 окт 2017.

  1. Heavy_rain

    Heavy_rain Новичок

    С нами с:
    15 авг 2017
    Сообщения:
    9
    Симпатии:
    0
    PHP:
    1. <?php
    2. header('Content-Type: text/html; charset= utf-8');
    3. echo "
    4. <form method='POST' action=''>
    5. <label>Введіть ім'я</label><br>
    6. <input type='text' name='login' value='' required/><br>
    7. <label>Введіть email</label><br>
    8. <input type='text' name='mail' value='' required/><br>
    9. <label>Введіть пароль</label><br>
    10. <input type='password' name='password' value='' required/><br>
    11. <label>Підтвердіть пароль</label><br>
    12. <input type='password' name='confirmpassword' value='' required/><br>
    13. <input type='submit' name='check' value='Send data by check'/>
    14. </form>
    15. ";
    16. $file_dp="txt data/data/dataperson.txt";
    17. $file_da="txt data/data/data.txt";
    18. $arr_dp=file($file_dp);
    19. $arr_da=file($file_da);
    20. //перевірка на присутність даних в файлі_1
    21. if(isset($_POST["check"])){
    22. $check_dp=false;
    23. for($i=0;$i<count($arr_dp);$i++){
    24.     if($_POST["login"]==trim($arr_dp[$i]) && $_POST["mail"]==trim($arr_dp[$i+1])){
    25.         $check_dp=true;
    26.         break;
    27.     }
    28. }
    29. //перевірка на повторність в файлі_2
    30. $check_da=true;
    31. for($i=0;$i<count($arr_da);$i++){
    32.     if($_POST["mail"]==trim($arr_da[$i])){
    33.         $check_da=false;  
    34.     }
    35. }
    36. if($check_dp && $check_da){
    37.     if(strlen($_POST["password"])>3 && strlen($_POST["password"])<=32 && $_POST["password"]==$_POST["confirmpassword"]){
    38.         $chars="qwertyuio123456789";
    39.         $_SESSION["login"]=$_POST["login"];
    40.         $_SESSION["password"]=$_POST["password"];
    41.         $_SESSION["mail"]=$_POST["mail"];
    42.         for($i=0;$i<=10;$i++){
    43.             $_SESSION["check_code"][$i]=$chars[rand(0,18)];
    44.         }
    45.         for($i=0;$i<15;$i++){$_SESSION["check_code"][$i];}
    46.         $mail=mail($_POST["mail"],"MAN","Підтвердіть реєстрацію-".$_SESSION["check_code"],('Content-Type: text/html; charset= utf-8'));
    47.         if($mail==false){echo "<font color='red'>Проблеми з email, спробуйте пізніше</font>";}
    48.         header("Location:https://man/index_conf_reg.php");
    49.     }else{echo "<font color='red'>Пароль повинний бути від 3 до 32 символів, або вони не співпадають</font>";}
    50. }else{echo "<font color='red'>Користувач створений, або некоректні дані</font>";}
    51. }
    52. ?>
    53. <title>Реєстрація</title>
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.601
    Симпатии:
    423
    Адрес:
    РД, г. Махачкала.
    @Heavy_rain, сначала заголовки потом остальной вывод.
    http://php.net/manual/ru/function.header
     
  3. Heavy_rain

    Heavy_rain Новичок

    С нами с:
    15 авг 2017
    Сообщения:
    9
    Симпатии:
    0
    @mahmuzar, но как зделать перенаправление после ввода коретных даних от пользователя ?
    --- Добавлено ---
    Спасибо вам огромное роботает !
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.601
    Симпатии:
    423
    Адрес:
    РД, г. Махачкала.
    @Heavy_rain, ты понял почему неработает?
    --- Добавлено ---
    Если поймешь почему не работает, то все вопросы должны отпасть :)