Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: blokowanie podwójnych wpisów
Forum PHP.pl > Forum > Przedszkole
bruny
Mam taki problem.
Mam na stronce komentarze, ale czesto zdarza sie ze ktos mi doda dwa razy ten sam komentarz, chcialem jakos to zablokowac.
Probowalem uzyczc
$plik=fopen("plik.txt","a");
str_replace("$komentarz", "",$plik);
// tutaj zapis do pliku

czyli zeby zamienil w tekscie w pliku stary komentarz na nic a nowy dopisal, ale efekt taki ze nie dopisuje nowego ani nie kasuje starego, probowalem eregi ale tez nie znajduje komentarza w $plik mimo ze tam musi byc.

Moze ktos widzi blad albo ma inny pomysl, z gory dzieki i pozdrawiam
strife
Witam,

Nie wiem czy wykrywanie tej samej treści jest dobre, bo ktoś może zmienić jakiś szczegół np. nie postawi kropki na końcu i będzie to samo - wpis się doda. Mam taki pomysł abyś zrobił blokowanie na adres IP, czyli w ten sposób aby nie mogło być dwóch takich samych wpisów z tego samego IP, tylko naprzemian.

Pozdrawiam!
bruny
ale mi az takie dokladne sprawdanie nie potrzebne, tylko ze po wpisie zrobilem powrot i dane zostaja w formularzu i niektorzy klikaja jeszcze raz, takze wpisy mam identyczne.
I takie sprawdzanie tekstu wystarczylo by mi zupelnie, tylko ze nie dziala sad.gif
strife
Acha w ten sposób, to tak zakładam że komenatrze masz są zapisywane do pliku. Hmm... no to możesz zrobic coś takiego po wciśnieciu dodaj komentarz(albo coś innego) skrypt będzie sprawdzał czy w stringu, konkretniej w pliku z komenatrzami występuje dany komentarz... Czyli można to zrobić przez eregi, mój zarys:

  1. <?php
  2.  
  3. $plik = 'komentarz.inc';
  4. $open = fopen($plik, &#092;"r\");
  5. $string = fread($open, filesize($plik));
  6. if (eregi($komentarz, $string)) {
  7. die();
  8. }
  9.  
  10. ?>

Domyślam się że zmienna komentarz to $_POST smile.gif oczywiście.

Pozdrawiam!
bruny
wielkie dzieki, pozdrawiam
AxZx
a nie lepiej dodac sesje ?

i pozniej warunek
  1. <?php
  2. if(isset($_SESSION['wpis'])){
  3.  
  4. //tutaj tresc strony bez formularza
  5.  
  6. }else{
  7. //tutaj tresc strony z formularzem do wpisywania
  8. }
  9. ?>
strife
Cytat(AxZx @ 2005-03-11 21:31:06)
a nie lepiej dodac sesje ?

i pozniej warunek
  1. <?php
  2. is(isset($_SESSION['wpis'])){
  3.  
  4. //tutaj tresc strony bez formularza
  5.  
  6. }else{
  7. //tutaj tresc strony z formularzem do wpisywania
  8. }
  9. ?>

Powinno być if zamist is. Co do sesji - racja lepsze smile.gif
AxZx
tak tak, powinno byc if:) juz poprawilem

co do sesji to jest to wystarczajace rozwiazanie na potrzeby takie jak przedstawil bruny,
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.