Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd w kodzie i pytanie dot sesji
Forum PHP.pl > Forum > Przedszkole
B16
  1. <?PHP
  2. $sent = $_SESSION['sent'];
  3.  
  4. $adresat = 'b3niup@o2.pl';
  5. @$email = $_POST['email'];
  6. @$content = $_POST['content'];
  7. $header = "From: $email \nContent-Type:".
  8. ' text/plain;charset="iso-8859-2"'.
  9. "\nContent-Transfer-Encoding: 8bit";
  10.  
  11. if ($sent < 2) {
  12. mail($adresat, 'List ze strony', $content, $header);
  13. echo '<p align="center">Wiadomość wysłano</p>';
  14. $sent++;
  15. }
  16. else if ($sent > 2) {
  17. echo '<p align="center">Niestety skorzystałeś już dzisiaj 2 razy z formularza. Spróbuj jutro !</p>'; 
  18. }
  19.  
  20. else {
  21. <p align="center"><b>NIE</b> wys&#322;ano maila!</p>;
  22. }
  23.  
  24. $_SESSION['sent'] = $sent;
  25.  
  26. ?>

mam taki skrypt.
1.Wyskakuje błąd w 22 linii. Co jest źle ?
2. Co zrobić, żeby sesja usuwała się codziennie o 24.00 ?
nospor
1) "2 pytania" Co to za tytul? Proszę popraw na sensowny
2) Dopisz również tag zgodnie z zasadami forum przedszkole
3) Popraw bbcode na PHP a nie cytat.
4) " [email=""]'b3niup@o2.pl'[/email]; " tak masz w kodzie? No to tu juz masz blad
5) "Wyskakuje błąd w 22 linii. Co jest źle" Jaki blad?
potreb
O ile mi wiadomo, sama sesja kasuje sie po zamknięciu przeglądarki. Więc kasowanie o 24 odpada.
B16
Cytat
Parse error: syntax error, unexpected '<' in /var/www/sites/yoyo.pl/t/e/testy10/mail.php on line 22


to jak mam zrobić, żeby z mojego formularza szło wysłać tylko 2 wiadomości dziennie przez jedną osobę ?
nospor
no w linii 22 chyba zapomniales o echo...
Nattfarinn
Ten... twór (bo skryptem ciężko to nazwać) jest nieźle namieszany. Niby jest to PHP a wewnątrz używasz czystego HTML'a którego linie w dodatku kończysz średnikami (vide Twoja 22 linia). Polecam zapoznać się z podstawami podstaw PHP (nie mówię tego złośliwie) bo błędy które popełniłeś są szczerym dowodem że ich nie znasz. Są to błedy oczywiste dla kogoś kto ma chociaż blade pojęcie o tym jak działa PHP, więc nawet jeśli wskażemy Ci je to i tak nie będziesz miał pojęcia dlaczego jest tak a nie inaczej.

Z serca radzę Ci przeczytać jakiś prosty internetowy kurs PHP i założę się, że będziesz w stanie sam wyłapać i poprawić błędy które zrobiłeś. Polecam przyjrzeć się m.in. operatorom przypisania czy instrukcjom wyjścia (echo).

Pozdrawiam,
Nattfarinn
B16
lol tongue.gif ok to błąd załatwiony, teraz może mi ktoś pomóc z tym ograniczeniem wysyłania maili z formularza
nospor
Cytat
to jak mam zrobić, żeby z mojego formularza szło wysłać tylko 2 wiadomości dziennie przez jedną osobę

Jesli ta osoba musi sie zalogowac by wyslac wiadomosc, to dopisz dodatkowe pola w bazie, ktore dla tej osoby bedą przechowywaly ile wyslal tego dnia.

Jesli ta osoba nie musi sie logowac, to pozostają ci jedynie ciasteczka, w ktorych bedziesz zapisywal to samo co wyzej (wersja z baza). Jednak ciacha mozna wyczyscic i wysylac forma do bólu smile.gif
B16
czyli poza logowaniem nie ma opcji na zabezpieczony od spamu formularz ?
nospor
Od biedy moglbys się pokusic jeszcze o IP, czyli ze z danego IP nie można wyslac więcej niz x maili. Ale IP ma te wade, ze z danego IP może korzystac wiele osób i jesli jedna wyczerpie limit, to inne będą "cierpieć" smile.gif
B16
jednak spróbuje zrobić zabezpieczenie oparte o cookies. W końcu jak ktoś naprawde będzie chciał i będzie się na tym znał to i tak może mnie zaspamować a dzieci neo nie potrafią czyścić cookies tongue.gifP

jak wyświetlić na ekranie ile czasu pozostało do wygaśnięcia ciasteczka ?
Hazel
Poczytaj o session_get_cookie_params" title="Zobacz w manualu PHP" target="_manual.
Pozdrawiam.
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.