Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [wolontariat]Blokada wysyłania wiadomości raz na 15 minut, formularz kontaktowy
Maker5
post
Post #1





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 2.04.2008

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


oto mój kod

  1. <?php
  2.  
  3. if(!$_POST) exit;
  4.  
  5. $email = $_POST['email'];
  6.  
  7.  
  8. //$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
  9. if(!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i",$email )){
  10. $error.="Błędny adres email.";
  11. $errors=1;
  12. }
  13. if($errors==1) echo $error;
  14. else{
  15. $values = array ('name','email','message');
  16. $required = array('name','email','message');
  17.  
  18. $your_email = "email@gmail.com";
  19. $email_subject = "Formularz kontaktowy: ".$_POST['subject'];
  20. $email_content = "Treść wiadomości:\n";
  21.  
  22. foreach($values as $key => $value){
  23. if(in_array($value,$required)){
  24. if ($key != 'subject') {
  25. if( empty($_POST[$value]) ) { echo 'Proszę wypełnić brakujące pola.'; exit; }
  26. }
  27. $email_content .= $value.': '.$_POST[$value]."\n";
  28. }
  29. }
  30.  
  31. if(@mail($your_email,$email_subject,$email_content)) {
  32. echo 'Wiadomość wysłana! Wkrótce otrzymasz odpowiedź. Dziękujemy.';
  33. } else {
  34. echo 'ERROR!';
  35. }
  36. }
  37. ?>


jak dodać teraz zabezpieczenie wysyłania wiadomości raz na 15 minut bo teraz jest tak, że jeśli ktoś wypełni pola i będzie klikał "wyślij", "wyślij", "wyślij" ,"wyślij" itd.
to tyle razy wiadomość zostanie wysłana.
Jak to ograniczyć albo utrudnić jakimś kodem do przepisania ?
Chcę uniknąć spamu.

Pozdrawiam
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
mar1aczi
post
Post #2





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Możesz przez tzw. Captcha, ciasteczka (cookies) bądź i w sesji.


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
Damonsson
post
Post #3





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

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


Sesja będzie najlepszym i najmniej inwazyjnym rozwiązaniem, myślę.

Ten post edytował Damonsson 20.02.2013, 08:41:35
Go to the top of the page
+Quote Post
Maker5
post
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 2.04.2008

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


Cytat(Damonsson @ 20.02.2013, 08:41:15 ) *
Sesja będzie najlepszym i najmniej inwazyjnym rozwiązaniem, myślę.


prosiłbym o jakiś przykład.
Go to the top of the page
+Quote Post
Damonsson
post
Post #5





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

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


  1. if post submit {
  2. if $_session['lastsubmit'] > $aktualny_czas {
  3. echo 'nie minęlo 15 minut';
  4. } else {
  5. wyslij_formularz();
  6. Session::set('lastsubmit', $aktualny_czas +15 minut);
  7. }
  8. }


Pseudokod.
Go to the top of the page
+Quote Post
Maker5
post
Post #6





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 2.04.2008

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


Cytat(Damonsson @ 20.02.2013, 13:10:23 ) *
  1. if post submit {
  2. if $_session['lastsubmit'] > $aktualny_czas {
  3. echo 'nie minęlo 15 minut';
  4. } else {
  5. wyslij_formularz();
  6. Session::set('lastsubmit', $aktualny_czas +15 minut);
  7. }
  8. }


Pseudokod.

nie działa.

jakieś inne pomysły ?
Go to the top of the page
+Quote Post
Damonsson
post
Post #7





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

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


http://pl.wikipedia.org/wiki/Pseudokod
Go to the top of the page
+Quote Post
mar1aczi
post
Post #8





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Cytat(Maker5)
Cytat(Damonsson)

Pseudokod.

nie działa.

jakieś inne pomysły ?

Przeczytał ze zrozumieniem słowo "pseudokod". Jak nie, to niech przeczyta raz jeszcze ze zrozumieniem.


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
Maker5
post
Post #9





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 2.04.2008

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


Cytat(mar1aczi @ 20.02.2013, 13:27:20 ) *
nie działa.

jakieś inne pomysły ?

Przeczytał ze zrozumieniem słowo "pseudokod". Jak nie, to niech przeczyta raz jeszcze ze zrozumieniem.


nie o to chodzi.
dodałem ten kod do swojego i nie działa

podkreśla, że zawiera błędy.
Więc jeśli jestes tak mądry to zmodyfikuj mój kod razem z tym pseudokodem aby to działało.
Go to the top of the page
+Quote Post
Damonsson
post
Post #10





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

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


Byłem przekonany, że chęć bycia programistą, eliminuje ludzi nieumiejących czytać ze zrozumieniem. A tu patrz, uchował się.

To tak jakby dziecko bez nóg, chciało wygrać tour de france wink.gif

Edit: No jakby jakikolwiek pseudokod zadziałał, to bym się mocno zdziwił.

Ten post edytował Damonsson 20.02.2013, 14:48:57
Go to the top of the page
+Quote Post
mar1aczi
post
Post #11





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Cytat(Maker5 @ 20.02.2013, 14:25:41 ) *
zmodyfikuj mój kod razem z tym pseudokodem aby to działało.

Jaka stawka wynagrodzenia?


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
markonix
post
Post #12





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Czy na tym forum nie ma jakichś błędów przy czytaniu z bazy danych daty "Dołączył".

Bo czasami się nie chce wierzyć, że ludzie o naprawdę długim stażu umieszczają tu tak żenujące posty.
Tu kolega ma 5 lat, FUCK! 5 lat na forum i nie jest w stanie rozróżnić kodu PHP od pseudokodu (nawet z podpisem, że jest to pseudokod...).
A potem jeszcze próbuje wjechać na ambicje ("Więc jeśli jestes tak mądry...") żeby ktoś za niego odwalił cały kod.


--------------------
Go to the top of the page
+Quote Post
mar1aczi
post
Post #13





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Cytat(markonix)
Czy na tym forum nie ma jakichś błędów przy czytaniu z bazy danych daty "Dołączył".

Nie liczył bym na to smile.gif
Cytat(markonix)
Bo czasami się nie chce wierzyć, że ludzie o naprawdę długim stażu umieszczają tu tak żenujące posty.
Tu kolega ma 5 lat, FUCK! 5 lat na forum i nie jest w stanie rozróżnić kodu PHP od pseudokodu (nawet z podpisem, że jest to pseudokod...).
A potem jeszcze próbuje wjechać na ambicje ("Więc jeśli jestes tak mądry...") żeby ktoś za niego odwalił cały kod.

Bardziej "są błędy" w rozumieniu podpowiedzi/odpowiedzi i ich treści smile.gif


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
Maker5
post
Post #14





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 2.04.2008

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


Cytat(mar1aczi @ 20.02.2013, 14:50:38 ) *
Jaka stawka wynagrodzenia?


Lepa w łeb za wymądrzanie się.

Cytat(markonix @ 20.02.2013, 15:35:55 ) *
Czy na tym forum nie ma jakichś błędów przy czytaniu z bazy danych daty "Dołączył".

Bo czasami się nie chce wierzyć, że ludzie o naprawdę długim stażu umieszczają tu tak żenujące posty.
Tu kolega ma 5 lat, FUCK! 5 lat na forum i nie jest w stanie rozróżnić kodu PHP od pseudokodu (nawet z podpisem, że jest to pseudokod...).
A potem jeszcze próbuje wjechać na ambicje ("Więc jeśli jestes tak mądry...") żeby ktoś za niego odwalił cały kod.


o to właśnie chodzi.
pytam o radę i oczekuję pomocy
jeśli pomocą ma być napisanie całego kodu to tego oczekuję

Podam Ci przykład.
Zepsuł Ci się samochód. Twój kolega potrafi go naprawić.
Czy zatem uważasz że twój kolega powinien przynieść Ci jedynie narzędzia i powiedzieć jak dokonać naprawy
czy wolałbyś a raczej oczekiwał aby pomógł Ci w 100% i dokonał naprawy skoro się na tym dobrze zna.

Każdy z nas jeździ autem ale nie każdy potrafi go naprawić,
każdy z nas używa php ale nie każdy jest jego mistrzem.

Zastanów się trochę zanim znów napiszesz równie dumnego i kretyńskiego posta.
Go to the top of the page
+Quote Post
krzysiekk
post
Post #15





Grupa: Zarejestrowani
Postów: 155
Pomógł: 17
Dołączył: 13.03.2006
Skąd: Jaworze

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


hi
zamiast sie denerwować na kolegów , którzy i tak mają racje w tym co piszą podaj lepiej co sam napisałeś w celu sprawdzenia wysyłania poczty, jesli tylko przekopiowałeś to co napisał kolega w pseudokodzie to nie ma prawa działac bo to tylko zarys słowny tego co ma robić skrypt. Koledzy chcą cię zmusić do samodzielnego myślenia i rozwiązywania problemów.
pozdr
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Podam Ci przykład.
Zepsuł Ci się samochód. Twój kolega potrafi go naprawić.
Sęk w tym, że osoby tutaj raczej nie są twoimi kolegami. Skoro tobie nie chce się pomyśleć to niby z jakiej niby racji obce osoby mają za ciebie odwalać całą robotę? Dostałeś pseudokod, który wyjaśnia wszystko. Jedyne co miałeś zrobić to go ciut przerobić. Ale tobie się nie chce. A skoro Tobie się nie chce i liczysz, że ktoś za ciebie to zrobi, to nie dziw się, ludzie chcą za to kasę.

TEmat przenosze na właściwe miejsce


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Maker5
post
Post #17





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 2.04.2008

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


Cytat(nospor @ 20.02.2013, 18:09:34 ) *
Sęk w tym, że osoby tutaj raczej nie są twoimi kolegami. Skoro tobie nie chce się pomyśleć to niby z jakiej niby racji obce osoby mają za ciebie odwalać całą robotę? Dostałeś pseudokod, który wyjaśnia wszystko. Jedyne co miałeś zrobić to go ciut przerobić. Ale tobie się nie chce. A skoro Tobie się nie chce i liczysz, że ktoś za ciebie to zrobi, to nie dziw się, ludzie chcą za to kasę.

TEmat przenosze na właściwe miejsce


wcale nie muszą nimi być
podałem po prostu przykład działania
forum jest dobrowolne i odpowiadanie też
i nie oczekuję wymądrzania się tu jakiegoś lalusia zakochanego w swojej wiedzy której nie chce udostępnić
tylko człowieka potrafiącego bezinteresownie pomóc.
Bynajmniej ja jestem tak wychowany.
Jeśli trafiłbym na taki temat a potrafiłbym pomóc wstawiłbym całe rozwiązanie.

No ale rozumiem, nie każdy potrafi być pomocny.

Ten post edytował Maker5 20.02.2013, 18:20:22
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
wcale nie muszą nimi być
podałem po prostu przykład działania
To idź do pierwszego lepszego mechanika i powiedz mu że żadasz od niego naprawy samochodu bo on to umie. Powodzenia. Tylko wspomnij mu, że ma ci to zrobić za darmo wink.gif

Cytat
forum jest dobrowolne i odpowiadanie też
Na forum mamy jednak parę zasad, jedną z nich jest: jak żądasz, by ktoś za ciebie odwalił całą robotę, bo Tobie nie chce się pomyśleć i masz lenia, to .... to nie pisz na forum smile.gif

Twoja oferta jest przedstawiona. Jak ktoś bedzie chciał ci to zrobić - napisze na PW. Temat zamykam.

ps:
Cytat
No ale rozumiem, nie każdy potrafi być pomocny.
Damonsson był bardzo pomocny. Niestety Ty od niego żądałeś by za ciebie wszystko zrobił. Zero wkładu własnego z Twojego strony... no ale rozumiem, nie każdy nie jest leniem smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 05:38