|
|
|
| Данный скрипт добавляет записи в БД, но после первого добавления переменные $topname $toptype остаются заданными и при обнавлении страницы автоматически добавляют одинаковые записи в БД.
Что можно сделать?
function form_add_topic ()
{
?>
<p>ДОБАВЛЕНИЕ НОВОГО РАЗДЕЛА</p>
<form method="post" action="<? add_topic (); ?>">
<table cellpadding="3"><tr>
<td>Название раздела:</td>
<td><input type="text" name="topname" size="15" maxlength="15"></td></tr>
<tr><td>Тип раздела:</td>
<td><select name="toptype">
<option value="galery">галерея</option>
<option value="rew">рецензия</option>
<option value="stat">статья</option>
</select></td></tr>
<tr><td><input type="submit" value="добавить"></td></tr>
</table></form>
<?
}
function add_topic ()
{
$topname=trim($_POST["topname"]);
$toptype=trim($_POST["toptype"]);
if(!empty($topname))
{
$querry=mysql_query ("INSERT INTO topics VALUES (0,'$topname','$toptype');");
}
}
|
| |
|
|
|
|
|
|
|
для: ares44
(20.04.2005 в 15:53)
| | хм... думаю можно скрипт обработчика разместить на отдельной странице, и после выполнения скрипта переадрисовать на форму. Если же не устраивает, наверное можно уничтожить переменные после выполнения скрипта, функцией unset() . | |
|
|
|
|
|
|
|
для: ares44
(20.04.2005 в 15:53)
| | Хм... не совсем корректное использование функции add_topic(), дело в том, что она будет вызываться всякий раз когда будет вызываться form_add_topic() и до того, как пользователь что либо введёт. Лучше действительно назначить статически обработчик handler.php
<?php
function form_add_topic ()
{
?>
<p>ДОБАВЛЕНИЕ НОВОГО РАЗДЕЛА</p>
<form method="post" action="handler.php">
<table cellpadding="3"><tr>
<td>Название раздела:</td>
<td><input type="text" name="topname" size="15" maxlength="15"></td></tr>
<tr><td>Тип раздела:</td>
<td><select name="toptype">
<option value="galery">галерея</option>
<option value="rew">рецензия</option>
<option value="stat">статья</option>
</select></td></tr>
<tr><td><input type="submit" value="добавить"></td></tr>
</table></form>
<?php
}
?>
|
в котором и вызывать функцию add_topic()
| |
|
|
|