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

Niewyswietlajacy sie "echo" w formularzu rejestracji.

Mały hosting, OGROMNE możliwości
0 głosów
984 wizyt
pytanie zadane 2 grudnia 2016 w PHP przez tagi s Nowicjusz (200 p.)
edycja 2 grudnia 2016 przez tagi s

Witam!

Mam problem z poleceniem echo w skrypcie rejestracji zrobionym na podstawie kursu PHP. sprawdzałem także wersję pobraną bezposrednio (zrobioną przez P. Mirosława) z kursu i także nie wyswietla sie NIC. Tutaj załączam kod z mojego skryptu. Narazie jest tylko sprawdzanie nicku, a i tak nie działa -_-...

 

 

 

 


<?php

	session_start();
	
	// Sprawdzenie czy wyslano formularz
	if (isset($_POST['email']) && (isset($_POST['pass'])))
	{
		// Zakładam, że wszystko prawidlowo
		$prawidlowo=true;
		
		//Sprawdzam poprawnosc nicku
		$nick = $_POST['nick'];
		
		if (strlen($nick)<3)
		{
			$prawidlowo=false;
			$_SESSION['e_nick']='Nick jest zbyt krótki';
		}
		if (strlen($nick)>20)
		{
			$prawodlowo=false;
			$_SESSION['e_nick']='Nick jest zbyt długi';
		}
		
	}
?>
<!DOCTYPE HTML>
<html lang=pl>
<head>
	<meta charset="utf-8" />
	<title>Skrypt rejestracji by tagis &copy; </title>
	<meta name="description" content="To jest skrypt rejestracji." />
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
	<script src='https://www.google.com/recaptcha/api.js'></script>
	
	<style>
		.error
		{
			color: red;
			margin-top: 10px;
			margin-bottom: 10px;
		}
	</style>
</head>
<body>
	<b>*Skrypt rejestracji by tagis &copy;</b>
	<div class="form">
		<form method="post">
		Twój Nick: <br /> <input type="text" name="nick" /> <br />
		
		<?php
		
			if (isset($_SESSION['e_nick']))
			{
				echo '<div class="error">'.$_SESSION['e_nick'].'</div>';
				unset($_SESSION['e_nick']);
			}
			
		?>
		</br>
		
		Twój E-Mail: <br /> <input type="text" name="email" /> <br />
		Twoje Hasło: <br /> <input type="text" name="pass1" /> <br />
		Powtórz Hasło: <br /> <input type="text" name="pass2" /> <br />
		<label>
		<input type="checkbox" name="regulamin" /> <u>Aceptuję regulamin strony</u>
		</label>
		<div class="g-recaptcha" data-sitekey="6LdsrQ0UAAAAAP5VsrGjH1J_yVV3tzjL1gt5BN2_"></div>
		<br />
		<input type="submit" value="ZAREJESTRUJ SIĘ!" />
		
		
		
		
		
		
		</form>
	</div>

</body>
</html>

Bardzo prosilbym o pomoc, jestem początkującym programistą, mam do wykonania stronę do własnego użytku traktuje ją jako praktyczną naukę. Ale nie mam pojęcia dlaczego nie wyswietla sie zaden tekst. (styl .error jest tylko chwilowo w pliku .php, pozniej bedzie w .css)

komentarz 2 grudnia 2016 przez tagi s Nowicjusz (200 p.)

Dodam, iż wpisałem '<br />' do komendy echo i teraz wygląda to tak:


		Twój Nick: <br /> <input type="text" name="nick" /> <br />
		
		<?php
		
			if (isset($_SESSION['e_nick']))
			{
				echo '<div class="error">'.$_SESSION['e_nick'].'</div>';
				unset($_SESSION['e_nick']);
				echo '<br />';
			}
			
		?>

I teraz w ogóle linia pod polem tekstowym się nie "breakuje" (nwm jak to nazwac). Czyli tak jakby w ogóle nie wykonuje sie ten kod PHP.
        
      

2 odpowiedzi

+1 głos
odpowiedź 2 grudnia 2016 przez Pietrak Pasjonat (18,850 p.)
wybrane 2 grudnia 2016 przez tagi s
 
Najlepsza
Formularz sprawdzasz tylko wtedy, gdzy wysłane zostanie pole pass za pomocą POST, a nie masz takiego w swoim formularzu.
komentarz 2 grudnia 2016 przez tagi s Nowicjusz (200 p.)
Ja narazie zrobiłem tylko nick, (tak jak na filmie kurs PHP #3) i chciałem przetestować czy wyswietli sie "nick zbyt krótki".. Ale się nie wyswietla.
komentarz 2 grudnia 2016 przez tagi s Nowicjusz (200 p.)
Dobrze, dzięki za odpowiedź, zauważyłem już literówkę... ;)

 

PROBLEM SOLVED
komentarz 2 grudnia 2016 przez Pietrak Pasjonat (18,850 p.)
Polecam sposób poniżej. Ja tylko wskazałem literówkę.
+1 głos
odpowiedź 2 grudnia 2016 przez HaKIM Szeryf (87,590 p.)

Ciężko o tak kiczowaty kod.

Wywal:

    if (isset($_POST['email']) && (isset($_POST['pass'])))

I wstaw:

    if ($_SERVER['REQUEST_METHOD'] === 'POST')

http://docs.php.net/manual/en/reserved.variables.server.php

Nie mam już siły odpowiadać na tematy które związane są z tym odcinkiem...

komentarz 2 grudnia 2016 przez HaKIM Szeryf (87,590 p.)

O w mordę! PHP 7.1 wyszło... Humor poprawiony. laugh

komentarz 2 grudnia 2016 przez tagi s Nowicjusz (200 p.)
niedokońca rozumiem czym to się różni (w działaniu), ale zmienione, dzięki, też działa to się liczy!
komentarz 2 grudnia 2016 przez HaKIM Szeryf (87,590 p.)

Tak na wszelki:

Ciężko o tak kiczowaty kod.

Nie chodziło mi wyłącznie o tę linię kodu; a o całokształt.

Koniecznie przeczytaj:

https://drive.google.com/file/d/0B_m8fC4d_bzNWDROajVnd3dlYUk/view?usp=sharing

Nie, nie 4 pierwsze strony - CAŁOŚĆ. Daj sobie 2/3 czy ile tam potrzebujesz sesji pomodoro i machnij do końca.

https://tomato-timer.com/

Przytaczając zdanie z rozmowy RSK z RCM:

RSK: Super! Niech zgadnę. W młodości byłeś hakerem uniksowym, dumnym z tego, że potrafiłeś napisać całą aplikację za pomocą jednej instrukcji, której nikt poza tobą nie potrafił odszyfrować.

To samo można powiedzieć o Twoim kodzie. 

komentarz 6 grudnia 2016 przez tagi s Nowicjusz (200 p.)
Dzięki za radę. Zdaję sobie sprawę ze moj kod wyglada jak ... Ale nawet jakbym chcial to nie moge go zrefaktoryzowac. Siedzę w programowaniu (ogólnie) od 2 tygodni. Znam tylko podstawy html, css i php.
komentarz 6 grudnia 2016 przez HaKIM Szeryf (87,590 p.)

W takim razie wróć do niego za tydzień. Jak nadal nie będziesz wiedział jak go zrefaktoryzować, to wiedz, że coś się dzieje.

Spróbuj wypisać sobie listę rzeczy które byś zmienił w kodzie, nawet bez wiedzy jak. Następnie zdobywaj tę wiedzę. Nim wpadniesz na oddzielenie warstwy logiki od warstwy prezentacji poprzez Twig zapoznaj się z programowaniem obiektowym.

Podobne pytania

+29 głosów
8 odpowiedzi 3,611 wizyt
pytanie zadane 24 kwietnia 2017 w Nasze projekty przez Arkadiusz Waluk Ekspert (291,510 p.)
0 głosów
2 odpowiedzi 455 wizyt
pytanie zadane 5 stycznia 2018 w PHP przez fyww Obywatel (1,450 p.)
0 głosów
0 odpowiedzi 393 wizyt
pytanie zadane 25 maja 2017 w PHP przez Sevrento Początkujący (250 p.)

93,718 zapytań

142,631 odpowiedzi

323,262 komentarzy

63,266 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...