Formularz kontaktowy nie działa

Witam serdecznie, mam formularz kontaktowy w php, struktura wyslij.php wygląda tak:

<?php

if (!$_POST['nick'] || !$_POST['mail']|| !$_POST['temat] || !$_POST['tresc'])

{   

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

exit; 

}


$wiadomosc =

"Imie: ".$_POST['nick']."


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


Tresc: ".$_POST['tresc']." ";


$tematyka = "Bezpieczny PeCet - ".$temat;



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

echo "Dziękujemy za wysłanie do nas wiadomosci";

?>





[/code]

Chodzi o to, że nie mogę w ogóle wysyłać, oczywiście mam swój kontakt.html, ale on nie ma znaczenia w tym przypadku. Jak daję wyślij to pojawia się takie coś: Parse error: syntax error, unexpected T_STRING, expecting ‘]’ in /var/www/sites/yoyo.pl/b/e/bezpiecznypc/wyslij.php on line 2

Proszę o pomoc

$_POST['temat]

zapomniałeś dać ’ zamykającego

$_POST['temat']

btw:

if (!$_POST['nick'] || !$_POST['mail']|| !$_POST['temat] || !$_POST['tresc'])

na Twoim miejscu przemyślał bym jeszcze kilka razy ten warunek…

Totalna gapa ze mnie :oops: #-o

Dziękuję :slight_smile:

Dlaczego ?

Teraz masz lub (||) a powinno być i (&&).

if (!$_POST['nick'] && !$_POST['mail'] && !$_POST['temat'] && !$_POST['tresc'])

nie do końca o to mi chodziło :stuck_out_tongue:

warunek który był wcześniej był logicznie poprawny, ale można by go było zapisać w prostszy znacznie sposób (btw: ten który podał _Puma_ nie będzie działać tak jak się od niego oczekuje)

if ( ! ( $_POST['nick'] && $_POST['mail'] && $_POST['temat'] && $_POST['tresc'] ) )

w ten sposób możesz być pewien, że przy dużej ilości zmiennych nie zapomnisz gdzieś wykrzyknika. Ale to ogólnie nie jest dobra droga na sprawdzanie wypełnienia pól formularza, a co jeżeli w którymś z pól użytkownik wpisze 0? moim zdaniem skrypt się wywali (zadziała inaczej niż to jest oczekiwane)

Dziękuję wam bardzo :smiley: =D>