Problem z PHP kod html w echo

Witam

 

Mam problem z funkcją echo która ma za zadanie wyświetlić kod html . Otóż po "  ;  " kończącym echo wyświetla mi kod php, który powinien się wykonać a zamiast tego wyświetla się jako tekst.

 

 

 

 

echo "<form method="POST" action="rejestracja_3.html">
 Login: </br>
 <input type="text" name="login"> 
 </br>
 Hasło: </br>
 <input type="password" name="haslo">
 </br>
 Powtórz hasło: </br>
 <input type="password" name="haslo_2">
 </br>  </br>  </br>
 <input type="submit" value="Rejestracja" name="rejestruj">
 </form>";

jakie masz rozszerzenie pliku ? .html czy .php ? Uruchamiasz na serwerze ?

 

JacekBielecki proszę konkretnie zatytułować wątek (użyj pełnego edytora).

 

Zignorowanie prośby będzie skutkować usunięciem topica z forum.

Podaj więcej szczegółów,gdzie i co???ten formularz znajduję się w html??? :wink:

Pytania poprzedników są istotne a poza tym ja tu widzę istotny konflikt  cudzysłowów gdyż dla echo piszesz " coś tam" a w środku też np “POST” tez w cudzysłowach.

W twoim zapisie funkcja echo  ma tylko taki argument <form method=

poza znakami " " są ’ ’  :slight_smile:

Albo zmień dla echo  ’ cała treść’

albo dla innych rozkazów zmień na ’ ’

rozszerzeniem jest html, chociaż po tym jak zmieniłem na php dalej nic to nie dało, na tę chwilę uruchamiam na localhost 

wiem o tym i próbowałem w ten sposób ale dalej jedno i to samo 

Twój brak zdecydowania jest tu największym problemem

rozszerzenie .html jest błędem na 150% Bo niby kto ma wiedzieć że ty chcesz aby to serwer PHP ma twój kod przetworzyć. - totalna porażka.

Moja poprzednia uwaga też jest bardzo istotna i nie masz co tu się zastanawiać.

A czy obie poprawki robiłeś jednocześnie czy może albo jedna albo druga ?? :slight_smile:

 

echo jest od drukowania na stronę czyli od wyświetlania i ja bym go umieścił dopiero od 2 linijki i zakończył przed ostatnią.

i jeszcze jedno

czy wszystko jest w

<?

 

?>

czyli tak:

 

<?

<form method=“POST” action=“rejestracja_3.html”>

echo ’

Login: </br>

 

<input type=“text” name=“login”> 

 

</br>

 

Hasło: </br>

 

<input type=“password” name=“haslo”>

 

</br>

 

Powtórz hasło: </br>

 

<input type=“password” name=“haslo_2”>

 

</br>  </br>  </br>

 

<input type=“submit” value=“Rejestracja” name=“rejestruj”>’

 

</form>;

  ?>

widzę że bez całości kodu strony nie da rady żeby ktoś pomógł więc dodaję plik .html i cały kod stronki :

 

 

[/url] rejestracja

tu powinno być logo

<?php include 'konfiguracja.php'; db_connect(); echo ' Login: Hasło: Powtórz hasło: '; if (!$_SESSION = ['logged']) { if (isset($rejestruj)) { $_POST['login'] = clear($_POST['login']); $_POST['haslo'] = clear($_POST['haslo']); $_POST['haslo_2'] = clear($_POST['haslo_2']); if (empty($_POST('login')) || empty($_POST('haslo')) || empty($_POST('haslo_2'))) { echo 'Musisz wypełnić wszystkie pola'; } } } ?>

rejestracja_3.html

No przecież masz .html, a pisałeś, że masz .php… Jeszcze coś, wyłącz ked’a, odinstaluj go i pracuj na jakimś nowszym np. sublime text2, notepad++.

 

@edit:

 

To:

if (empty($_POST('login')) || empty($_POST('haslo')) || empty($_POST('haslo_2')))

powinno wyglądać tak:

if (empty($_POST('login')) && empty($_POST('haslo')) && empty($_POST('haslo_2')))

jeżeli chcesz wyświetlić komunikat, aby wypełnić wszystkie pola.

to akurat mogę w googlach znaleźć ale czemu mi echo wyświetla if-a?

Bo masz rozszerzenie .html a nie .php

Przede wszystkim włącz sobie raportowanie błędów w PHP - np. na początku pliku dodajesz

<?php 

ini_set('display_errors', 'on');
error_reporting(E_ALL);

?>

Dzięki temu zobaczysz wszystkie komunikaty błędów, które KAŻDY popełnia.

 

 

 

Ja to cytowałem i nie sprawdzałem nawet takich błahostek :slight_smile: