Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с повторной отправкой данных из формы. 
:(
    Опции темы
AtaL
Дата 17.9.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 18.2.2006

Репутация: нет
Всего: нет



Как и в предыдущей ситуации, чувствую, что есть простое решение, а найти не могу. smile

Ситуация следующая: есть страничка с полями ввода. После отправки данных они передаются скрипту, который проверяет, во все ли поля были введены данные, и в случае положительного ответа - заносит данные в базу.

Текст скрипта следующий (боюсь, правда, что далеко не оптимальный):

Код

function add_to_list()
{
    global $mysql;
    $ADMIN_USER="";
    $ADMIN_PASSWORD="";
    @$ADMIN_USER = $_REQUEST['admin_user'];
    @$ADMIN_PASSWORD = $_REQUEST['admin_password'];
    @$ADMIN_RIGHTS = $_REQUEST['admin_rights'];
    if(isset($ADMIN_USER, $ADMIN_PASSWORD, $ADMIN_RIGHTS) && $ADMIN_USER!="" && $ADMIN_PASSWORD!="")
    {    
        switch($ADMIN_RIGHTS){
            case 'Админ':
                $ADMIN_RIGHTS = '1';
                $ADMIN_RIGHTS*=1;
                BREAK;
            case 'Юзер' :
                $ADMIN_RIGHTS = '2';
                $ADMIN_RIGHTS*=1;
                BREAK;
            default: 
                $ADMIN_RIGHTS = '3';
                $ADMIN_RIGHTS*=1;
                BREAK;
        }

        $my_query = "INSERT INTO admin_users (`user_name`, `user_password`, `user_rights`) VALUES
                         (\"$ADMIN_USER\", \"$ADMIN_PASSWORD\", \"$ADMIN_RIGHTS\")";
        mysql_query($my_query, $mysql)
            or die (mysql_error($mysql)." while executing ".$my_query);
        

        unset($ADMIN_USER, $ADMIN_PASSWORD);
        $ADMIN_USER="";
        $ADMIN_PASSWORD="";
        $ADMIN_RIGHTS="3";
    }
    else
    {
        echo "error: no data";
    }
}


Выглядит все следующим образом: на странице - форма и список юзеров, которые уже сущетсвуют. После ввода данных юзер вносится в таблицу, страница перезагружается уже с обновленным списком. 

Проблема в следующем: если после ввода данных нажать F5, браузер выдает предупреждение об устаревшей странице и предложение отправить данные повторно. Если согласиться, введенные до обновления страницы данные вводятся в базу еще раз.

Как этого избежать?

Это сообщение отредактировал(а) AtaL - 17.9.2006, 23:15
PM   Вверх
oksale
Дата 18.9.2006, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 17.6.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 9



См. здесь.
--------------------
WBR, oksale
PM MAIL ICQ   Вверх
AtaL
Дата 18.9.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 18.2.2006

Репутация: нет
Всего: нет



Спасибо!

И, чтобы не плодить темы, еще один вопрос: если в таблице значение стобца auto_increment, то в случае удаления из списка элементов список продолжается с того номера, на котором остановился. 
Есть ли простой способ заставлять значения выстраиваться в список без пробелов? 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.