SergeyKa2
Guest
Добавление нового элемента с помощью формы
Заранее прошу прощения у модераторов за возможную глупость вопроса. К сожалению то время которое было отведено на чтение ФАК и первых сообщений форума - иссякло и надо двигатся дальше.
Собственно вопрос.
Создал форму для добавления нового элемента в таблицу MySQL но обнаружилась проблема если после добавления строки сделать "обновить страницу" добавляется аналогичная запись, т.к. переменные в строке запроса посылаются заново. Возможно помогут сессии, но не представляю как избавится от $QUERY_STRING.
Хочу предупредить, что возможен случай, когда пользователь захочет добавить абсолютно индентичную предидущей запись. Собственно код. Если понятно из текста то вникать сообственно и не нужно
Заранее прошу прощения у модераторов за возможную глупость вопроса. К сожалению то время которое было отведено на чтение ФАК и первых сообщений форума - иссякло и надо двигатся дальше.
Собственно вопрос.
Создал форму для добавления нового элемента в таблицу MySQL но обнаружилась проблема если после добавления строки сделать "обновить страницу" добавляется аналогичная запись, т.к. переменные в строке запроса посылаются заново. Возможно помогут сессии, но не представляю как избавится от $QUERY_STRING.
Хочу предупредить, что возможен случай, когда пользователь захочет добавить абсолютно индентичную предидущей запись. Собственно код. Если понятно из текста то вникать сообственно и не нужно
PHP:
<?
mysql_connect("localhost","root","");
mysql_select_db("garant");
?><table width="100%" border="1"><?
$r=mysql_query("SELECT id,name,pr_orig,kross_1 FROM catalog;");
$col=mysql_num_fields($r);
$row=mysql_num_rows($r);
if(@$_GET[Add]) {
for($i=1,$val="",$field=""; $i<$col; $i++){
$name=mysql_field_name($r,$i);
$field.=$name.",";
$val.='"'.$_GET[$name].'",';
}
$val=substr($val,0,strlen($val)-1);
$field=substr($field,0,strlen($field)-1);
//echo "INSERT INTO catalog ($field) VALUES ('$val');";
mysql_query("INSERT INTO catalog ($field) VALUES ($val);");
$r=mysql_query("SELECT id,name,pr_orig,kross_1 FROM catalog;");
$col=mysql_num_fields($r);
$row=mysql_num_rows($r);
}
echo '<tr>';
for($i=0; $i<$col; $i++){
echo '<td>';
$ident=mysql_field_name($r,$i);
if($ident) {echo $ident;}
else {echo ' ';}
echo '</td>';
}
?><td>DEL</td><form metod="get" action="<?=$_SERVER[SCRIPT_NAME]?>">
</tr><?
for($j=0; $j<$row; $j++) {
echo '<tr>';
for($i=0; $i<$col; $i++){
echo '<td>';
$ident=mysql_result($r,$j,$i);
if($ident) {echo $ident;}
else {echo ' ';}
echo '</td>';
}
echo '</tr>';
}
?>
<tr>
<form metod="get" action="<?=$_SERVER[SCRIPT_NAME]?>">
<td> </td>
<?
for($i=1; $i<$col; $i++){
echo '<td>';
$ident=mysql_field_name($r,$i);
echo "<input type='text' name='$ident'>";
echo '</td>';
}
?>
</table>
<input type="submit" name="Add" value="Добавить"><input type="Reset" value="Очистить">
</form>