Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> blokowanie podwójnych wpisów
bruny
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.03.2005

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


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!
Go to the top of the page
+Quote Post
bruny
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.03.2005

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


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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
strife
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) oczywiście.

Pozdrawiam!
Go to the top of the page
+Quote Post
bruny
post
Post #5





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.03.2005

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


wielkie dzieki, pozdrawiam
Go to the top of the page
+Quote Post
AxZx
post
Post #6





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


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. ?>


Ten post edytował AxZx 11.03.2005, 22:55:19
Go to the top of the page
+Quote Post
strife
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
AxZx
post
Post #8





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


tak tak, powinno byc if:) juz poprawilem

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