[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита от повторных добавлений
asandp
Здравствуйте господа программисты.

Возникла трудность в следующем:
Просто форма добавления, передает данные методом пост,
но если после того как скрипт выполнился просто обновить эту страницу то дейцствие выполняется естественно повторно. как этого измежать?
Я пробывал header'ом помогало, но теперь чет перестало работать и не пойму почему. Помогите плиз а то нервирует эта штука както



Спустя 1 минута, 28 секунд (27.08.2009 - 16:48) waldicom написал(а):
Цитата (asandp @ 27.08.2009 - 15:46)
Я пробывал header'ом помогало, но теперь чет перестало работать и не пойму почему

А как используется header() и как перестало работать.

Спустя 15 минут, 54 секунды (27.08.2009 - 17:03) asandp написал(а):
если скажем в файле admin.php экшен формы идет на admin.php то в выполнении формы после всех действий вписывал header("Location: admin.php"); т.е. когда скрипт выполнится просто идет повторное обновление и уже без POST массива. Но чет ща пишу и так не получается. Скажите какие еще способы есть?

Спустя 4 минуты, 36 секунд (27.08.2009 - 17:08) glock18 написал(а):
абсолютный урл указывать пробовали?

Спустя 5 минут, 41 секунда (27.08.2009 - 17:14) Gabriel написал(а):
PHP
header("location: ".$_SERVER['PHP_SELF']."?a=".rand(100,1));

Спустя 9 минут, 42 секунды (27.08.2009 - 17:23) asandp написал(а):
В
Цитата
header("location: ".$_SERVER['PHP_SELF']."?a=".rand(100,1));


Всеравно, тоже самое, вот я не знаю в чем причина. Вот код страницы:

Код
<?
$title="ABOUTAUTOWORLD - Все об автомобилях, новости и статьи // администраторская панель.";
session_start();
if(isset($_GET['link']) && $_GET['link'] == 'logout') {
unset($_SESSION["login"]);
unset($_SESSION["parol"]);
session_destroy();
header("Location: index.php");
} else {}
include("header.php"); ?>
<?
session_start();
require("config.php");
$query = "SELECT * FROM user";
$qu=mysql_query($query);
$res=mysql_fetch_array($qu);
$name = $res['name'];
$password = $res['pass'];
if(isset($_SESSION['login']) && $_SESSION['login'] = $name && isset($_SESSION['pass']) && $_SESSION['pass'] = $password) {
print "<table width=100% height=20 border=0 cellpadding=0 cellspacing=0><tr><td bgcolor=8B8989>&nbsp;&nbsp;&nbsp;<a href=admin.php

class=adminmenu>Главная админки</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=adminadd.php

class=adminmenu>Добавить</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=adminchange.php

class=adminmenu>Редактировать</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=admin.php?link=logout

class=adminmenu>Выход</a></td></tr></table>";
if(isset($_POST['add']) && $_POST['add'] !== '') {
$title = $_POST['title'];
$text = $_POST['text'];
$dateadd = date("Y.m.d");
mysql_query("INSERT INTO st VALUES (null, '$title', '$text', '$dateadd');");
header("location: ".$_SERVER['PHP_SELF']."?a=".rand(100,1));
}
?>




<table width=100% border=0>
<form method=POST action=adminadd.php>
<tr><td class=text>Титл</td><td>
<input type=text name=title>
</td></tr><tr><td class=text>Текст</td><td>
<textarea cols=60 rows=15 name=text>
</textarea>
</td></tr><tr><td class=text>
<input type=submit name=add value=' Добавить '>

</td></tr>
</form>
</table>



<?
} else {
print "Неудачная попытка проникновения на защищенную страницу. <a href=login.php>Войти</a>";
}
?>
<? include("footer.php"); ?>

Спустя 4 минуты, 10 секунд (27.08.2009 - 17:28) Gabriel написал(а):
HTML
<form method="POST" action="?">

а так?
P.S. яж ссылку недаром оставил

Спустя 4 минуты, 48 секунд (27.08.2009 - 17:32) asandp написал(а):
тож не помогает. сейча посмотрю все по ссылке

Спустя 5 минут, 22 секунды (27.08.2009 - 17:38) asandp написал(а):
почитал, вообщем то все так же как у меня. только почему ж результата то не добьюсь никак интересно... ((((

Спустя 6 минут, 30 секунд (27.08.2009 - 17:44) asandp написал(а):
тааак, кажись понял, это глупо конечно, но у меня фон сайта черный и текст ошибки функции черный biggrin.gif ппц

Спустя 5 минут, 24 секунды (27.08.2009 - 17:50) asandp написал(а):
все, все работает, всем кто помог огромное спасибо!
Быстрый ответ:

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