• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Formularz błąd w kodzie

Object Storage Arubacloud
0 głosów
161 wizyt
pytanie zadane 19 listopada 2017 w PHP przez pablo1111 Nowicjusz (120 p.)

Witam oto problem

Otrzymuję komunikat błędu

Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\FORMWGALEX\form.php on line 11

 

do następującego kodu

<?php
if (empty($_POST)===false){
    $errors=array();
$imie=$_POST['imie'];
$email=$_POST['email'];
$temat=$_POST['temat'];
$wiadomosc=$_POST['wiadomosc'];
echo $imie, ' ', $email, ' ', $temat, ' ' , $wiadomosc, ' ';
}
if(empty($imie)===true||(empty($email)===true)||(empty($temat)===true||(empty($wiadmosc)===true)
{
$errors[]='Wymagane jest podanie  imienia , adresu Email , tamatu i treści wiadomości!';
}
else {
}      
print_r($errors);
}
    
//if (filter_var($email,FILTER_VALIDATE_EMAIL)===false) {
//$errors[]='To jest nieprawidłowy format adresu Email;
//}

//if (ctype_alpha($name)===false) {
    //  $errors[]='Imię / nazwa moze zawierać tylko litery!;


?>
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8"/>
<title>Kod formularza</title>
</head>
<body>
<form action="" method="post">
    <fieldset>
    <legend><h3>Formularz kontaktowy</h3></legend>
         <p>     
        <label for="imie">Imię/nick:</label>
        <input type="text" id="imie" name="imie"/>
        </p>
         <br/>  <br/>    
        <p>        
        <label for="email">Twój e-mail:</label>
        <input type="text" id="email" name="email"/>
        </p>
          </br>      <br/>
        <p>          
        <label for="temat">Temat: </label>
        <input type="text" id="temat" name="temat"/>
        </p>
            </br>      <br/>
        <label for="wiadomosc">Wiadomość:</label>
        <textarea id="wiadomosc" name="wiadomosc" cols="40" rows="10"></textarea>
                    <br/><br/>
        <input type="submit" value="Wyślij" id="send" name="send" />
    </fieldset>
</form>
</body>
</html>

jak to interpretowac?

wiedzę PHP posiadam minimalną kod powtarzam za Alex z PHPAcademy wideotutorial na UT

ale nastąpił ww. problem.

Proszę Was o podpowiedzi i ewentu uwagi .

Dziękuję

 

 

komentarz 19 listopada 2017 przez jaca121212 Nałogowiec (40,760 p.)
echo $imie, ' ', $email, ' ', $temat, ' ' , $wiadomosc, ' '; 

chyba kropek pomiędzy brakuje.

syntax error, unexpected -oznacza że źle jest wywoływane echo(połączenia  ) 

jak  wyświetlisz osobno  każe jedno czyli tak 

echo $imie;
 echo $email;
 echo $temat;
echo $wiadomosc; 

 

komentarz 19 listopada 2017 przez pablo1111 Nowicjusz (120 p.)
OK ale zwróć uwagę że walidator mówi o "nieoczekiwany nawias "{" w linii kodu  nr 11

czytam po swojemu tę instrukcję jeżdeli jakiekolwiek pole z np

?imie

?email

?temat

?wiadmosc

jest puste to...i tu mam problem

może chodzi o to żeby zapisać ten błąd w tablicy /array/i  go wyświetlić?
komentarz 23 listopada 2017 przez pablo1111 Nowicjusz (120 p.)

ok to może podam jeszcze raz fragent kodu co do którego walidator wskazuje  błąd

 

<?php
if (empty($_POST)===false)
{
        $errors=array();
        $imie=        $_POST['imie'];
        $email=        $_POST['email'];
        $temat=        $_POST['temat'];
        $wiadomosc=    $_POST['wiadomosc'];
        //echo $imie, ' ', $email, ' ', $temat, ' ' , $wiadomosc, ' ';
        if( (empty($imie)===true) || (empty($email)===true) ||
        (empty($temat)===true) || (empty($wiadomosc)===true)
        {
            $errors[]='Wymagane jest podanie  imienia/nicka/ , adresu Email , tematu i treści wiadomości!';
        }
        else
        {
                if (filter_var($email,FILTER_VALIDATE_EMAIL)===false)
                {
                $errors[]='To jest nieprawidłowy format adresu Email';
                }
                if (ctype_alpha($imie)===false)
                {
                $errors[]='Imię/nick/ może zawierać tylko litery!';
                }
                if (empty($errors)===true)
            {
                mail('skkdff@interia.pl','Dane z formularza kontaktowego',$temat,$wiadomosc,'Od:'.$email);
                header('Location:index.php?sent');
                exit ;
            }
    }
}
?>

 

i brzmi on jn.:

Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\FORMALEXALT1\index.php on line 12

 

chodzi o klamrę w wierszu nr 12 tak?

zaznaczyłem i teraz czy wg Was jak należy ustawić te klamry by walidator ten kod zaakceptował?

 

Dziękuje i pozdrawiam

pablo

 

 

 

2 odpowiedzi

0 głosów
odpowiedź 19 listopada 2017 przez CzikaCarry Szeryf (75,340 p.)
Jak sam błąd mówi, masz zbędną klamerkę w linii 11. Usuń ją.
komentarz 19 listopada 2017 przez jaca121212 Nałogowiec (40,760 p.)
edycja 19 listopada 2017 przez jaca121212

Zgodzę się jeśli nie domknie się  w odpowiednim miejscu nawiasu to też  wyjdzie taki błąd

if(empty($imie)===true||(empty($email)===true)||(empty($temat)===true||(empty($wiadmosc)===true) 
{ 
$errors[]='Wymagane jest podanie  imienia , adresu Email , tamatu i treści wiadomości!'; 
} 
else { 
}       
print_r($errors); 
} 

jeśli imię email temat wiadomosc są prawdziwe czyli  nie są puste to wtedy nie powinny wywalać błędu jeśli nie są puste to wtedy wywala komunikat że są puste pola (wymagane)

if(empty($imie)===true||(empty($email)===true)||(empty($temat)===true||(empty($wiadmosc)===true) 

jeśli puste pole jest Imie itd to wywala komunikat że pole są nie uzupełnione 

else{

echo $imie;

 echo $email;

 echo $temat;

echo $wiadomosc;

}

||-oznacza "lub/oraz"

poczytaj o tym 

komentarz 19 listopada 2017 przez pablo1111 Nowicjusz (120 p.)
dobrze usuwam klamerkę

kopiuję kod wysyłam do walidatora PHP

tym razem komunikat błędu dotyczy kodu w linijce nr 13

$errors[]='Wymagane jest podanie  imienia , adresu Email , tematu i treści wiadomości!';

i brzmi

Parse error: syntax error, unexpected T_VARIABLE in CODE on line 13
Errors parsing CODE

i co teraz?
0 głosów
odpowiedź 19 listopada 2017 przez darek_kce Gaduła (3,180 p.)

Zobacz na tego twojego if'a

if(empty($imie)===true||(empty($email)===true)||(empty($temat)===true||(empty($wiadmosc)===true) 

a teraz rozbij je na poszczególne wyrażenia logiczne:

1. empty($imie)===true

2. (empty($email)===true)

3. (empty($temat)===true||(empty($wiadmosc)===true)

I już widać że brakuje kilku nawiasów - pierwszy do zamknięcia 3. warunku i drugi do zamknięcia if'a, poza tym jest tu duża niekonsekwencja, szczególnie nie wiadomo o co chodzi z tym nawiasem ostatnim.

Na twoim miejscu, o ile o to chodziło, to bym radził przepisać tego if'a np. tak:

if( (empty($imie)===true) || (empty($email)===true) || (empty($temat)===true) || (empty($wiadmosc)===true))

 

komentarz 20 listopada 2017 przez pablo1111 Nowicjusz (120 p.)
tak brakowało klamerki uzupełniłem i po wpisaniu danych w formularz i wywołaniu otrzymuję jn.

Andrzej sdvsdv@vd.pl Zapytanie Proszę itd... Array ( [0] => Wymagane jest podanie imienia , adresu Email , tematu i treści wiadomości! )

tzn skrypt "czyta" i wyświetla dane ale dodaje komunikat o pustej tablicy tak?

czyli jeszcze trzeba nad nim popracować.

Podobne pytania

0 głosów
0 odpowiedzi 204 wizyt
pytanie zadane 11 marca 2018 w JavaScript przez Ester315 Nowicjusz (170 p.)
0 głosów
2 odpowiedzi 128 wizyt
pytanie zadane 21 lutego 2018 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
0 odpowiedzi 184 wizyt
pytanie zadane 19 grudnia 2022 w PHP przez Mikoh8123 Początkujący (250 p.)

92,573 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...