Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/34: Рейтинг темы: голосов - 34, средняя оценка - 4.79
58 / 63 / 11
Регистрация: 13.11.2014
Сообщений: 938
1

Проверка условия после нажатия на Submit

20.09.2016, 19:51. Показов 6974. Ответов 7
Метки нет (Все метки)

Неожиданно столкнувшись с трудностями при написании условия в случае успешного выполнения запроса, решил подойти с другой стороны к этому вопросу.
Можно ли сделать проверку условия после нажатия на Submit?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form name="myForm" id="myForm" action="" method="post">
  <input type="text" name="login" value=""><br>
 
    <select name='city'>
    <?php while($city = mysql_fetch_assoc($result)):?>
    <option value="<?=$city['id']?>"><?=$city['name']?></option>
    <?php endwhile?>
    </select>
    
    <input type="submit" name="Knopka" />
</form>
<?php
$strSQ = "INSERT INTO user(name, city) values 
            ('" . $_POST["login"] . "', '" . $_POST["city"] . "')";
    
    mysql_query($strSQ) or die(mysql_error());
?>
Нажатием на "submit" идёт отправка данных в бд. Можно ли сделать что бы если нажали на кнопку, и в случае успешного добавления в БД, то выводилось надпись "успешно"? Или с submit такого сделать нельзя?

Добавлено через 7 минут
Вот написал :
PHP
1
2
3
4
5
if (isset($_POST['Knopka'])) {
    // запись в бд
    echo "все ок";
}
?>
Сработало нормально. Минус- надпись остаётся, т.е. один раз данные добавил и она висит до перезагрузки страницы
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2016, 19:51
Ответы с готовыми решениями:

Закрыть окно fancybox после нажатия на submit
при нажатии на ссылку открывается окно-фрейм формы обратной связи. После заполнения и отправки инфы...

После нажатия на кнопку submit исчезает содержимое фрейма (+код внутри)?
&lt;FORM NAME=&quot;sendform&quot; ACTION=&quot;add.php&quot; METHOD=&quot;post&quot;&gt; &lt;? error_reporting(0); $login=$_GET; ...

Как избежать очистки заполненных полей select после нажатия submit
Здравствуйте, дорогие форумчане. Подскажите как избежать очистки выбранных полей select при...

Отлов нажатия кнопки submit и блокировка последующего нажатия
Привет всем! Нужен код, который способствует блокировке нажатия кнопки после одного нажатия на...

7
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
21.09.2016, 06:35 2
Цитата Сообщение от Briolin Посмотреть сообщение
Минус- надпись остаётся
ну сделайте яваскриптовым алертом, например
PHP
1
2
3
4
if (isset($_POST['Knopka'])) {
    // запись в бд
    echo "<script>alert('все ок');</script>";
}
но вообще, для начала нужно вешать проверку, что форма была подтверждена, перед тем как делать запрос в БД, сейчас это просто кусок PHP кода, который выполняется всегда после вывода формы.
во-вторых, данные, которые идут в запрос, у вас таки никак не проверяются, судя по листингу кода
0
58 / 63 / 11
Регистрация: 13.11.2014
Сообщений: 938
21.09.2016, 08:47  [ТС] 3
Цитата Сообщение от mav Посмотреть сообщение
вешать проверку, что форма была подтверждена,
Это вы про валидацию?
0
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
21.09.2016, 12:12 4
Цитата Сообщение от Briolin Посмотреть сообщение
Это вы про валидацию?
это я вообще про обработку события сабмита. хотя бы обернуть запрос в if (isset($_POST['Knopka'])), чтобы было понятно, что форма засабмичена, а не каждый раз пытаться вставить в таблицу несуществующие данные, если сабмита не было
0
58 / 63 / 11
Регистрация: 13.11.2014
Сообщений: 938
21.09.2016, 13:51  [ТС] 5
mav, Я вас правильно понял:
PHP
1
2
3
4
5
6
if (isset($_POST['Knopka'])) {
    $strSQ = "INSERT INTO user(name, city) values 
            ('" . $_POST["login"] . "', '" . $_POST["city"] . "')"; 
    echo "все ок";
}
?>
???

Добавлено через 31 минуту
Так теперь вообще не добавляется нечего в бд
0
459 / 367 / 94
Регистрация: 01.05.2010
Сообщений: 1,756
21.09.2016, 14:01 6
Добавьте атрибут Value в кнопку:
HTML5
1
<input type="submit" name="Knopka" value="Отправить!" />
А то получается что isset($_POST['Knopka']) возвращает FALSE, так как значение для 'Knopka' не передано.
0
58 / 63 / 11
Регистрация: 13.11.2014
Сообщений: 938
21.09.2016, 16:21  [ТС] 7
Цитата Сообщение от Зверушь Посмотреть сообщение
А то получается что isset($_POST['Knopka']) возвращает FALSE, так как значение для 'Knopka' не передано.
Сделал, теперь вообще не добавляется:
HTML5
1
<button type="submit" name= "Knopka" value="Отправить!" class="btn btn-default">Войти</button>
PHP
1
2
3
4
5
if (isset($_POST['Knopka'])) {
    "INSERT INTO user(name, city) values 
            ('" . $_POST["login"] . "', '" . $_POST["city"] . "')"; 
    echo "все ок";
}
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
21.09.2016, 17:10 8
PHP
1
2
3
4
5
if (isset($_POST['Knopka'])) {
    "INSERT INTO user(name, city) values 
            ('" . $_POST["login"] . "', '" . $_POST["city"] . "')"; 
    echo "все ок";
}
У вас и не могло ничего добавиться...содержимое запроса есть, а где mysqli_query()?)))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2016, 17:10

Преобразование текстового поля без нажатия submit
Как реализовать следующее: Пользователь вводит цифры (Пример: 8999555) в текстовом поле (input)...

Проверка isset($_POST['submit']) не работает
в процедурном стиле, работает вариант: //после нажатия на кнопку if(isset($_POST)) {...

проверка условия нажатия кнопки
привет всем. помогите пж. хочу сделать, чтобы при нажатии кнопки на форме 5 таймер отключался, а...

PHP БД отправка данных в phpmyadmin после нажатия кнопки ajax submit
Как отправить данные в БД (из input) после нажатия кнопки submit ajax? (Данные отправляемые в БД...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.