Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Единичное внесение данных. Предотвращение повторного занесения данных в результате перезагрузки страницы
 
 автор: xpom   (10.06.2011 в 15:18)   письмо автору
 
 

как сделать, чтобы когда вносишь данные в базу с insert into обновляя страницу браузера не вносилось повторно вторые такие же значения?

  Ответить  
 
 автор: Ильдар   (10.06.2011 в 15:24)   письмо автору
 
   для: xpom   (10.06.2011 в 15:18)
 


<?
header 
("Location: ".$_SERVER['PHP_SELF']);
?>

  Ответить  
 
 автор: cheops   (10.06.2011 в 15:26)   письмо автору
 
   для: xpom   (10.06.2011 в 15:18)
 

Сразу после обновления данных, сбрасывайте POST-данные перезагрузкой страницы при помощи функции header() и HTTP-заголовка Location
<?php
  
...
  if(!empty(
$_POST))
  {
     ...
     
// Вставка данных в базу данных
     
...
    
// Перезагружаем страницу (вместо index.php - целевая страница)
    
header("Location: index.php");
  }
  ...
?>

  Ответить  
 
 автор: xpom   (10.06.2011 в 16:02)   письмо автору
 
   для: cheops   (10.06.2011 в 15:26)
 

а можно хоть одно POST значение оставить и перенести на следующую страницу? Имя например

  Ответить  
 
 автор: cheops   (10.06.2011 в 16:09)   письмо автору
 
   для: xpom   (10.06.2011 в 16:02)
 

Вам критично, чтобы данные на следующей странице были POST или GET-данные тоже сгодятся? Если ответ да, то можно сформировать GET-данные в HTTP-заголовке
<?php
  header
("Location: index.php?name=".urlencode($_POST['name']));
?>

  Ответить  
 
 автор: xpom   (10.06.2011 в 17:08)   письмо автору
 
   для: cheops   (10.06.2011 в 16:09)
 

гет..да я тоже думал так сделать..но будет как то не красивый урл)))

  Ответить  
 
 автор: cheops   (10.06.2011 в 17:55)   письмо автору
 
   для: xpom   (10.06.2011 в 17:08)
 

Можно сессией воспользоваться, но нужно следить за её обнулением, после использования.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования