[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Форма ввода
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 "Вы заполнили не все поля";
}
}


?>

Обратите внимание на
 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 написал(а):
согласен wink.gif

Спустя 9 минут, 7 секунд (12.01.2012 - 12:41) WisesT написал(а):
О! дело пошло! Спасибо.
Но есть еще пара нюансов:)
1. Теперь при отправке данных в форму, форма не обнуляется. Тоесть мне нужно чтобы она не обнулялась только в случае неполного заполнения (кроме поля "Примечания". Оно необязательно.)
Впринципе на крайняк можно прикрутить какой-то скрипт редиректа типа "Данные успешно добавлены! Через 3 сек Вас переметит для ввода нового заказа". Но, возможно, есть вариант по здоровее?

2. Правда это уже не столь важно, но желательно.
Как быть с SELECTaми?

Спустя 10 минут, 32 секунды (12.01.2012 - 12:51) 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) - 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
кавычки забыл в инсерте wink.gif
Цитата
$add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( ";


Цитата (WisesT @ 12.01.2012 - 11:41)
Тоесть мне нужно чтобы она не обнулялась только в случае неполного заполнения

Делай редирект после инсерта.

Цитата (KonstantinK @ 12.01.2012 - 11:24)
вот так немного безопаснее будет smile.gif

Не безопасней, а просто корректней.

Спустя 16 минут, 23 секунды (12.01.2012 - 13:44) WisesT написал(а):
Цитата (rooor @ 12.01.2012 - 10:22)
$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());

там надо не -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')
$error = true;

Это чтоб поле было необязательным

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
<?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 написал(а):
я понимаю что к этому
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 написал(а):
Потому что одно из имён ты не так ввёл.
Входящие данные смотри так:
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, можно и так smile.gif

Спустя 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

Спустя 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 (бесплатный)

Спустя 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 в скобки smile.gif винстон выше сказал

Спустя 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"
также постоянно висит "вы заполнили не все поля"
заполняю все поля кроме необязатльного "вы заполнили не все поля"
заполняю абсолютно все - эррор

Спустя 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 написал(а):
да вот такой костыль влепить и все :)

if (isset($_POST['vvod'])) echo "Вы заполнили не все поля";


по уму так-то можно эту страницу в 5 раз сократить :)

Спустя 3 минуты, 12 секунд (13.01.2012 - 15:23) WisesT написал(а):
Читал но мы же потом переделали на
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 страниц ph34r.gif

Спустя 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 с самого начала, если хочешь научится, конечно))

Спустя 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

Спустя 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 раз положили smile.gif включаем логику и немного мозга и допиливаем ужо самостоятельно smile.gif а то стыдно наверно ей богу smile.gif

Спустя 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 написал(а):
теперь исправляй запрос, чтоб инъекций не было))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.