Подскажите пожалуйста...
Есть форма ввода данных в БД
<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
-->
</style>
</HEAD>
<body >
<br/><br/><br/><br/><br/><br/><br/>
<form action="insert.php" method="post" name="frt" >
<table align="center">
<tr><td class="t2">Готовность заказа</td>
<td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
<tr><td class="t2">Фирма</td>
<td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
<tr><td class="t2">Адресс</td>
<td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
<tr><td class="t2">Имя</td>
<td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
<tr><td class="t2">Телефон</td>
<td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
<tr><td class="t2">Вес</td>
<td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
<tr><td class="t2">Куда</td>
<td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
<tr><td class="t2">Оплата</td>
<td> <SELECT NAME="oplata" id="oplata">
<OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
<OPTION value=Безнал>Безналичный расчет
<OPTION value=Получатель>Оплата получателем
</SELECT></td></tr>
<tr><td class="t2">Примечания</td>
<td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
<tr><td class="t2">Принял</td>
<td> <SELECT NAME="prinyal" id="prinyal">
<OPTION value=Алена>Алена
<OPTION value=Дима>Дима
<OPTION value=Катя>Катя
<OPTION value="Маша Г">Маша Г
<OPTION value="Маша Б">Маша Б
<OPTION value=Оксана>Оксана
<OPTION value=Света>Света
<OPTION value=Юля>Юля
<OPTION value="Не указано" SELECTED>Выбрать
</SELECT></td></tr>
<tr><td class="t2">Курьер</td>
<td> <SELECT NAME="kurier" id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
<OPTION value="Не указан" SELECTED>Не указан
</SELECT></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
type="button"
value="Вернуться на главную"
onclick="self.location.href='http://192.168.1.21';" /><br>
<input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
</table>
</form>
</body>
</html>
и скрипт обработки (в одном файле)
<?php
include("config.php");
if (isset($_POST['vvod'])) {
$gotovnost = $_POST['gotovnost'];
$firma = $_POST['firma'];
$adress = $_POST['adress'];
$imya = $_POST['imya'];
$tel = $_POST['tel'];
$ves = $_POST['ves'];
$kuda = $_POST['kuda'];
$oplata = $_POST['oplata'];
$primechaniya = $_POST['primechaniya'];
$prinyal = $_POST['prinyal'];
$kurier = $_POST['kurier'];
if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '') {
$add = mysql_query("INSERT INTO zakazy(gotovnost,firma,adress,imya,tel,ves,kuda,oplata,primechaniya,prinyal,kurier) VALUES ('$gotovnost','$firma','$adress','$imya','$tel','$ves','$kuda','$oplata','$primechaniya','$prinyal','$kurier')");
}else {
echo "Вы заполнили не все поля";
}
}
?>
Обратите внимание на
if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '')
Если не заполнить обязательные поля - выводится сообщение об ошибке "Вы заполнили не все поля" и (внимание!) обнуляется форма ввода.
Вопрос:
Как сделать так, что бы форма не обнулялась после ошибочного ввода?
Второстепенное: Когда удастся сделать так, что бы форма не обнулялась, SELECTы тоже будут возвращаться?
Спасибо.
Спустя 2 минуты, 11 секунд (12.01.2012 - 12:14) Игорь_Vasinsky написал(а):
а ты вставляй обратно данные
$name = isset($_POST['name']) ? $_POST['name'] : null;
<input type="text" name="name" value="<?php echo $name?>"/>
Спустя 10 минут, 42 секунды (12.01.2012 - 12:24) KonstantinK написал(а):
Немного дополню предыдущий пост
вот так немного безопаснее будет :)
<input type="text" name="name" value="<?php echo htmlspecialchars($name); ?>"/>
вот так немного безопаснее будет :)
Спустя 7 минут, 1 секунда (12.01.2012 - 12:31) Игорь_Vasinsky написал(а):
согласен

Спустя 9 минут, 7 секунд (12.01.2012 - 12:41) WisesT написал(а):
О! дело пошло! Спасибо.
Но есть еще пара нюансов:)
1. Теперь при отправке данных в форму, форма не обнуляется. Тоесть мне нужно чтобы она не обнулялась только в случае неполного заполнения (кроме поля "Примечания". Оно необязательно.)
Впринципе на крайняк можно прикрутить какой-то скрипт редиректа типа "Данные успешно добавлены! Через 3 сек Вас переметит для ввода нового заказа". Но, возможно, есть вариант по здоровее?
2. Правда это уже не столь важно, но желательно.
Как быть с SELECTaми?
Но есть еще пара нюансов:)
1. Теперь при отправке данных в форму, форма не обнуляется. Тоесть мне нужно чтобы она не обнулялась только в случае неполного заполнения (кроме поля "Примечания". Оно необязательно.)
Впринципе на крайняк можно прикрутить какой-то скрипт редиректа типа "Данные успешно добавлены! Через 3 сек Вас переметит для ввода нового заказа". Но, возможно, есть вариант по здоровее?
2. Правда это уже не столь важно, но желательно.
Как быть с SELECTaми?
Спустя 10 минут, 32 секунды (12.01.2012 - 12:51) WisesT написал(а):
Подкинули мне вот такой вариант моего кода, переделаный в масивы
Форма работает и в этом варианте. Зпоминает SELECTы но...
Поле "Примечания" Стало обязательным и при корректном заполнении формы (заполняю все поля) выдает ошибку
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod'])) // esli byla otpravlena forma
{
$error = false;
foreach ($data as $c)
{
if (!isset($_POST[$c]) || empty($_POST[$c]))
$error = true;
}
if (!$error)
{
$add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( "; //razvernuli massiv v stroku cherez zapatuju
foreach ($data as $c)
{
$add .= "'" . $_POST[$c] ."' , "; // dobavili ves post
}
$add[ strlen($add) - 1 ] = ')'; //zamenaem posledniju zapatuju na zakrytuju skobku
$add = mysql_query($add);
if (!$result)
echo 'some error' . mysql_error();
else
echo 'posted successfull!';
}
else
echo "Вы заполнили не все поля";
}
//risuem formu
?>
<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
</style>
</HEAD>
<br/><br/><br/><br/><br/><br/><br/>
<form action="?" method="post" name="frt" >
<table align="center">
<tr><td class="t2">Готовность заказа</td>
<td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
<tr><td class="t2">Фирма</td>
<td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
<tr><td class="t2">Адресс</td>
<td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
<tr><td class="t2">Имя</td>
<td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
<tr><td class="t2">Телефон</td>
<td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
<tr><td class="t2">Вес</td>
<td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
<tr><td class="t2">Куда</td>
<td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
<tr><td class="t2">Оплата</td>
<td> <SELECT NAME="oplata" id="oplata">
<OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
<OPTION value=Безнал>Безналичный расчет
<OPTION value=Получатель>Оплата получателем
</SELECT></td></tr>
<tr><td class="t2">Примечания</td>
<td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
<tr><td class="t2">Принял</td>
<td> <SELECT NAME="prinyal" id="prinyal">
<OPTION value=Алена>Алена
<OPTION value=Дима>Дима
<OPTION value=Катя>Катя
<OPTION value="Маша Г">Маша Г
<OPTION value="Маша Б">Маша Б
<OPTION value=Оксана>Оксана
<OPTION value=Света>Света
<OPTION value=Юля>Юля
<OPTION value="Не указано" SELECTED>Выбрать
</SELECT></td></tr>
<tr><td class="t2">Курьер</td>
<td> <SELECT NAME="kurier" id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
<OPTION value="Не указан" SELECTED>Не указан
</SELECT></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
type="button"
value="Вернуться на главную"
onclick="self.location.href='http://192.168.1.21';" /><br>
<input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
</table>
</form>
<script type="text/javascript">
<?php
foreach ($data as $c)
{
if (isset($_POST[$c]))
{
?>
document.getElementById('<?=$c ?>'). value = '<?=$_POST[$c]?>';
<?
}
}
?>
</script>
</body>
</html>
Форма работает и в этом варианте. Зпоминает SELECTы но...
Поле "Примечания" Стало обязательным и при корректном заполнении формы (заполняю все поля) выдает ошибку
Цитата |
some errorYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 |
Спустя 30 минут, 33 секунды (12.01.2012 - 13:22) rooor написал(а):
$add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( ";
foreach ($data as $c)
{
$add .= "'" . $_POST[$c] ."' , "; // dobavili ves post
}
$add[ strlen($add) - 1 ] = '")';
$add = mysql_query($add) or die(mysql_error());
Спустя 3 минуты, 19 секунд (12.01.2012 - 13:25) rooor написал(а):
if (!isset($_POST[$c]) && $_POST[$c] != 'primechaniya' || empty($_POST[$c]) && $_POST[$c] != 'primechaniya')
$error = true;
Это чтоб поле было необязательным
upd: похоже фигню написал))
Спустя 52 секунды (12.01.2012 - 13:26) WisesT написал(а):
Цитата |
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"' at line 1 |
это к твоему первому посту
Спустя 1 минута, 38 секунд (12.01.2012 - 13:27) killer8080 написал(а):
rooor
кавычки забыл в инсерте
кавычки забыл в инсерте

Цитата |
$add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( "; |
Цитата (WisesT @ 12.01.2012 - 11:41) |
Тоесть мне нужно чтобы она не обнулялась только в случае неполного заполнения |
Делай редирект после инсерта.
Цитата (KonstantinK @ 12.01.2012 - 11:24) |
вот так немного безопаснее будет ![]() |
Не безопасней, а просто корректней.
Спустя 16 минут, 23 секунды (12.01.2012 - 13:44) WisesT написал(а):
Цитата (rooor @ 12.01.2012 - 10:22) |
$add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( "; |
там надо не -1 а -2.
Это сделал.
Спустя 4 минуты, 36 секунд (12.01.2012 - 13:48) WisesT написал(а):
Цитата (rooor @ 12.01.2012 - 10:25) |
if (!isset($_POST[$c]) && $_POST[$c] != 'primechaniya' || empty($_POST[$c]) && $_POST[$c] != 'primechaniya') Это чтоб поле было необязательным upd: похоже фигню написал)) |
Только вот хотел об этом написать)
Спустя 10 минут, 48 секунд (12.01.2012 - 13:59) rooor написал(а):
Особо не вникал, попробуй так
foreach ($data as $k => $c)
{
if (!isset($_POST[$c]) && $k != 'primechaniya' || empty($_POST[$c]) && $k != 'primechaniya')
$error = true;
}
Спустя 2 минуты, 58 секунд (12.01.2012 - 14:02) WisesT написал(а):
Чуток точнее пожалуйста. Вместо какого участка это вставить?
В конце ХТМЛ формы или в ПХП который перед формой?
В конце ХТМЛ формы или в ПХП который перед формой?
Спустя 3 минуты, 11 секунд (12.01.2012 - 14:05) rooor написал(а):
вместо этого
foreach ($data as $c)
{
if (!isset($_POST[$c]) || empty($_POST[$c]))
$error = true;
}
Спустя 7 минут, 46 секунд (12.01.2012 - 14:13) WisesT написал(а):
Не прокатило.
Спустя 4 минуты, 41 секунда (12.01.2012 - 14:18) rooor написал(а):
Стоп... а нафига вообще там цикл? и нафига пост загонять в массив?
Нужно же, чтобы в форме оставались заполненные данные...
Нужно же, чтобы в форме оставались заполненные данные...
Спустя 1 час, 6 минут, 51 секунда (12.01.2012 - 15:25) WisesT написал(а):
Сделаю небольшой срез
Имеем форму и обработчик в одном файле insert.php
В данный момент все поля формы обязательны к заполнению. Есть не заполнены все поля - выдается сообщение об ошибке и форма не обнуляется. Отлично.
При заполнении всех полей данные передаются в БД успешно. Форма при этом не очищается.
Вопросы:
1. Как (в этих... незнакомых для меня... массивах) сделать поле "Примечания" необязательным для заполнения?
2. Очиска формы после передачи данных в БД. Есть варианты кроме редиректа?
3. Если редирект. Можно его код?
Спасибо за терпение.
Имеем форму и обработчик в одном файле insert.php
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod'])) // esli byla otpravlena forma
{
$error = false;
foreach ($data as $c)
{
if (!isset($_POST[$c]) || empty($_POST[$c]))
$error = true;
}
if (!$error)
{
$add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( "; //razvernuli massiv v stroku cherez zapatuju
foreach ($data as $c)
{
$add .= "'" . $_POST[$c] ."' , "; // dobavili ves post
}
$add[ strlen($add) - 2 ] = ')'; //zamenaem posledniju zapatuju na zakrytuju skobku
$result = mysql_query($add);
echo 'Данные добавлены';
}
else
echo "Вы заполнили не все поля";
}
//risuem formu
?>
<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
</style>
</HEAD>
<br/><br/><br/><br/><br/><br/><br/>
<form action="?" method="post" name="frt" >
<table align="center">
<tr><td class="t2">Готовность заказа</td>
<td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
<tr><td class="t2">Фирма</td>
<td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
<tr><td class="t2">Адресс</td>
<td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
<tr><td class="t2">Имя</td>
<td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
<tr><td class="t2">Телефон</td>
<td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
<tr><td class="t2">Вес</td>
<td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
<tr><td class="t2">Куда</td>
<td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
<tr><td class="t2">Оплата</td>
<td> <SELECT NAME="oplata" id="oplata">
<OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
<OPTION value=Безнал>Безналичный расчет
<OPTION value=Получатель>Оплата получателем
</SELECT></td></tr>
<tr><td class="t2">Примечания</td>
<td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
<tr><td class="t2">Принял</td>
<td> <SELECT NAME="prinyal" id="prinyal">
<OPTION value=Алена>Алена
<OPTION value=Дима>Дима
<OPTION value=Катя>Катя
<OPTION value="Маша Г">Маша Г
<OPTION value="Маша Б">Маша Б
<OPTION value=Оксана>Оксана
<OPTION value=Света>Света
<OPTION value=Юля>Юля
<OPTION value="Не указано" SELECTED>Выбрать
</SELECT></td></tr>
<tr><td class="t2">Курьер</td>
<td> <SELECT NAME="kurier" id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
<OPTION value="Не указан" SELECTED>Не указан
</SELECT></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
type="button"
value="Вернуться на главную"
onclick="self.location.href='http://192.168.1.21';" /><br>
<input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
</table>
</form>
<script type="text/javascript">
<?php
foreach ($data as $c)
{
if (isset($_POST[$c]))
{
?>
document.getElementById('<?=$c ?>'). value = '<?=$_POST[$c]?>';
<?
}
}
?>
</script>
</body>
</html>
В данный момент все поля формы обязательны к заполнению. Есть не заполнены все поля - выдается сообщение об ошибке и форма не обнуляется. Отлично.
При заполнении всех полей данные передаются в БД успешно. Форма при этом не очищается.
Вопросы:
1. Как (в этих... незнакомых для меня... массивах) сделать поле "Примечания" необязательным для заполнения?
2. Очиска формы после передачи данных в БД. Есть варианты кроме редиректа?
3. Если редирект. Можно его код?
Спасибо за терпение.
Спустя 9 минут, 41 секунда (12.01.2012 - 15:34) Игорь_Vasinsky написал(а):
Цитата |
1. Как (в этих... незнакомых для меня... массивах) сделать поле "Примечания" необязательным для заполнения? |
не проверяй его, но фильтруй
Цитата |
2. Очиска формы после передачи данных в БД. Есть варианты кроме редиректа? |
а чем редирект на себя не устраивает?
1. релоад на JS
2. очистка полей формы на JS
Цитата |
3. Если редирект. Можно его код? |
PHP
header("Location: ".$_SERVER['REQUEST_URI']);
но перед ним не должно быть вывода, так что лучше обработчик вешай выше HTML
JS
echo '<script language="JavaScript">location.reload();</script>';
Спустя 6 минут, 1 секунда (12.01.2012 - 15:40) WisesT написал(а):
Цитата |
Цитата 1. Как (в этих... незнакомых для меня... массивах) сделать поле "Примечания" необязательным для заполнения? не проверяй его, но фильтруй |
А можно чуток детальнее?
Спустя 3 минуты, 6 секунд (12.01.2012 - 15:43) Игорь_Vasinsky написал(а):
Цитата |
if (!isset($_POST[$c]) || empty($_POST[$c])) $error = true; } |
ну ты в цикле массив так проверяешь.... при таком раскладе - не удобно это.
Спустя 5 минут, 37 секунд (12.01.2012 - 15:49) WisesT написал(а):
А как бедет удобнее?
Так что-ли?
И помимо массива вписать еще это?
?
if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '') {
$add = mysql_query("INSERT INTO zakazy(gotovnost...
Так что-ли?
И помимо массива вписать еще это?
if (isset($_POST['vvod'])) {
$gotovnost = $_POST['gotovnost'];
$firma = $_POST['firma'];
$adress = $_POST['adress'];
$imya = $_POST['imya'];
$tel = $_POST['tel'];
$ves = $_POST['ves'];
$kuda = $_POST['kuda'];
$oplata = $_POST['oplata'];
$primechaniya = $_POST['primechaniya'];
$prinyal = $_POST['prinyal'];
$kurier = $_POST['kurier'];
?
Спустя 8 минут, 40 секунд (12.01.2012 - 15:58) Игорь_Vasinsky написал(а):
первый вариант - в нём просто убери переменную которая не обязательна и усё.
Спустя 21 минута, 55 секунд (12.01.2012 - 16:20) WisesT написал(а):
Как его правильно вписать?
не прокатило
if (isset($_POST['vvod'])) // esli byla otpravlena forma
{
$error = false;
foreach ($data as $c)
{
if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $prinyal != '' and $kurier != '')
$error = true;
}
if (!$error)
{
$add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( "; //razvernuli massiv v stroku cherez zapatuju
foreach ($data as $c)
{
$add .= "'" . $_POST[$c] ."' , "; // dobavili ves post
}
$add[ strlen($add) - 2 ] = ')'; //zamenaem posledniju zapatuju na zakrytuju skobku
$result = mysql_query($add);
//$add = mysql_query($add);
//if (!$result)
// echo 'some error' . mysql_error();
// else
echo 'Данные добавлены';
}
else
echo "Вы заполнили не все поля";
не прокатило
Спустя 34 минуты, 58 секунд (12.01.2012 - 16:55) rooor написал(а):
т.е. ты вообще не понимаешь что здесь происходит и для чего это всё нужно?...
ща попробую поправить)
ща попробую поправить)
Спустя 8 минут, 4 секунды (12.01.2012 - 17:03) WisesT написал(а):
и как ты угадал)))))
да, я только начинаю вникать) уже подкинули интересные видеоукроки и литературу) но нужно делать быренько)
Спасибо.
да, я только начинаю вникать) уже подкинули интересные видеоукроки и литературу) но нужно делать быренько)
Спасибо.
Спустя 18 минут, 6 секунд (12.01.2012 - 17:21) rooor написал(а):
Пробуй, мож я чё забыл)
<?php
include './config.php';
if (isset($_POST['vvod']) &&
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
!empty($_POST['imya']) &&
!empty($_POST['tel']) &&
!empty($_POST['ves']) &&
!empty($_POST['kuda']) &&
!empty($_POST['oplata']) &&
!empty($_POST['prinyal']) &&
!empty($_POST['kurier']))
{
(!empty($_POST['primechaniya'])) ? $prim = $_POST['primechaniya'] : $prim = '';
mysql_query("INSERT INTO `zakazy`(`gotovnost`, `firma`, adress, `imya`, `tel`, `ves`, `kuda`, `oplata`, `primechaniya`, `prinyal`, `kurier`)
VALUES ('".mysql_escape_string($_POST['gotovnost'])."',
'".mysql_escape_string($_POST['firma'])."',
'".mysql_escape_string($_POST['adress'])."',
'".mysql_escape_string($_POST['imya'])."',
'".mysql_escape_string($_POST['tel'])."',
'".mysql_escape_string($_POST['ves'])."',
'".mysql_escape_string($_POST['kuda'])."',
'".mysql_escape_string($_POST['oplata'])."',
'".mysql_escape_string($prim)."',
'".mysql_escape_string($_POST['prinyal'])."',
'".mysql_escape_string($_POST['kurier'])."')") or die("Error");
header("Location: ".$_SERVER['REQUEST_URI']);
}
else
{
echo "Вы заполнили не все поля";
}
?>
<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
</style>
</HEAD>
<br/><br/><br/><br/><br/><br/><br/>
<form action="?" method="post" name="frt" >
<table align="center">
<tr><td class="t2">Готовность заказа</td>
<td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost" value="<?php if(isset($_POST['gotovnost']) && !empty($_POST['gotovnost'])) echo htmlspecialchars($_POST['gotovnost']); ?>"/></td></tr>
<tr><td class="t2">Фирма</td>
<td> <input type="text" size="50" maxlength="50" name="firma" id="firma" value="<?php if(isset($_POST['firma']) && !empty($_POST['firma'])) echo htmlspecialchars($_POST['firma']); ?>"/></td></tr>
<tr><td class="t2">Адресс</td>
<td> <input type="text" size="50" maxlength="50" name="adress" id="adress" value="<?php if(isset($_POST['adress']) && !empty($_POST['adress'])) echo htmlspecialchars($_POST['adress']); ?>"/></td></tr>
<tr><td class="t2">Имя</td>
<td> <input type="text" size="50" maxlength="50" name="imya" id="imya" value="<?php if(isset($_POST['imya']) && !empty($_POST['imya'])) echo htmlspecialchars($_POST['imya']); ?>"/></td></tr>
<tr><td class="t2">Телефон</td>
<td> <input type="text" size="50" maxlength="50" name="tel" id="tel" value="<?php if(isset($_POST['tel']) && !empty($_POST['tel'])) echo htmlspecialchars($_POST['tel']); ?>"/></td></tr>
<tr><td class="t2">Вес</td>
<td> <input type="text" size="50" maxlength="50" name="ves" id="ves" value="<?php if(isset($_POST['ves']) && !empty($_POST['ves'])) echo htmlspecialchars($_POST['ves']); ?>"/></td></tr>
<tr><td class="t2">Куда</td>
<td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda" value="<?php if(isset($_POST['kuda']) && !empty($_POST['kuda'])) echo htmlspecialchars($_POST['kuda']); ?>"/></td></tr>
<tr><td class="t2">Оплата</td>
<td> <SELECT NAME="oplata" id="oplata">
<OPTION value=Выбрать SELECTED><?php if(isset($_POST['oplata']) && !empty($_POST['oplata'])) { echo htmlspecialchars($_POST['oplata']); }else{ echo "Выбрать"; } ?>
<OPTION value=Нал>Наличный расчет
<OPTION value=Безнал>Безналичный расчет
<OPTION value=Получатель>Оплата получателем
</SELECT></td></tr>
<tr><td class="t2">Примечания</td>
<td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya" value="<?php if(isset($_POST['primechaniya']) && !empty($_POST['primechaniya'])) echo htmlspecialchars($_POST['primechaniya']); ?>/></td></tr>
<tr><td class="t2">Принял</td>
<td> <SELECT NAME="prinyal" id="prinyal"><?php if(isset($_POST['prinyal']) && !empty($_POST['prinyal'])) { echo "<option>".htmlspecialchars($_POST['prinyal'])."</option>";?>
<OPTION value=Алена>Алена
<OPTION value=Дима>Дима
<OPTION value=Катя>Катя
<OPTION value="Маша Г">Маша Г
<OPTION value="Маша Б">Маша Б
<OPTION value=Оксана>Оксана
<OPTION value=Света>Света
<OPTION value=Юля>Юля
<OPTION value="Не указано" SELECTED>Выбрать
</SELECT></td></tr>
<tr><td class="t2">Курьер</td>
<td> <SELECT NAME="kurier" id="kurier"><?php if(isset($_POST['kurier']) && !empty($_POST['kurier'])) { echo "<option>".htmlspecialchars($_POST['kurier'])."</option>";?>
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
<OPTION value="Не указан" SELECTED>Не указан
</SELECT></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
type="button"
value="Вернуться на главную"
onclick="self.location.href='http://192.168.1.21';" /><br>
<input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
</table>
</form>
</body>
</html>
Спустя 23 минуты, 10 секунд (12.01.2012 - 17:44) WisesT написал(а):
Мы почти у цели. Гдето совсем чуток
при вот таком коде
Все хорошо, но изначально пишет "Вы заполнили не все поля" Но форма работает как положено. Где-то какихто ифов и скобок нехватат походу)
при вот таком коде
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod']) &&
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
!empty($_POST['imya']) &&
!empty($_POST['tel']) &&
!empty($_POST['ves']) &&
!empty($_POST['kuda']) &&
!empty($_POST['oplata']) &&
!empty($_POST['prinyal']) &&
!empty($_POST['kurier']))
{
(!empty($_POST['primechaniya'])) ? $prim = $_POST['primechaniya'] : $prim = '';
mysql_query("INSERT INTO `zakazy`(`gotovnost`, `firma`, adress, `imya`, `tel`, `ves`, `kuda`, `oplata`, `primechaniya`, `prinyal`, `kurier`)
VALUES ('".mysql_escape_string($_POST['gotovnost'])."',
'".mysql_escape_string($_POST['firma'])."',
'".mysql_escape_string($_POST['adress'])."',
'".mysql_escape_string($_POST['imya'])."',
'".mysql_escape_string($_POST['tel'])."',
'".mysql_escape_string($_POST['ves'])."',
'".mysql_escape_string($_POST['kuda'])."',
'".mysql_escape_string($_POST['oplata'])."',
'".mysql_escape_string($prim)."',
'".mysql_escape_string($_POST['prinyal'])."',
'".mysql_escape_string($_POST['kurier'])."')") or die("Error");
header("Location: ".$_SERVER['REQUEST_URI']);
}
else
{
echo "Вы заполнили не все поля";
}
?>
Все хорошо, но изначально пишет "Вы заполнили не все поля" Но форма работает как положено. Где-то какихто ифов и скобок нехватат походу)
Спустя 45 минут, 46 секунд (12.01.2012 - 18:30) WisesT написал(а):
я понимаю что к этому
Где-то должен быть if
Но только где и как....
else
{
echo "Вы заполнили не все поля";
}
Где-то должен быть if
Но только где и как....
Спустя 5 минут, 58 секунд (12.01.2012 - 18:36) Winston написал(а):
Цитата (WisesT @ 12.01.2012 - 17:30) |
Где-то должен быть if |
Вот он
if (isset($_POST['vvod']) &&
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
!empty($_POST['imya']) &&
!empty($_POST['tel']) &&
!empty($_POST['ves']) &&
!empty($_POST['kuda']) &&
!empty($_POST['oplata']) &&
!empty($_POST['prinyal']) &&
!empty($_POST['kurier']))
Спустя 8 минут, 36 секунд (12.01.2012 - 18:44) WisesT написал(а):
Тогда почему сообщение "Вы заполнили не все поля" висит постоянно?
Спустя 16 минут, 45 секунд (12.01.2012 - 19:01) inpost написал(а):
Потому что одно из имён ты не так ввёл.
Входящие данные смотри так:
А для проверки, убирай шаг за шагом 1 из !empty. Чтобы найти то имя, которое неправильно ввёл.
Входящие данные смотри так:
echo '<pre>'.print_r($_POST,1);
А для проверки, убирай шаг за шагом 1 из !empty. Чтобы найти то имя, которое неправильно ввёл.
Спустя 8 минут, 42 секунды (12.01.2012 - 19:10) WisesT написал(а):
Запутано...
Завтра попытаюсь вникнуть хоть чуток... Сейчас уже голова не варит.
Спасибо
Завтра попытаюсь вникнуть хоть чуток... Сейчас уже голова не варит.
Спасибо
Спустя 17 минут, 6 секунд (12.01.2012 - 19:27) rooor написал(а):
Я тебе нарисовал готовый файл. Он не работает?
Не надо ничего вставлять/добавлять из своего. Берешь свой файл, стираешь всё и вставляешь то, что я написал. ПОЛНОСТЬЮ. Не больше, не меньше
Не надо ничего вставлять/добавлять из своего. Берешь свой файл, стираешь всё и вставляешь то, что я написал. ПОЛНОСТЬЮ. Не больше, не меньше
Спустя 15 часов, 9 минут, 49 секунд (13.01.2012 - 10:37) WisesT написал(а):
к сожалению твой код выдал ошибку=(
Сижу вот на этом
Все сохорошо, но фраза "Вы заполнили не все поля" висит при открытии страници.
При корректном заполнении ворма отсылает корректно, но тоже написано "Вы заполнили не все поля"
Сижу вот на этом
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod']) &&
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
!empty($_POST['imya']) &&
!empty($_POST['tel']) &&
!empty($_POST['ves']) &&
!empty($_POST['kuda']) &&
!empty($_POST['oplata']) &&
!empty($_POST['prinyal']) &&
!empty($_POST['kurier']))
{
(!empty($_POST['primechaniya'])) ? $prim = $_POST['primechaniya'] : $prim = '';
mysql_query("INSERT INTO `zakazy`(`gotovnost`, `firma`, adress, `imya`, `tel`, `ves`, `kuda`, `oplata`, `primechaniya`, `prinyal`, `kurier`)
VALUES ('".mysql_escape_string($_POST['gotovnost'])."',
'".mysql_escape_string($_POST['firma'])."',
'".mysql_escape_string($_POST['adress'])."',
'".mysql_escape_string($_POST['imya'])."',
'".mysql_escape_string($_POST['tel'])."',
'".mysql_escape_string($_POST['ves'])."',
'".mysql_escape_string($_POST['kuda'])."',
'".mysql_escape_string($_POST['oplata'])."',
'".mysql_escape_string($prim)."',
'".mysql_escape_string($_POST['prinyal'])."',
'".mysql_escape_string($_POST['kurier'])."')") or die("Error");
header("Location: ".$_SERVER['REQUEST_URI']);
}
else
{
echo "Вы заполнили не все поля";
}
?>
<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
</style>
</HEAD>
<br/><br/><br/><br/><br/><br/><br/>
<form action="?" method="post" name="frt" >
...
</form>
<script type="text/javascript">
<?php
foreach ($data as $c)
{
if (isset($_POST[$c]))
{
?>
document.getElementById('<?=$c ?>'). value = '<?=$_POST[$c]?>';
<?
}
}
?>
</script>
</body>
</html>
Все сохорошо, но фраза "Вы заполнили не все поля" висит при открытии страници.
При корректном заполнении ворма отсылает корректно, но тоже написано "Вы заполнили не все поля"
Спустя 3 часа, 21 минута, 37 секунд (13.01.2012 - 13:58) WisesT написал(а):
все никак не могу разобраться..
Спустя 6 минут, 3 секунды (13.01.2012 - 14:04) redreem написал(а):
сделай вот этот кусок у себя вместо того что сейчас - увидишь на чем спотыкается.
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod']) {
foreach ($data as $k => $v) if (empty($_POST[$v])) {echo $v;die();}
Спустя 9 минут, 42 секунды (13.01.2012 - 14:14) WisesT написал(а):
жалуется на фигурную скобку
Цитата |
Parse error: syntax error, unexpected '{' in Z:\home\192.168.1.21\www\insert.php on line 18 |
Дружище, потерпи меня, давай уже добьем эту ересь.
АПД. Возможно криво сменил код. Ща попробую вариации на тему....
Спустя 9 минут, 20 секунд (13.01.2012 - 14:23) Winston написал(а):
redreem
Может так ?
Может так ?
if (isset($_POST['vvod']) {
foreach ($data as $k => $v)
if (!empty($_POST[$v]))
echo $v . '<br/>';
}
Спустя 2 минуты, 32 секунды (13.01.2012 - 14:26) WisesT написал(а):
та же беда. Возможно я что-то не то заменяю.
Если не сложно укажите редактируемый участок и код на который его сменить
Разжуйте так сказать;)
Если не сложно укажите редактируемый участок и код на который его сменить
Разжуйте так сказать;)
Спустя 35 секунд (13.01.2012 - 14:27) redreem написал(а):
менять надо вот этот кусок:
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod']) &&
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
!empty($_POST['imya']) &&
!empty($_POST['tel']) &&
!empty($_POST['ves']) &&
!empty($_POST['kuda']) &&
!empty($_POST['oplata']) &&
!empty($_POST['prinyal']) &&
!empty($_POST['kurier']))
{
Спустя 47 секунд (13.01.2012 - 14:27) redreem написал(а):
Winston, можно и так

Спустя 1 минута, 11 секунд (13.01.2012 - 14:28) redreem написал(а):
вообще в notepad++ например видна подсветка соответствия скобок.
Спустя 36 секунд (13.01.2012 - 14:29) WisesT написал(а):
Попробовал и вариант Винстона и твой.
Parse error: syntax error, unexpected '{' in Z:\home\192.168.1.21\www\insert.php on line 18
Parse error: syntax error, unexpected '{' in Z:\home\192.168.1.21\www\insert.php on line 18
Спустя 39 секунд (13.01.2012 - 14:30) WisesT написал(а):
Какраз в notepad++ и работаю
Спустя 1 минута, 16 секунд (13.01.2012 - 14:31) redreem написал(а):
if (isset($_POST['vvod']) {
на
if isset($_POST['vvod']) {
:) скобка лишняя
Спустя 39 секунд (13.01.2012 - 14:32) sharki написал(а):
WisesT
Так поставь нормальный редактор, меньше проблем с такими ошибками будет.
например: netBeans (бесплатный)
Так поставь нормальный редактор, меньше проблем с такими ошибками будет.
например: netBeans (бесплатный)
Спустя 58 секунд (13.01.2012 - 14:33) Winston написал(а):
Не проверял, но возможно и заработает.
Свернутый текст
<?
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod']) &&
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
!empty($_POST['imya']) &&
!empty($_POST['tel']) &&
!empty($_POST['ves']) &&
!empty($_POST['kuda']) &&
!empty($_POST['oplata']) &&
!empty($_POST['prinyal']) &&
!empty($_POST['kurier']))
{
$prim =!empty($_POST['primechaniya']) ? $_POST['primechaniya'] : '';
unset($_POST['vvod']);
$_POST = array_map('trim', $_POST);
$_POST = array_map('mysql_escape_string', $_POST);
mysql_query("INSERT INTO `zakazy`(`".implode('`, ', $data)."`)
VALUES ('".implode("', ", $_POST)."'") or die("Error");
header("Location: ".$_SERVER['REQUEST_URI']);
}
else
{
echo "Вы заполнили не все поля";
}
?>
<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type="text/css">
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
</style>
</HEAD>
<br/><br/><br/><br/><br/><br/><br/>
<form action="?" method="post" name="frt" >
...
</form>
<script type="text/javascript">
<?php
foreach ($data as $c)
{
if (isset($_POST[$c]))
{
?>
document.getElementById('<?=$c ?>'). value = '<?=$_POST[$c]?>';
<?
}
}
?>
</script>
</body>
</html>
Спустя 1 минута, 40 секунд (13.01.2012 - 14:34) Winston написал(а):
Цитата (redreem @ 13.01.2012 - 13:31) |
if isset($_POST['vvod']) { :) скобка лишняя |
:lol: наоборот пропущенная
if(isset($_POST['vvod'])) {
Спустя 8 секунд (13.01.2012 - 14:34) WisesT написал(а):
redreem
картина меняется)) теперь пишет
картина меняется)) теперь пишет
Цитата |
Parse error: syntax error, unexpected T_ISSET, expecting '(' in Z:\home\192.168.1.21\www\insert.php on line 18 |
АПД. !!!япс)
Спустя 1 минута, 9 секунд (13.01.2012 - 14:36) redreem написал(а):
засунь значит весь isset в скобки
винстон выше сказал

Спустя 3 минуты, 14 секунд (13.01.2012 - 14:39) WisesT написал(а):
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod'])) {
foreach ($data as $k => $v) if (empty($_POST[$v])) {echo $v;die();}
Всеравно при старте страницы пишет сообщение "Вы заполнили не все поля"
Winston при твоем коде летит ошибка =(
Цитата |
Parse error: syntax error, unexpected T_BOOLEAN_AND in Z:\home\192.168.1.21\www\insert.php on line 19 |
Спустя 1 минута, 51 секунда (13.01.2012 - 14:41) Winston написал(а):
Цитата (WisesT @ 13.01.2012 - 13:39) |
Winston при твоем коде летит ошибка =( |
Покажи 16-21 строки
Спустя 2 минуты, 9 секунд (13.01.2012 - 14:43) Winston написал(а):
Цитата (WisesT @ 13.01.2012 - 13:39) |
Всеравно при старте страницы пишет сообщение "Вы заполнили не все поля |
Вот так напиши и не будет выводить сразу :D
вместо else пиши
elseif (isset($_POST['vvod']) &&(
empty($_POST['gotovnost']) ||
empty($_POST['firma']) ||
empty($_POST['adress']) ||
empty($_POST['imya']) ||
empty($_POST['tel']) ||
empty($_POST['ves']) ||
empty($_POST['kuda']) ||
empty($_POST['oplata']) ||
empty($_POST['prinyal']) ||
empty($_POST['kurier'])))
{
echo "Вы заполнили не все поля";
}
Спустя 27 секунд (13.01.2012 - 14:43) WisesT написал(а):
удалил строчку с
Цитата |
<? |
с 16 по 21
$data [] = 'kurier';
if (isset($_POST['vvod'])) &&
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
в 18 добавил ")"
Спустя 3 минуты, 5 секунд (13.01.2012 - 14:46) redreem написал(а):
слушай, покажи весь php обработчик и весь html, который получается в браузере (копию исходного кода из браузера).
Спустя 31 секунда (13.01.2012 - 14:47) WisesT написал(а):
совсем запутался.
Изначально было
Что и куда добавляем-редактируем?
Изначально было
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod']) &&
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
!empty($_POST['imya']) &&
!empty($_POST['tel']) &&
!empty($_POST['ves']) &&
!empty($_POST['kuda']) &&
!empty($_POST['oplata']) &&
!empty($_POST['prinyal']) &&
!empty($_POST['kurier']))
{
(!empty($_POST['primechaniya'])) ? $prim = $_POST['primechaniya'] : $prim = '';
mysql_query("INSERT INTO `zakazy`(`gotovnost`, `firma`, adress, `imya`, `tel`, `ves`, `kuda`, `oplata`, `primechaniya`, `prinyal`, `kurier`)
VALUES ('".mysql_escape_string($_POST['gotovnost'])."',
'".mysql_escape_string($_POST['firma'])."',
'".mysql_escape_string($_POST['adress'])."',
'".mysql_escape_string($_POST['imya'])."',
'".mysql_escape_string($_POST['tel'])."',
'".mysql_escape_string($_POST['ves'])."',
'".mysql_escape_string($_POST['kuda'])."',
'".mysql_escape_string($_POST['oplata'])."',
'".mysql_escape_string($prim)."',
'".mysql_escape_string($_POST['prinyal'])."',
'".mysql_escape_string($_POST['kurier'])."')") or die("Error");
header("Location: ".$_SERVER['REQUEST_URI']);
}
else
{
echo "Вы заполнили не все поля";
}
?>
Что и куда добавляем-редактируем?
Спустя 59 секунд (13.01.2012 - 14:48) WisesT написал(а):
форма
<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
</style>
</HEAD>
<br/><br/><br/><br/><br/><br/><br/>
<form action="?" method="post" name="frt" >
<table align="center">
<tr><td class="t2">Готовность заказа</td>
<td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
<tr><td class="t2">Фирма</td>
<td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
<tr><td class="t2">Адресс</td>
<td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
<tr><td class="t2">Имя</td>
<td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
<tr><td class="t2">Телефон</td>
<td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
<tr><td class="t2">Вес</td>
<td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
<tr><td class="t2">Куда</td>
<td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
<tr><td class="t2">Оплата</td>
<td> <SELECT NAME="oplata" id="oplata">
<OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
<OPTION value=Безнал>Безналичный расчет
<OPTION value=Получатель>Оплата получателем
</SELECT></td></tr>
<tr><td class="t2">Примечания</td>
<td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
<tr><td class="t2">Принял</td>
<td> <SELECT NAME="prinyal" id="prinyal">
<OPTION value=Алена>Алена
<OPTION value=Дима>Дима
<OPTION value=Катя>Катя
<OPTION value="Маша Г">Маша Г
<OPTION value="Маша Б">Маша Б
<OPTION value=Оксана>Оксана
<OPTION value=Света>Света
<OPTION value=Юля>Юля
<OPTION value="Не указано" SELECTED>Выбрать
</SELECT></td></tr>
<tr><td class="t2">Курьер</td>
<td> <SELECT NAME="kurier" id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
<OPTION value="Не указан" SELECTED>Не указан
</SELECT></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
type="button"
value="Вернуться на главную"
onclick="self.location.href='http://192.168.1.21';" /><br>
<input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
</table>
</form>
<script type="text/javascript">
<?php
foreach ($data as $c)
{
if (isset($_POST[$c]))
{
?>
document.getElementById('<?=$c ?>'). value = '<?=$_POST[$c]?>';
<?
}
}
?>
</script>
</body>
</html>
Спустя 1 минута, 47 секунд (13.01.2012 - 14:50) WisesT написал(а):
исходный код с браузера
Вы заполнили не все поля<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
</style>
</HEAD>
<br/><br/><br/><br/><br/><br/><br/>
<form action="?" method="post" name="frt" >
<table align="center">
<tr><td class="t2">Готовность заказа</td>
<td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
<tr><td class="t2">Фирма</td>
<td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
<tr><td class="t2">Адресс</td>
<td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
<tr><td class="t2">Имя</td>
<td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
<tr><td class="t2">Телефон</td>
<td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
<tr><td class="t2">Вес</td>
<td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
<tr><td class="t2">Куда</td>
<td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
<tr><td class="t2">Оплата</td>
<td> <SELECT NAME="oplata" id="oplata">
<OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
<OPTION value=Безнал>Безналичный расчет
<OPTION value=Получатель>Оплата получателем
</SELECT></td></tr>
<tr><td class="t2">Примечания</td>
<td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
<tr><td class="t2">Принял</td>
<td> <SELECT NAME="prinyal" id="prinyal">
<OPTION value=Алена>Алена
<OPTION value=Дима>Дима
<OPTION value=Катя>Катя
<OPTION value="Маша Г">Маша Г
<OPTION value="Маша Б">Маша Б
<OPTION value=Оксана>Оксана
<OPTION value=Света>Света
<OPTION value=Юля>Юля
<OPTION value="Не указано" SELECTED>Выбрать
</SELECT></td></tr>
<tr><td class="t2">Курьер</td>
<td> <SELECT NAME="kurier" id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
<OPTION value="Не указан" SELECTED>Не указан
</SELECT></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
type="button"
value="Вернуться на главную"
onclick="self.location.href='http://192.168.1.21';" /><br>
<input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
</table>
</form>
<script type="text/javascript">
document.getElementById('gotovnost'). value = 'ыва';
document.getElementById('firma'). value = '';
document.getElementById('adress'). value = '';
document.getElementById('imya'). value = '';
document.getElementById('tel'). value = '';
document.getElementById('ves'). value = '';
document.getElementById('kuda'). value = '';
document.getElementById('oplata'). value = 'Выбрать';
document.getElementById('primechaniya'). value = '';
document.getElementById('prinyal'). value = 'Не указано';
document.getElementById('kurier'). value = 'Не указан';
</script>
</body>
</html>
Спустя 2 минуты, 53 секунды (13.01.2012 - 14:52) rooor написал(а):
Что находится в 18 строке и какая ошибка была в моём варианте?
Спустя 1 минута, 50 секунд (13.01.2012 - 14:54) Winston написал(а):
Цитата |
<style type=\"text/css\"> |
Слеши убери, в html они нафиг не нужны.
Спустя 3 минуты, 39 секунд (13.01.2012 - 14:58) WisesT написал(а):
rooor
Твоя форма при вводе даных в БД бьет "error"
также постоянно висит "вы заполнили не все поля"
заполняю все поля кроме необязатльного "вы заполнили не все поля"
заполняю абсолютно все - эррор
Твоя форма при вводе даных в БД бьет "error"
также постоянно висит "вы заполнили не все поля"
заполняю все поля кроме необязатльного "вы заполнили не все поля"
заполняю абсолютно все - эррор
Спустя 2 минуты, 46 секунд (13.01.2012 - 15:01) redreem написал(а):
проблема оказалась в некорректности условия.
если сделать вот так его:
то все работает.
если сделать вот так его:
if (
(isset($_POST['vvod'])) &&
(!empty($_POST['gotovnost'])) &&
(!empty($_POST['firma'])) &&
(!empty($_POST['adress'])) &&
(!empty($_POST['imya'])) &&
(!empty($_POST['tel'])) &&
(!empty($_POST['ves'])) &&
(!empty($_POST['kuda'])) &&
(!empty($_POST['oplata'])) &&
(!empty($_POST['prinyal'])) &&
(!empty($_POST['kurier']))
)
{
то все работает.
Спустя 10 минут, 36 секунд (13.01.2012 - 15:11) WisesT написал(а):
все верно. работает.
но изначально на страничке висит сообщение
"Вы заполнили не все поля"
а нужно чтобы изначально его небыло, при неполном заполнении формы выводило "Вы заполнили не все поля"
но изначально на страничке висит сообщение
"Вы заполнили не все поля"
а нужно чтобы изначально его небыло, при неполном заполнении формы выводило "Вы заполнили не все поля"
Спустя 4 минуты, 32 секунды (13.01.2012 - 15:16) Winston написал(а):
Цитата (WisesT @ 13.01.2012 - 14:11) |
но изначально на страничке висит сообщение "Вы заполнили не все поля" |
Все правильно, т.к. уловие if(isset($_POST['vvod'])... (кнопка не нажате) - не выполняется, пототу PHP переходит к следующему блоку, то есть к else и выводит сообщение.
Цитата (WisesT @ 13.01.2012 - 14:11) |
а нужно чтобы изначально его небыло, при неполном заполнении формы выводило "Вы заполнили не все поля" |
Ты читал этот пост? http://phpforum.ru/index.php?showtopic=0&v...dpost&p=1670951
Спустя 1 минута Winston написал(а):
Цитата (WisesT @ 13.01.2012 - 13:58) |
заполняю все поля кроме необязатльного "вы заполнили не все поля" |
Из того условия, что я привел, убери необязательные поля.
Спустя 1 минута, 59 секунд Winston написал(а):
Цитата (WisesT @ 13.01.2012 - 13:58) |
заполняю абсолютно все - эррор |
Какой еррор ?
Спустя 4 минуты, 4 секунды (13.01.2012 - 15:20) redreem написал(а):
да вот такой костыль влепить и все :)
по уму так-то можно эту страницу в 5 раз сократить :)
if (isset($_POST['vvod'])) echo "Вы заполнили не все поля";
по уму так-то можно эту страницу в 5 раз сократить :)
Спустя 3 минуты, 12 секунд (13.01.2012 - 15:23) WisesT написал(а):
Читал но мы же потом переделали на
а как в него вкрутить элсиф?
redreem
вот так что-ли?
АПД
тоже ерунда идет
при заполнении всех полей кроме необязательного - данные вносятся но пишет
if (
(isset($_POST['vvod'])) &&
(!empty($_POST['gotovnost'])) &&
(!empty($_POST['firma'])) &&
(!empty($_POST['adress'])) &&
(!empty($_POST['imya'])) &&
(!empty($_POST['tel'])) &&
(!empty($_POST['ves'])) &&
(!empty($_POST['kuda'])) &&
(!empty($_POST['oplata'])) &&
(!empty($_POST['prinyal'])) &&
(!empty($_POST['kurier']))
)
{
а как в него вкрутить элсиф?
redreem
вот так что-ли?
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod'])) echo "Вы заполнили не все поля";
if (
(isset($_POST['vvod'])) &&
(!empty($_POST['gotovnost'])) &&
(!empty($_POST['firma'])) &&
(!empty($_POST['adress'])) &&
(!empty($_POST['imya'])) &&
(!empty($_POST['tel'])) &&
(!empty($_POST['ves'])) &&
(!empty($_POST['kuda'])) &&
(!empty($_POST['oplata'])) &&
(!empty($_POST['prinyal'])) &&
(!empty($_POST['kurier']))
)
{
(!empty($_POST['primechaniya'])) ? $prim = $_POST['primechaniya'] : $prim = '';
mysql_query("INSERT INTO `zakazy`(`gotovnost`, `firma`, adress, `imya`, `tel`, `ves`, `kuda`, `oplata`, `primechaniya`, `prinyal`, `kurier`)
VALUES ('".mysql_escape_string($_POST['gotovnost'])."',
'".mysql_escape_string($_POST['firma'])."',
'".mysql_escape_string($_POST['adress'])."',
'".mysql_escape_string($_POST['imya'])."',
'".mysql_escape_string($_POST['tel'])."',
'".mysql_escape_string($_POST['ves'])."',
'".mysql_escape_string($_POST['kuda'])."',
'".mysql_escape_string($_POST['oplata'])."',
'".mysql_escape_string($prim)."',
'".mysql_escape_string($_POST['prinyal'])."',
'".mysql_escape_string($_POST['kurier'])."')") or die("Error");
header("Location: ".$_SERVER['REQUEST_URI']);
}
?>
АПД
тоже ерунда идет
при заполнении всех полей кроме необязательного - данные вносятся но пишет
Цитата |
Вы заполнили не все поля Warning: Cannot modify header information - headers already sent by (output started at Z:\home\192.168.1.21\www\insert.php:17) in Z:\home\192.168.1.21\www\insert.php on line 47 |
Спустя 11 минут, 49 секунд (13.01.2012 - 15:35) redreem написал(а):
с ошибкой - это уже из другой оперы - где-то до этого хидер шлется или у тебя файл в utf-8 с BOM. а сократить можно так например:
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
$error = false;
if (isset($_POST['vvod'])) {
$fields = '';
$values = '';
foreach ($data as $k => $v) {
if (empty($_POST[$v])) {
$error = true;
break;
} else {
$fields .= $v;
$values .= "'".mysql_escape_string($_POST[$v])."'";
if ($v!='kurier') {
$fields .= ', ';
$values .= ', ';
}
}
}
if ($error) {echo "Вы заполнили не все поля";} else {
$prim = $_POST['primechaniya'];
mysql_query("INSERT INTO zakazy (".$fields.") VALUES (".$values.")") or die("Error");
header("Location: ".$_SERVER['REQUEST_URI']);
}
}
?>
Спустя 9 минут, 15 секунд (13.01.2012 - 15:44) WisesT написал(а):
нет нет)
сокращать не нужно. я тогда совсем запутаюсь если нужно будет какое-то поле добавить.
сокращать не нужно. я тогда совсем запутаюсь если нужно будет какое-то поле добавить.
Цитата |
где-то до этого хидер шлется или у тебя файл в utf-8 с BOM |
особенно второе заинтересовало О.о
Спустя 3 минуты, 57 секунд (13.01.2012 - 15:48) rooor написал(а):
мда... задачу для первого класса расписали на 5 страниц

Спустя 1 минута, 45 секунд (13.01.2012 - 15:50) redreem написал(а):
в нотепад++ попробуй ПРЕОБРАЗОВАТЬ в utf-8 без BOM
Спустя 3 минуты, 27 секунд (13.01.2012 - 15:53) rooor написал(а):
Ладно, фик с этим.
WisesT
Тот скрипт, который я тебе написал, если он возвращает Error, значит там надо поправить запрос в БД, т.е. все условия проходят нормально, а записать в базу он не может.
Там надо в запросе исправить or die("Error") на or die(mysql_error()), тогда будет видно какая ошибка.
А вообще - учи PHP с самого начала, если хочешь научится, конечно))
WisesT
Тот скрипт, который я тебе написал, если он возвращает Error, значит там надо поправить запрос в БД, т.е. все условия проходят нормально, а записать в базу он не может.
Там надо в запросе исправить or die("Error") на or die(mysql_error()), тогда будет видно какая ошибка.
А вообще - учи PHP с самого начала, если хочешь научится, конечно))
Спустя 18 минут, 8 секунд (13.01.2012 - 16:11) WisesT написал(а):
Так. Проблемы не ушли.
Обработчик выглядит вот так
При этом:
Проблемы:
Что нужно реализовать:
Корректное отображение сообщения "вы не заполнили все поля"
Очистка формы после успешного добавления данных в бд
П.С. Возможно, последне можно реализовать каким-то скриптом редиректа на страничку добавления? Когда-то видел, что при нажатии (добавлении) выдает сообщение как на форумах "Сообщение добавлено! Сейчас вы будете перенаправлны"
Обработчик выглядит вот так
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod'])) echo "Вы заполнили не все поля";
if (
(isset($_POST['vvod'])) &&
(!empty($_POST['gotovnost'])) &&
(!empty($_POST['firma'])) &&
(!empty($_POST['adress'])) &&
(!empty($_POST['imya'])) &&
(!empty($_POST['tel'])) &&
(!empty($_POST['ves'])) &&
(!empty($_POST['kuda'])) &&
(!empty($_POST['oplata'])) &&
(!empty($_POST['prinyal'])) &&
(!empty($_POST['kurier']))
)
{
(!empty($_POST['primechaniya'])) ? $prim = $_POST['primechaniya'] : $prim = '';
mysql_query("INSERT INTO `zakazy`(`gotovnost`, `firma`, adress, `imya`, `tel`, `ves`, `kuda`, `oplata`, `primechaniya`, `prinyal`, `kurier`)
VALUES ('".mysql_escape_string($_POST['gotovnost'])."',
'".mysql_escape_string($_POST['firma'])."',
'".mysql_escape_string($_POST['adress'])."',
'".mysql_escape_string($_POST['imya'])."',
'".mysql_escape_string($_POST['tel'])."',
'".mysql_escape_string($_POST['ves'])."',
'".mysql_escape_string($_POST['kuda'])."',
'".mysql_escape_string($_POST['oplata'])."',
'".mysql_escape_string($prim)."',
'".mysql_escape_string($_POST['prinyal'])."',
'".mysql_escape_string($_POST['kurier'])."')") or die("Error");
header("Location: ".$_SERVER['REQUEST_URI']);
}
?>
При этом:
- Есть поля обязательные к заполнению и необязательные ("Примечания")
- Форма запоминает даные введенные в форму (т.е. если не заполнены все обязательные поля - выдается сообщение "вы не заполнили все поля" и данные остаются в форме
Проблемы:
- Даже при заполнении всех полей (или всех обязательных полей) данные добавляются в БД но вылетает сообщение "вы не заполнили все поля"
- Форма не обнуляется после добавления данных в БД
Что нужно реализовать:
Корректное отображение сообщения "вы не заполнили все поля"
Очистка формы после успешного добавления данных в бд
П.С. Возможно, последне можно реализовать каким-то скриптом редиректа на страничку добавления? Когда-то видел, что при нажатии (добавлении) выдает сообщение как на форумах "Сообщение добавлено! Сейчас вы будете перенаправлны"
Спустя 1 минута, 47 секунд (13.01.2012 - 16:13) WisesT написал(а):
Изначально форма ввода была вот такой
Обновлялась после добавления данных и выполняла условия по обязательным полям.
Но была поставлена задача, что бы форма запоминала данные введенные в форму, если были заполнены не все обязательные поля и нажата кнопка отправки.
Может что-то вытащите или что-то вам навеет)
<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
-->
</style>
</HEAD>
<body >
<br/><br/><br/><br/><br/><br/><br/>
<form action="insert.php" method="post" name="frt" >
<table align="center">
<tr><td class="t2">Готовность заказа</td>
<td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
<tr><td class="t2">Фирма</td>
<td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
<tr><td class="t2">Адресс</td>
<td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
<tr><td class="t2">Имя</td>
<td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
<tr><td class="t2">Телефон</td>
<td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
<tr><td class="t2">Вес</td>
<td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
<tr><td class="t2">Куда</td>
<td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
<tr><td class="t2">Оплата</td>
<td> <SELECT NAME="oplata" id="oplata">
<OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
<OPTION value=Безнал>Безналичный расчет
<OPTION value=Получатель>Оплата получателем
</SELECT></td></tr>
<tr><td class="t2">Примечания</td>
<td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
<tr><td class="t2">Принял</td>
<td> <SELECT NAME="prinyal" id="prinyal">
<OPTION value=Алена>Алена
<OPTION value=Дима>Дима
<OPTION value=Катя>Катя
<OPTION value="Маша Г">Маша Г
<OPTION value="Маша Б">Маша Б
<OPTION value=Оксана>Оксана
<OPTION value=Света>Света
<OPTION value=Юля>Юля
<OPTION value="Не указано" SELECTED>Выбрать
</SELECT></td></tr>
<tr><td class="t2">Курьер</td>
<td> <SELECT NAME="kurier" id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
<OPTION value="Не указан" SELECTED>Не указан
</SELECT></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
type="button"
value="Вернуться на главную"
onclick="self.location.href='http://192.168.1.21';" /><br>
<input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
</table>
</form>
</body>
</html>
<?php
include("config.php");
if (isset($_POST['vvod'])) {
$gotovnost = $_POST['gotovnost'];
$firma = $_POST['firma'];
$adress = $_POST['adress'];
$imya = $_POST['imya'];
$tel = $_POST['tel'];
$ves = $_POST['ves'];
$kuda = $_POST['kuda'];
$oplata = $_POST['oplata'];
$primechaniya = $_POST['primechaniya'];
$prinyal = $_POST['prinyal'];
$kurier = $_POST['kurier'];
if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '') {
$add = mysql_query("INSERT INTO zakazy(gotovnost,firma,adress,imya,tel,ves,kuda,oplata,primechaniya,prinyal,kurier) VALUES ('$gotovnost','$firma','$adress','$imya','$tel','$ves','$kuda','$oplata','$primechaniya','$prinyal','$kurier')");
}else {
echo "Вы заполнили не все поля";
}
}
?>
Обновлялась после добавления данных и выполняла условия по обязательным полям.
Но была поставлена задача, что бы форма запоминала данные введенные в форму, если были заполнены не все обязательные поля и нажата кнопка отправки.
Может что-то вытащите или что-то вам навеет)
Спустя 9 минут, 40 секунд (13.01.2012 - 16:23) Winston написал(а):
WisesT
Смотря на твой последний код, я могу сделать вывод, что ты не читал мое сообщение http://phpforum.ru/index.php?showtopic=0&v...dpost&p=1670972
Смотря на твой последний код, я могу сделать вывод, что ты не читал мое сообщение http://phpforum.ru/index.php?showtopic=0&v...dpost&p=1670972
Спустя 4 минуты, 41 секунда (13.01.2012 - 16:28) WisesT написал(а):
Так. Слепил из старой формы почти то что нужно
Нужно только сделать поле "примечания" необязательным и сделать очистку формы после успешного добавления.
Осилим?
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod'])) // esli byla otpravlena forma
{
$error = false;
foreach ($data as $c)
{
if (!isset($_POST[$c]) || empty($_POST[$c]))
$error = true;
}
if (!$error)
{
$add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( "; //razvernuli massiv v stroku cherez zapatuju
foreach ($data as $c)
{
$add .= "'" . $_POST[$c] ."' , "; // dobavili ves post
}
$add[ strlen($add) - 2 ] = ')'; //zamenaem posledniju zapatuju na zakrytuju skobku
$result = mysql_query($add);
if (!$result)
echo 'some error' . mysql_error();
else
echo 'posted successfull!';
}
else
echo "Вы заполнили не все поля";
}
//risuem formu
?>
<html>
<HEAD>
<META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
</style>
</HEAD>
<br/><br/><br/><br/><br/><br/><br/>
<form action="?" method="post" name="frt" >
<table align="center">
<tr><td class="t2">Готовность заказа</td>
<td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
<tr><td class="t2">Фирма</td>
<td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
<tr><td class="t2">Адресс</td>
<td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
<tr><td class="t2">Имя</td>
<td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
<tr><td class="t2">Телефон</td>
<td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
<tr><td class="t2">Вес</td>
<td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
<tr><td class="t2">Куда</td>
<td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
<tr><td class="t2">Оплата</td>
<td> <SELECT NAME="oplata" id="oplata">
<OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
<OPTION value=Безнал>Безналичный расчет
<OPTION value=Получатель>Оплата получателем
</SELECT></td></tr>
<tr><td class="t2">Примечания</td>
<td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
<tr><td class="t2">Принял</td>
<td> <SELECT NAME="prinyal" id="prinyal">
<OPTION value=Алена>Алена
<OPTION value=Дима>Дима
<OPTION value=Катя>Катя
<OPTION value="Маша Г">Маша Г
<OPTION value="Маша Б">Маша Б
<OPTION value=Оксана>Оксана
<OPTION value=Света>Света
<OPTION value=Юля>Юля
<OPTION value="Не указано" SELECTED>Выбрать
</SELECT></td></tr>
<tr><td class="t2">Курьер</td>
<td> <SELECT NAME="kurier" id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
<OPTION value="Не указан" SELECTED>Не указан
</SELECT></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
type="button"
value="Вернуться на главную"
onclick="self.location.href='http://192.168.1.21';" /><br>
<input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
</table>
</form>
<script type="text/javascript">
<?php
foreach ($data as $c)
{
if (isset($_POST[$c]))
{
?>
document.getElementById('<?=$c ?>'). value = '<?=$_POST[$c]?>';
<?
}
}
?>
</script>
</body>
</html>
Нужно только сделать поле "примечания" необязательным и сделать очистку формы после успешного добавления.
Осилим?
Спустя 37 минут, 31 секунда (13.01.2012 - 17:05) redreem написал(а):
да чей-то уже разжевали и в рот 8 раз положили
включаем логику и немного мозга и допиливаем ужо самостоятельно
а то стыдно наверно ей богу



Спустя 2 минуты, 36 секунд (13.01.2012 - 17:08) rooor написал(а):
Цитата (WisesT @ 13.01.2012 - 13:28) |
Осилим? |
Это нам нужно или тебе?
Смотря по коду, не видно, что ты особо что-то исправил.
Сравни код в первом посте и последний. А тут уже на 6 страниц наговорили)
Чтобы форма очищалась, надо сделать редирект после запроса к базе.
По остальному тоже всё в теме написано. Надо приложить немного усилий и собрать в один файл
Спустя 1 час, 31 минута, 5 секунд (13.01.2012 - 18:39) WisesT написал(а):
Мужики, уже реально голова разлетается.
Ну хоть убейте не пойму как сделать так, чтобы при старте страницы не светилось "Вы не заполнили все поля"
Помогите уже на конец дня, а?
Ну хоть убейте не пойму как сделать так, чтобы при старте страницы не светилось "Вы не заполнили все поля"
Помогите уже на конец дня, а?
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod']) &&
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
!empty($_POST['imya']) &&
!empty($_POST['tel']) &&
!empty($_POST['ves']) &&
!empty($_POST['kuda']) &&
!empty($_POST['oplata']) &&
!empty($_POST['prinyal']) &&
!empty($_POST['kurier']))
{
(!empty($_POST['primechaniya'])) ? $prim = $_POST['primechaniya'] : $prim = '';
mysql_query("INSERT INTO `zakazy`(`gotovnost`, `firma`, adress, `imya`, `tel`, `ves`, `kuda`, `oplata`, `primechaniya`, `prinyal`, `kurier`)
VALUES ('".mysql_escape_string($_POST['gotovnost'])."',
'".mysql_escape_string($_POST['firma'])."',
'".mysql_escape_string($_POST['adress'])."',
'".mysql_escape_string($_POST['imya'])."',
'".mysql_escape_string($_POST['tel'])."',
'".mysql_escape_string($_POST['ves'])."',
'".mysql_escape_string($_POST['kuda'])."',
'".mysql_escape_string($_POST['oplata'])."',
'".mysql_escape_string($prim)."',
'".mysql_escape_string($_POST['prinyal'])."',
'".mysql_escape_string($_POST['kurier'])."')") or die("Error");
header("Location: ".$_SERVER['REQUEST_URI']);
}
else
{
echo "Вы заполнили не все поля";
}
?>
Спустя 7 минут, 31 секунда (13.01.2012 - 18:46) Futa написал(а):
Тебе нужно кнопку отправить занести в функцию .. и сделать проверку если она молчит то не срабатывает не чего .. а если поступил от неё пост то делаем проверку .
Спустя 1 минута, 20 секунд (13.01.2012 - 18:48) rooor написал(а):
if (isset($_POST['vvod']))
{
if(
!empty($_POST['gotovnost']) &&
!empty($_POST['firma']) &&
!empty($_POST['adress']) &&
!empty($_POST['imya']) &&
!empty($_POST['tel']) &&
!empty($_POST['ves']) &&
!empty($_POST['kuda']) &&
!empty($_POST['oplata']) &&
!empty($_POST['prinyal']) &&
!empty($_POST['kurier']))
{
Закрывающую фигурную скобку поставь после запроса
Спустя 1 минута, 4 секунды (13.01.2012 - 18:49) WisesT написал(а):
все! есть!
Огромное спасибо за терпение!!!
<?php
include("config.php");
$data = array();
$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
if (isset($_POST['vvod'])) {
$gotovnost = $_POST['gotovnost'];
$firma = $_POST['firma'];
$adress = $_POST['adress'];
$imya = $_POST['imya'];
$tel = $_POST['tel'];
$ves = $_POST['ves'];
$kuda = $_POST['kuda'];
$oplata = $_POST['oplata'];
$primechaniya = $_POST['primechaniya'];
$prinyal = $_POST['prinyal'];
$kurier = $_POST['kurier'];
if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $prinyal != '' and $kurier != '') {
$add = mysql_query("INSERT INTO zakazy(gotovnost,firma,adress,imya,tel,ves,kuda,oplata,primechaniya,prinyal,kurier) VALUES ('$gotovnost','$firma','$adress','$imya','$tel','$ves','$kuda','$oplata','$primechaniya','$prinyal','$kurier')");
header("Location: ".$_SERVER['REQUEST_URI']);
}
else
{
echo "Вы заполнили не все поля";
}
}
?>
Огромное спасибо за терпение!!!
Спустя 12 секунд (13.01.2012 - 18:49) Futa написал(а):
Получилось ?
Спустя 2 минуты, 26 секунд (13.01.2012 - 18:51) WisesT написал(а):
Да! Сходил выпил чайку. Передохнул чуток. Усился. Перечитал все. Очень неспеша все пересмотрел.
Вуаля!
Спасибо вам!
Вуаля!
Спасибо вам!
Спустя 1 минута, 44 секунды (13.01.2012 - 18:53) Futa написал(а):
И в чём был косяк ?
Спустя 1 минута (13.01.2012 - 18:54) rooor написал(а):
теперь исправляй запрос, чтоб инъекций не было))