Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]jak zapobiec ponownemu wysyłaniu po refresh
Th0e
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Witam! Oto mój skrypt:

  1. $nadawca = preg_replace("/[^a-zA-Z0-9]/", "", $_POST['nadawca']);
  2. $tresc = preg_replace("/[^a-zA-Z0-9]/", "", $_POST['tresc']);
  3. $tresc = wordwrap($tresc, 50, "\n", true);
  4. $adresat = $_POST['adresat'];
  5.  
  6.  
  7. if(!empty($nadawca) && !empty($adresat) && !empty($tresc)){
  8. mysql_query("INSERT INTO `pytania` (nadawca, tresc, odbiorca) VALUES('$nadawca','$tresc','$adresat')") or die("nie udało się wysłać! Spróbuj jeszcze raz!");
  9. $nadawca =null;
  10. header("Location: kontakt.php?co=wyslano");
  11. }



mimo że jest header - to po odświeżeniu strony wszystko jest wykonywane na nowo - czyli stringi są wysyłane do bazy. Nie wiem czemu się tak dzieje. do tej pory danie "[php][/php]header" załatwiało sprawę. Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


  1. header("Location: htt p://adrestwojejstrony.pl/kontakt.php?co=wyslano");


Ten post edytował Damonsson 4.03.2013, 21:59:08
Go to the top of the page
+Quote Post
Th0e
post
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Cytat(Damonsson @ 4.03.2013, 21:58:21 ) *
  1. header("Location: htt p://adrestwojejstrony.pl/kontakt.php?co=wyslano");



  1. if(!empty($nadawca) && !empty($adresat) && !empty($tresc)){
  2.  
  3. mysql_query("INSERT INTO `pytania` (nadawca, tresc, odbiorca) VALUES('$nadawca','$tresc','$adresat')") or die("nie udało się wysłać! Spróbuj jeszcze raz!");
  4. $_POST['nadawca'] = null;
  5. header("Location: ht tp://nagrywamy.fwl.pl/kontakt.php?co=wyslano");
  6. exit();
  7. }
  8.  
  9. if($_GET['co'] == "wyslano")
  10. {
  11. echo "<br>Pytanie zostało wysłane :)";
  12. }

(napisalem ht tp zamiast http bo inaczej tworzył się link i jakieś cuda wyskakiwały (IMG:style_emoticons/default/smile.gif) W pliku mam http)

bez zmian.

~~~
może jest inny sposób niż header?

f5

Ten post edytował Th0e 5.03.2013, 15:25:11
Go to the top of the page
+Quote Post
-Gość-
post
Post #4





Goście







Cytat(Th0e @ 5.03.2013, 18:47:53 ) *
może jest inny sposób niż header?


Przekierowanie jest prawidłowym działaniem w tym wypadku. Masz włączone raportowanie błędów? Coś mi się wydaje, że header nie działa, gdyż coś już jest wcześniej wysłane do przeglądarki. Możesz ewentualnie jeszcze sprawdzać przed zapisem czy nie przekazano parametru z $_GET['wyslano']
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 02:12