Formularz kontaktowy php nie blokuje pustych wiadomości


(Archimond55) #1

Witam, mam taki problem mam na stronie formularz który wysyła do mnie mail, ale jest taki problem, ponieważ nie blokuje on nie wypełnionych wiadomości:

Tu kod ze strony:

Imię i nazwisko:

Telefon:

Adres:

TwĂłj adres e-mail:

Temat:

Treść:

[/code] [b]a tu mam plik który wysyła:[/b]
[code]<?php if (!nick || !tel || !adres || !mail || !temat || !tresc) { echo "Nie uzupełniłeś wszystkich rubryk."; exit; } $wiadomosc = "Imię: ".$_POST['nick']." Telefon: ".$_POST['tel']." Adres: ".$_POST['adres']." E-mail: ".$_POST['mail']." Temat: ".$_POST['temat']." Treść: ".$_POST['tresc']." "; $tematyka = "Wiadomość z formularza na stronie kostrzewski.org - ".$temat; mail ("archimond5@gmail.com", $tematyka, $wiadomosc ); echo "Dziekujemy za wysłanie wiadomości,"; echo "
- o treści: "; echo "Twoje imię:
".$nick.""; echo "Telefon: ".$tel.""; echo "Adres: ".$adres.""; echo "Twój adres e-mail: ".$mail.""; echo "Temat: ".$temat.""; echo "Treść: ".$tresc.""; ?>Powrót do poprzedniej strony

Co jest źle że wiadomość tą wysyła za każdym razem co zrobić aby blokowało puste wiadomości?


(Luknet83) #2
if (!$_POST['nick'] || !$_POST['tel'] || !$_POST['adres'] || !$_POST['mail'] || !$_POST['temat'] || !$_POST['tresc'])

{    

echo "Nie uzupełniłeś wszystkich rubryk.";

}else{

$wiadomosc =

"Imię: ".$_POST['nick']."


Telefon: ".$_POST['tel']."


Adres: ".$_POST['adres']."


E-mail: ".$_POST['mail']."


Temat: ".$_POST['temat']."


Treść: ".$_POST['tresc']." ";


$tematyka = "Wiadomość z formularza na stronie kostrzewski.org - ".$temat;



mail ("archimond5@gmail.com", $tematyka, $wiadomosc );

echo "Dziekujemy za wysłanie wiadomości,";

echo "
  • o treści: "; echo "Twoje imię:
    ".$nick.""; echo "Telefon: ".$tel.""; echo "Adres: ".$adres.""; echo "Twój adres e-mail: ".$mail.""; echo "Temat: ".$temat.""; echo "Treść: ".$tresc.""; }Powrót do poprzedniej strony[/code]

Nie będę tego komentował bo chyba nie trzeba


(Archimond55) #3

dzięki, to działa,

a jeśli jeszcze chciałbym dodać link powrotny do poprzedniej strony po nie wypełnieniu wszystkich rubryk to gdzie i w jakiej postaci mam go wpisać?

bo chyba nie może być ...


(Scofield111) #4

Możesz np. zrobić forumularz w funkcji php. Wtedy wyświetlasz formularz ile chcesz mając go zapisanego w kodzie tylko raz, i dodatkowo przez funkcję możesz przesłać zmienne zawierające dane, które były uzupełnione w formularzu w przypadku jakiegoś błędu użytkownika czy programu, dzięki temu użytkownik nie będzie musiał podawać kolejny raz tych samych danych.

Dla przykładu funkcja formularza:

<?PHP

function formularz($imie, $nazwisko){

echo "";

echo "Imię: ";

echo "
";

echo "Nazwisko: ";

echo "
";

echo "";

echo "";

}

?>

A tutaj np. część index.php :

...


Podaj dane!




<?PHP

$imie_f=$_POST['imie'];

$nazwisko_f=$_POST['nazwisko'];


if(twój warunek){

//

//tutaj kod jeśli warunek jest spełniony

//

}

else{

//

//jeśli warunek jest niespełniony i chcesz wyświetlić wiadomość o błędzie np. : 

//

echo "Uzupełnij wszystkie pola 

";


formularz($imie_f, $nazwisko_f); 

}



?>



...

Dodatkowo przez js możesz zaznaczyć pola, które są jeszcze wymagane.