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 ?
fiesta
(fiesta)
3 Marzec 2014 14:07
#3
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???
j24
(j24)
3 Marzec 2014 16:12
#5
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ą ’ ’
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
j24
(j24)
3 Marzec 2014 16:24
#7
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 ??
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
<?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.
jacko1998:
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?
jacko1998
(jacko1998)
3 Marzec 2014 21:50
#11
Bo masz rozszerzenie .html a nie .php
ra-v
(ra-v)
3 Marzec 2014 22:20
#12
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.
jacko1998
(jacko1998)
3 Marzec 2014 22:30
#13
Ja to cytowałem i nie sprawdzałem nawet takich błahostek