Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [wolontariat]Blokada wysyłania wiadomości raz na 15 minut
Forum PHP.pl > Inne > Giełda ofert > Poszukuję
Maker5
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
mar1aczi
Możesz przez tzw. Captcha, ciasteczka (cookies) bądź i w sesji.
Damonsson
Sesja będzie najlepszym i najmniej inwazyjnym rozwiązaniem, myślę.
Maker5
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.
Damonsson
  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.
Maker5
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 ?
Damonsson
http://pl.wikipedia.org/wiki/Pseudokod
mar1aczi
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.
Maker5
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.
Damonsson
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ł.
mar1aczi
Cytat(Maker5 @ 20.02.2013, 14:25:41 ) *
zmodyfikuj mój kod razem z tym pseudokodem aby to działało.

Jaka stawka wynagrodzenia?
markonix
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.
mar1aczi
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
Maker5
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.
krzysiekk
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
nospor
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
Maker5
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.
nospor
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
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.