|
|
|
| подскажите пожалуйста как сделать так чтоб добавлялось 1 раз только по нажатию на кнопку
<form method="post">
<!--<input name="search_q" type="text" size="15" maxlength="30" /> -->
<input name="add" type="submit" value="Добавить" />
<input type="hidden" name="action" value="add">
</form>
<?php
if ((isset($_POST['cat']))&&(isset($_POST['sdelka']))&& (isset($_POST['city'])) && (isset($_POST['name']))&& ($_POST['action']=="add") )
{
$sql = ("INSERT INTO `data` (cat_id,kom_id,sd_id,city_id,name)
VALUES ('".intval($_POST['cat'])."',
'".intval($_POST['komnati'])."',
'".intval($_POST['sdelka'])."',
'".intval($_POST['city'])."',
'".mysql_escape_string($_POST['name'])."'
)");
$result = mysql_query($sql) or die (mysql_error() ."<br/>". $sql);}
mysql_error ();
if ($result == 'true') {echo "<p> добален!</p>";}
else {echo "<p> не добален!</p>";}
?>
|
| |
|
|
|
|
|
|
|
для: mark1
(08.10.2009 в 00:26)
| | После того, как добавили данные в базу данных - обязательно перезагрузите страницу при помощи HTTP-заголовка Location, передав его функции header(). Иначе любая перезагрузка страницы будет отправлять POST-данные повторно. | |
|
|
|
|
|
|
|
для: cheops
(08.10.2009 в 00:29)
| | да тут добавляется сразу после заполнения первого селекта , а потом еще раз после нажатия кнопки | |
|
|
|
|
|
|
|
для: cheops
(08.10.2009 в 00:29)
| | да тут добавляется сразу после заполнения первого селекта , а потом еще раз после нажатия кнопки | |
|
|
|
|
|
|
|
для: mark1
(08.10.2009 в 00:36)
| | Хм... что-то не видно в форме select-ов... у вас к ним привязаны какие-то события? | |
|
|
|
|
|
|
|
для: cheops
(08.10.2009 в 00:38)
| | да,заполняются все селекты(сat,city,sdelka,komnati) ,затем отправляются в базу,так вот в базу они попадают 2 раза после заполнения первого и после нажатия | |
|
|
|
|
|
|
|
для: mark1
(08.10.2009 в 00:45)
| | У селектов имеются JavaScript-события? И если да то, не перегружают ли они страницу? | |
|
|
|
|
|
|
|
для: cheops
(08.10.2009 в 00:50)
| | вот выбор sdelka
<?
// выбираем столбец name из таблицы sdelka
$query = "SELECT * FROM `sdelka`";
$res = mysql_query($query);
function sel_sd($a)
{
$b = isset($_POST['sdelka'])?$_POST['sdelka']:NULL;
if($a == $b)
return 'selected="selected"';
}
?>
<!-- создаем форму select для выбора сделки -->
<form id="frm2" action="" method="post">
<input id="sd_id" name="new_sd" type="hidden" />
<table border="0">
<tr>
<td><label for="sdelka">Сделка: </label></td>
<td>
<select name="sdelka" onchange="document.getElementById('new_sd').value='1';document.getElementById('frm2').submit()" >
<option value='0'>- Выберите сделку -</option>
<?php
// выводим все строки из столбца name таблицы sdelka
while($row = mysql_fetch_array($res))
echo "<option ".sel_sd($row['sd_id'])." value='" . $row['sd_id'] . "'>" . $row['name'] . "</option>\r\n";
$sd= $row['sd_id'];
?>
</select>
</td>
</tr>
|
затем она добавляется в таблицу data, а сейчас пытаюсь в админке таблицу дата пополнить | |
|
|
|
|
|
|
|
для: mark1
(08.10.2009 в 01:01)
| | !isset() в таком случае лучше заменить на empty() - тогда если у вас не будет выбран пункт меню, отличный от первого - обработчик срабатывать не будет. | |
|
|
|
|
|
|
|
для: cheops
(08.10.2009 в 01:04)
| | это где,я ведь тут пытаюсь проверить заполнены ли все селекты | |
|
|
|
|
|
|
|
для: mark1
(08.10.2009 в 01:11)
| | Вот эту строку
<?php
if ((isset($_POST['cat']))&&(isset($_POST['sdelka']))&& (isset($_POST['city'])) && (isset($_POST['name']))&& ($_POST['action']=="add") )
?>
|
замените следующей
<?php
if ((!empty($_POST['cat']))&&(!empty($_POST['sdelka']))&& (!empty($_POST['city'])) && (!empty($_POST['name']))&& ($_POST['action']=="add") )
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(08.10.2009 в 01:13)
| | получилось! спасиба огромное) пойду дальше изучать | |
|
|
|
|
|
|
|
для: cheops
(08.10.2009 в 01:13)
| | получилось! спасиба огромное) пойду дальше изучать | |
|
|
|
|
|
|
|
для: mark1
(08.10.2009 в 00:45)
| | Лучше бы весь html показали, т.к. не понятно, сколько у Вас там кнопок и как Вы ими манипулируете. | |
|
|
|