Problem z formularzem PHP


(krzluk) #1

Witam,

po zamieszczeniu strony z zaimplementowanym formularzem php: http://wklej.to/1jDrC, wyskakuje mi błąd:

 

Parse error : syntax error, unexpected ')' in  /home/users/omega/public_html/menu/kontaktform.php  on line  8

 

a powiem szczerze, że ja nic nie widze błednego w zapisie :frowning: choc pewnie się mylę.

 

 


(Piesek64) #2
<?php
    

if (!empty($_POST['name']) && !empty($_POST['surname']) && !empty($_POST['email']) && !empty($_POST['phone']) && !empty($_POST['ilosc']) && !empty($_POST['waga']) && !empty($_POST['opakowanie']) && !empty($_POST['wymiary']) && !empty($_POST['data-zal']) && !empty($_POST['data-roz']) && !empty($_POST['kraj-zal']) && !empty($_POST['ulica-zal']) && !empty($_POST['kod-zal']) && !empty($_POST['miasto-zal']) && !empty($_POST['kraj-roz']) && (!empty($_POST['miasto-roz']) && (!empty($_POST['ulica-roz']) && (!empty($_POST['kod-roz']) && (!empty($_POST['firma']) && (!empty($_POST['kraj']) && (!empty($_POST['ulica']) && (!empty($_POST['miasto']) && (!empty($_POST['kod']) && (!empty($_POST['nip']) && (!empty($_POST['cena']) && (!empty($_POST['checkbox'])) {
    $strHeader = "Content-Type: text/plain; charset=\"UTF-8\" ";
// jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
// zmienna $message zawiera treść wiadomości
$message = "ZLECAJĄCY:\n"."\nImię: ".$_POST['name']."\nNazwisko: ".$_POST['surname']."\nemail: ".$_POST['email']."\nNr.telefonu: ".$_POST['phone']."\nŁadunek:\n"."\nIlość: ".$_POST['ilosc']."\nWaga w kg: ".$_POST['waga']."\nOpakowanie: ".$_POST['opakowanie']."\nWymiary: ".$_POST['wymiary']."\nData załadunku: ".$_POST['data-zal']."\nData rozładunku: ".$_POST['data-roz']."\nDodatkowe informacje:\n".$_POST['uwagi']."ZAŁADUNEK:\n"."\nKraj załadunku: ".$_POST['kraj-zal']."\nMiasto załadunku: ".$_POST['miasto-zal']."\nUlica załadunku: ".$_POST['ulica-zal']."\nKod: ".$_POST['kod-zal']."ROZŁADUNEK:\n"."\nKraj rozładunku: ".$_POST['kraj-roz']."\nMiasto rozładunku: ".$_POST['miasto-roz']."\nUlica rozładunku: ".$_POST['ulica-roz']."\nKod: ".$_POST['kod-roz']."PŁATNIK\n"."\nNazwa firmy: ".$_POST['firma']."\nKraj: ".$_POST['kraj']."\nUlica: ".$_POST['ulica']."\nMiasto: ".$_POST['miasto']."\nKod: ".$_POST['kod']."nNIP: ".$_POST['nip']."\nCENA: ".$_POST['cena'].$_POST['waluta'];
// zmienna $header zawiera przede wszystkim adres zwrotny
//$strFrom = $_POST['name']."<".$_POST['email'].">";
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail("krzluk@wp.pl","Wiadomosc ze strony WWW","$message",$strHeader );
$homepage = file_get_contents('kontaktok.htm');
echo $homepage;
} else {

// lub w przypadku nie wypełnienia formularza do końca
$homepage = file_get_contents('kontakterror.htm');
 }
echo $homepage;

 

?>


(krzluk) #3

Zaraz to sprawdzę, dzięki :slight_smile:

 

Zwraca kolejny błąd:  Parse error : syntax error, unexpected '{' in  /home/users/omega/public_html/menu/kontaktform.php  on line  4


(Grzelix) #4

jeśli nie widzisz błedu to sformatuj kod tak żebyś był wstanie go dostrzec.

 

 

ps.

  1. to jest pierwsza wersja ale kod powinno się o wiele bardziej zrefaktorować

 

  1. w przypadku sukcesu 'echo $homepage' wykona się dwa razy

(krzluk) #5

OK.

kod się realizuje lecz nie do końca, bo po wypełnieniu formularza - poprawnie- zwracana jest strona błędu 'kontakterror.htm' a powinien zwrócić stronę z ok i wysłać na wskazany adres.

Wykończy mnie ten formularz! Nie działa, a nie wiem dlaczego?? :-x


(Piesek64) #6

Różnica pomiędzy && a |:

&& = i

| = lub

W przypadku CAŁKOWITEGO nie wypełnienia formularzu masz zwracany błąd, a nawiasy przy empty() są niewymagane.

Używaj funkcji header("Location: ...") zamiast file_get_contents. Nie zawsze pobieranie zawartości pliku jest poprawne.


(M@ster) #7

 

| to nie "lub", tylko operator na bitach, który wprawdzie też robi ORa ale zwraca liczbę (np: 101 | 001 = 101), typowy OR logiczny to ||, analogicznie jak &&.