использовать header() после занесения информации в БД ставишь header('Location: страница'); die; и на ней уже
Luge предложил вполне правильное решение, но... Зачем нажимать рефреш? Ведь если нажать на линк "Новый ввод", то форма не отсылается заново. То есть как бы всё работает. А если вы хотите защититься от повторного ввода в БД тех же самых данных, то не забывайте, что пользователь может снова ввести то же самое в форму и снова отправить. Для этого нужно делать проверку на повторение.
Luge Спасибо за решение. Еще одной функцией больше в моем сознании. Что касается линка новый ввод, то здесь идет защита просто от случайного рефреш нажатия...
Столкнулась сегодня со следующим вопросом в котором абсолютно потерялась Как вносить данные в базу, если используются несколько checkbox. Например переменная $menussn перебирается массивом и соответственно выводит результаты в виде чекбоксов. я имею такой вот запрос на update Код (Text): $query3 = "UPDATE ks_ser SET status='on' WHERE snom='$menussn'"; А вот как дальше заставить выполнить одновременно update для всех выборанных чекбоксов непонимаю. Понимаю что как то надо создать массив, но вот как пока не пойму. зааранее благодарю
Имеется текстовое поле "dlinna". Вот проверка на то, что в поле введены данные: PHP: $fields = array('dlinna',); $error_text = array('dlinna'=>'Не указана длинна!',); $values = array(); $errors = array(); if (strtoupper($_SERVER['REQUEST_METHOD'])=='POST') // проверка на то, что метод вызова = POST, т.е. получение данных из формы. { foreach ($fields as $field) { if (!empty($_POST[$field])) { $values[$field] = htmlspecialchars($_POST[$field]); } else { $values[$field]=''; $errors[] = $field; } } foreach ($errors as $error) echo '<font color="red">' .$error_text[$error].'</font><br>'; } как сделать, чтобы в поле можно было вводить только цифры? Если введены другие символы, буквы, выводилась ошибка.
Да, спасибо, разобрался. Теперь другая загвоздка: делаю калькулятор заборов, ну и есть место, где пользователь выбирает, нужны ли ему продольные балки, соответственно, оставляет или убирает галочку из чекбокса... чекбокс и обработчик на одной странице (php в html-e). вот есть чекбокс, а чот обработать не получается, даже при снятой галочке всё равно считает, будто она стоит, посмотрите, может что не так делаю: Код (Text): <input type="checkbox" name="lagi" value="b1" checked>Продольные лаги (40х20х1,5) ... if ($_POST['lagi'] = TRUE) $lagi_itog = $dlinna*116; else $lagi_itog = 0; $dlinna определена раннее. пробовал вместо TRUE b1, всё равно не катит. Неужели это потому что страница обновляется при нажатии на кнопку, а чекбокс-то по умолчанию выбранным стоит...[/php]
Спасибо, Johnatan, только сделал немного по другому: PHP: if ($_POST['lagi'] == 'b1') $lagi_num = $dlinna*2; else $lagi_num = 0; вобщем, on поменял на b1, иначе не работало.
Ещё вопросик: как в текстовом поле вывести значение из определённой ячейки БД? HTML: <input type="text" name="name" size="20" maxlength="40" value="<?php вот здесь вот ?>"> коннектимся к БД, выбираем таблицу, а дальше? ну и что описывать в value?
Чот не получается у меня в текстовом поле вывести значение из определённой ячейки БД. Вот чо наделал: Код (Text): <?... if (!mysql_select_db($database, $dblink)) { echo "<br>не могу выбрать БД<br>"; exit(); } $str_sql_query = "SELECT price FROM calc"; if (!$result = mysql_query($str_sql_query, $dblink)) { echo "<br>Не могу выполнить запрос"; exit(); } ?> <input type="text" name="name" size="20" maxlength="40" value="<?=$values['price']?>"> В бд таблица calc со столбцами id, name и price.