• 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.

VPS Starter Arubacloud
0 głosów
429 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 2,022 wizyt
pytanie zadane 24 kwietnia 2017 w Nasze projekty przez Arkadiusz Waluk Ekspert (287,550 p.)
0 głosów
2 odpowiedzi 265 wizyt
pytanie zadane 5 stycznia 2018 w PHP przez fyww Obywatel (1,450 p.)
0 głosów
0 odpowiedzi 332 wizyt
pytanie zadane 25 maja 2017 w PHP przez Sevrento Początkujący (250 p.)

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...