Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> POSTDATA - jak wysłać tylko raz?, dublowanie wpisów w bazie po odśierzaniu
legorek
post
Post #1





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam!

Używam formularza do dodawania wpisów do bazy danych (forum dyskusyjne). Schemat dodawania wpisu wygląda tak:
Kod
temat.php?id=100 ->K>L>I>K-> dodanie_wpisu.php ->P>O>S>T-> dodanie_wpisu.php ->K>L>I>K-> temat.php?id=100

temat.php - wyświetla temat
dodanie_wpisu.php - sparwdza poprawniosc danych, dodaje do bazy i wyswietla linka który pozwlal powrócić do tematu

Problem jest taki. Zauważyłem że użytkownica robią coś takiego:


Kod
temat.php?id=100 ->K>L>I>K-> dodanie_wpisu.php ->P>O>S>T-> dodanie_wpisu.php ->K>L>I>K-> temat.php?id=100 ->W>S>T>E>C>Z-> dodanie_wpisu.php


I to widzą takie coś:
(IMG:http://legorek.fc.pl/postdata.gif)

Bardzo dużo osób klika 'OK' przez co wpisy na forum mi się dublują :/
Pytanie, jak można zrobić POSTDATA było wysyłane tylko raz ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Ja robię na przykład przeładowanie strony za pomocą header() żeby wykasować dane POST.
Go to the top of the page
+Quote Post
legorek
post
Post #3





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ok. ale kiedy mam zrobić to przeładowanie ? Możesz podać jakieś szczegóły ? Wiem że trzeba kombinować coś z nagłówkami, ale nie wiem jak :/
Go to the top of the page
+Quote Post
crash
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Po wykonaniu wszystkich operacji na przesłanych z formularza danych.

Banalny przykład:
  1. <?php
  2. if(isset($_POST['submit']))
  3. {
  4. if($_POST['login'] == 'crashu')
  5. {
  6.  // coś robimy. dodajemy dane do bazy etc.
  7.  header('Location: '.$_SERVER['PHP_SELF']); // lub podobne...
  8. }
  9. }
  10. ?>
Go to the top of the page
+Quote Post
legorek
post
Post #5





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Działa, dzięki wielkie :-)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:05