Не получается передать переменную из 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); ?>
@Leonid, именно так это и работает. Есть form, есть action="index.php", есть input type="submit". Нет ни js onsubmit, ни preventDefault() в нём(ей)...
@Leonid, если страница с формой и ее post-обработчик находятся по одному и тому же адресу, нужно делать разветвление кода по типу запроса. А чего вы собственно хотите добиться? Как выше сказали, все работает так, как и должно. Только, видимо, с ошибками из-за отсутствия разветвления, о котором я говорил выше.
А как мне реализовать эти разветвления? По типу? - <?php if (isset($_POST['submit1'])) { ... } if (isset($_POST['submit2'])) { ... } ?>
Можно и так. Только проверяйте существование интересующей вас переменной ($_POST['username']). В общем же случае используют условие $_SERVER['REQUEST_METHOD']=='POST', причем от проверки интересующих переменных это не освобождает.
<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