Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak wyczyścić POST?
Forum PHP.pl > Forum > Przedszkole
gosc
Witam.

Jak mam dodawanie komentarzy, jak dodam ten komentarz jak pojawi mi się strona z dodanym komentarzem. Wcisnę F5 lub jak kto woli odświeżę stronę i dodaje mi się jeszcze raz, może ktos mi powiedzieć jak wykasować _POST?
cycofiasz
To już stoi po stronie przeglądarki...
melkorm
  1. <?php
  2. $_POST = array();
  3. ?>


Nie jestem pewien czy hm jest "ładne" i czy można to zapsiac inaczej ale to jest pierwsza rzecz jaka przyszła mi namyśl biggrin.gif

chyba że nadasz submit "value =1" i dodawanie komentarza nastęje warunek
  1. <?php
  2. if($_POST['nazwaSubmita'])
  3. ?>

i na koeneic dodawania komentarza dać :
  1. <?php
  2. $_POST['nazwaSubmita'] = 0 ;
  3. ?>
Zyx
melkorm -> ale wszelkie modyfikacje wprowadzone do $_POST nie są zwracane do przeglądarki, więc takie sztuczki odpadają.

Niestety, trzeba to zabezpieczyć nieco okrężnymi metodami. Za pomocą ciastek, skrypt może wysyłać takowe przy dodaniu komentarza z jakimś krótkim okresem ważności. Przy odświeżeniu ciastko będzie ustawione i to jest znak, żeby komentarza nie dodawać. Jednak to można bardzo łatwo, nawet nieświadomie obejść. Wystarczy, by na serwerze i na komputerze internauty był ustawiony inny czas i już wszystko się może skaszanić. Pewniejszym sposobem jest rejestrowanie tego gdzieś po stronie serwera, np.
1. Rejestr ostatnich operacji - jeśli z tego samego adresu IP w przeciągu ostatnich minut poszedł komentarz, to się wstrzymujemy.
2. Porównujemy treść z ostatnio dodanym komentarzem z podanego adresu IP, lecz to może być stosunkowo kosztowną operacją, jeśli użytkownicy będą się rozpisywać.
Spirit86
Pobierz ostatni rekord dodany przez danego użytkownika i sprawdź czy nie jest taki sam.
melkorm
hm fakt zapędziłem się tam powyżej ale gdybyś zrobił takie coś:
  1. <?php
  2. if(!isset($_POST['submit']) $_SESSION['comment'] = 1;
  3. if($_SESSION['comment'] && isset($_POST['submit']) {
  4.    //dodanie komentarza
  5.    $_SESSION['comment'] = 0;
  6. }
  7. ?>
to powinno zadziałać smile.gif
bełdzio
zawsze mozna walnac header( ) + location :-)
batman
Temat był wielokrotnie poruszany na forum. Nawet jest o tym przypięty temat.

Zamykam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.