За последние 24 часа нас посетили 62817 программистов и 1742 робота. Сейчас ищут 1166 программистов ...

Передача переменной из input

Тема в разделе "PHP для новичков", создана пользователем Leonid, 1 май 2018.

  1. Leonid

    Leonid Новичок

    С нами с:
    30 апр 2018
    Сообщения:
    15
    Симпатии:
    0
    Не получается передать переменную из input, вместо этого он просто обновляет страницу до главной. В чем может быть проблема?
    <div class="input-group1">
    <div class="p1"> Введите ваше имя:
    <FORM action="index.php" method="POST" >
    <input class="inpt" type="text" id="username" name="username" placeholder="Ваше имя..." autofocus >
    <input type="submit" class="btn2" value="Ok">
    </FORM>
    </div>

    <?php
    $username = $_POST['username'];
    $filed = "save.txt";
    file_put_contents($filed, $username);
    ?> upload_2018-5-1_15-20-13.png
     
    #1 Leonid, 1 май 2018
    Последнее редактирование: 1 май 2018
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @Leonid, именно так это и работает.
    Есть form, есть action="index.php", есть input type="submit".
    Нет ни js onsubmit, ни preventDefault() в нём(ей)...
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    @Leonid, если страница с формой и ее post-обработчик находятся по одному и тому же адресу, нужно делать разветвление кода по типу запроса.

    А чего вы собственно хотите добиться? Как выше сказали, все работает так, как и должно. Только, видимо, с ошибками из-за отсутствия разветвления, о котором я говорил выше.
     
  4. Leonid

    Leonid Новичок

    С нами с:
    30 апр 2018
    Сообщения:
    15
    Симпатии:
    0
    А как мне реализовать эти разветвления? По типу? -
    <?php

    if (isset($_POST['submit1'])) {
    ...
    }
    if (isset($_POST['submit2'])) {
    ...
    }

    ?>
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Можно и так. Только проверяйте существование интересующей вас переменной ($_POST['username']).

    В общем же случае используют условие $_SERVER['REQUEST_METHOD']=='POST', причем от проверки интересующих переменных это не освобождает.
     
  6. Leonid

    Leonid Новичок

    С нами с:
    30 апр 2018
    Сообщения:
    15
    Симпатии:
    0
    <div class="input-group1">
    <div class="p1"> Введите ваше имя:
    <FORM action="index.php" method="POST" >
    <input class="inpt" type="text" id="username" name="username" placeholder="Ваше имя..." autofocus >
    <input type="submit" name ="submit2" class="btn2" value="Ok">
    </FORM>
    </div>
    <?php
    $username = $_POST['username'];
    $filed = "save.txt";
    file_put_contents($filed, $username);
    ?>
    <br>
    <form action="index.php" method="post">
    <button type="submit" name ="submit3" value="">Начать заново</button>
    </form>

    вот они два submit
     
  7. Leonid

    Leonid Новичок

    С нами с:
    30 апр 2018
    Сообщения:
    15
    Симпатии:
    0
    Что имеется ввиду разветвление кода по типу запроса и как ее сделать?