Проблем при refresh

interlewd

Registered
Здравейте. Имам една проста форма за попълване на някакви данни. След натискане на бутона Запис, те се въвеждат в базата и ми се извеждат всички записи от таблицата. Като дам рефреш обаче, последният въведен запис се въвежда отново и така колкото пъти си цъкам F5, той се повтаря. Как да избегна това? Има един номер, който не трябва да се повтаря, но не мога да го направя уникален, защото той може да се повтаря в таблицата, но не и за отделните потребители, които влизат. Тоест гледа се ид-то на потребителя и за всеки такъв номерацията почва от 1. Някой може ли да ми даде идея как да го оправя?
 
Дай си кода за добавянето :) Най вече php кода :) Не за извеждането, ами за добавянето :)
 
<?php

if (isset($_GET['add'])) {

?>
<form action="admin.php?action=forma" method="POST">
<table border="1" cellpadding="5" cellspacing="0" >
<tr>
<td align="left">Дата:</td>
<td><input type="text" name="date" id="date_now" onchange="setDate(this.value);" value="<?php echo date("d.m.Y");?>" /></td>
</tr>
<tr>

<td align="left">Номер</td>

<td>
<?php
$sql = "SELECT `number` FROM forma WHERE `userID`='".$_SESSION['userID']."' ORDER BY `time` DESC";
$result = $db->query ($sql) or die ("g 11<br/>".mysql_error());
$nummm = mysql_fetch_array($result);

?><input type="text" name="number" value="<?php echo $nummm['number']+1;?>">
</tr>
<tr>
<td>&nbsp</td>
<td>
<input type="submit" name="add" value="Запис">

</td>
</tr>

</table>
</form>
...
 
session_start();
if($_SESSION['record']===true){
echo "Вече сте ползвали формата веднъж";
} else {

if(isset($_POST['submit'])){
//обработваш данните и създаваш сесийна променлива
//след като за записал записа в База-данни
$_SESSION['record']=true;
} else {
?>
<form method='post' action=''>
..............................
<input type='submit' name='submit' value='Запиши' />
</form>
<?php
}
}
 
Добре е при submit да не връщате нищо като изход и след приключване на submit-а и цялата логика и sql заявките, да направите
header('Location : $url');
Така след рефреш няма да се подават отново POST параметрите а само GET.
 

Back
Горе