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

question-closed Problem z walidacją

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
176 wizyt
pytanie zadane 18 lipca 2017 w PHP przez Paweł123 Nałogowiec (33,500 p.)
zamknięte 18 lipca 2017 przez Paweł123

Cześć, dlaczego ten skrypt nie działa. Chodzi mi przede wszystkim o walidacje. 

<?php

	session_start();
	
	if (isset($_POST['massage']))
	{
		//Udana walidacja? Załóżmy, że tak!
		$wszystko_OK=true;
		
        $massage = $_POST['massage'];
		//Sprawdzenie długości nicka
		if ((strlen($massage)<3) || (strlen($massage)>20))
		{
			$wszystko_OK=false;
			$_SESSION['massage']="Nick musi posiadać od 3 do 20 znaków!";
		}	
	
		$_SESSION['fr_massage'] = $massage;
	
		
		require_once "connect.php";
		mysqli_report(MYSQLI_REPORT_STRICT);
		
		try 
		{
			$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
			if ($polaczenie->connect_errno!=0)
			{
				throw new Exception(mysqli_connect_errno());
			}
			else
			{
				if ($wszystko_OK==true)
				{
					//Hurra, wszystkie testy zaliczone, dodajemy gracza do bazy
					
					if ($polaczenie->query("INSERT INTO post VALUES (NULL, '$ip', '$massage', '$datum')"))
					{
						$dodano = "Dodano posta do bazy";
					}
					else
					{
						throw new Exception($polaczenie->error);
					}
					
				}
				
				$polaczenie->close();
			}
			
		}
		catch(Exception $e)
		{
			echo '<span style="color:red;">Błąd serwera! Przepraszamy za niedogodności i prosimy o rejestrację w innym terminie!</span>';
			echo '<br />Informacja developerska: '.$e;
		}
		
	}
	
	
?>


<!DOCTYPE HTML>
<html lang="pl">
<head>
	<meta charset="utf-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
	<title>Dodanie posta!</title>

	
	<style>
		.error
		{
			color:red;
			margin-top: 10px;
			margin-bottom: 10px;
		}
	</style>
</head>

<body>
	
	<form method="post">
	
        
        	Wiadomość: <br /><textarea name="massage" ><?php
			if (isset($_SESSION['fr_massage']))
			{
				echo $_SESSION['fr_massage'];
				unset($_SESSION['fr_massage']);
			}
                ?></textarea><br />
		
		<?php
			if (isset($_SESSION['e_massage']))
			{
				echo '<div class="error">'.$_SESSION['e_massage'].'</div>';
				unset($_SESSION['e_massage']);
			}
		?>
		<?php echo $dodano; ?>
     	<br />
		
		<input type="submit" value="Dodaj posta" />
		
	</form>

</body>
</html>

Czy ktoś wie w czym jest problem? 

komentarz zamknięcia: $_SESSION['e_massage']="Nick musi posiadać od 3 do 20 znaków!";
1
komentarz 18 lipca 2017 przez Arkadiusz Waluk Ekspert (289,990 p.)
Nie działa czyli co się dzieje?
komentarz 18 lipca 2017 przez Paweł123 Nałogowiec (33,500 p.)
Podczas wprowadzenia dwóch liter powinien pojawić się komunikat, że tekst jest za krótki. Jednak tak się nie dzieje.
1
komentarz 18 lipca 2017 przez Arkadiusz Waluk Ekspert (289,990 p.)

Eee... A wyświetlasz go gdziekolwiek?

Z tego co ja widzę przypisujesz tu

$_SESSION['massage']="Nick musi posiadać od 3 do 20 znaków!";

i nigdzie takiego elementu tablicy $_SESSION nie wyświetlasz, jest tylko "fr_massage" i "e_massage"

komentarz 18 lipca 2017 przez Paweł123 Nałogowiec (33,500 p.)

No tak. Już wiem jak to zrobić. :D

Dzięki za pomoc. 

Rozwiązanie:

$_SESSION['e_massage']="Nick musi posiadać od 3 do 20 znaków!";

 

Podobne pytania

0 głosów
1 odpowiedź 255 wizyt
pytanie zadane 9 lutego 2018 w PHP przez skedar Nowicjusz (150 p.)
0 głosów
1 odpowiedź 340 wizyt
pytanie zadane 2 kwietnia 2016 w PHP przez Paweł123 Nałogowiec (33,500 p.)
0 głosów
1 odpowiedź 511 wizyt
pytanie zadane 14 kwietnia 2017 w PHP przez ThePatrykOOO Dyskutant (8,400 p.)

93,187 zapytań

142,203 odpowiedzi

322,021 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2164p. - Adrian Wieprzkowicz
  10. 2006p. - Michal Drewniak
  11. 1950p. - Anonim 3619784
  12. 1909p. - Dawid128
  13. 1901p. - Mikbac
  14. 1744p. - rafalszastok
  15. 1487p. - Michał Telesz
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...