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

Błąd, nie wiem co jest grane, co mam poprawić niby w tych liniach

Object Storage Arubacloud
0 głosów
312 wizyt
pytanie zadane 18 marca 2018 w SQL, bazy danych przez seam3 Początkujący (450 p.)

Wyskakuje mi to:

Notice: Undefined variable: haslo_hash in /storage/ssd1/027/5112027/public_html/dod.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /storage/ssd1/027/5112027/public_html/dod.php:88) in /storage/ssd1/027/5112027/public_html/dod.php on line 91

A to linie: które mam:


<?php

	session_start();
	if (!isset($_SESSION['zalogowany']))
	{
		header('Location: dod.php');
		exit();
	}
	if (isset($_POST['email']))
	{
		//Udana walidacja? Załóżmy, że tak!
		$wszystko_OK=true;
		
		//Sprawdź poprawność nickname'a
		$nick = $_POST['nick'];
		
		//Sprawdzenie długości nicka (linka 
		if (strlen($nick)>100)
		{
			$wszystko_OK=false;
			$_SESSION['e_nick']="Link jest za długi! skróć go >> <a href=http://tiny.pl/ target=_blank>tutaj</a>";
		}
		if ((strlen($nick)<-3) || (strlen($nick)<1))
		{
			$wszystko_OK=false;
			$_SESSION['e_nick']="Wklej link!";
		}
		
		
		if (ctype_alnum($nick)==true)
		{
			$wszystko_OK=false;
			$_SESSION['e_nick']="Ten link jest niepoprawny!";
		}
		
		// Sprawdź poprawność adresu email
		// Sprawdź poprawność adresu login
		$email = $_POST['email'];
		$emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
		
		if ((strlen($email)<1) || (strlen($email)>20))
		{
			$wszystko_OK=false;
			$_SESSION['e_email']='Za długi opis';
		}
		if ((strlen($email)<-3) || (strlen($email)<1))
		{
			$wszystko_OK=false;
			$_SESSION['e_email']="Napisz coś!";
		}
		
		//Zapamiętaj wprowadzone dane
		$_SESSION['fr_nick'] = $nick;
		$_SESSION['fr_email'] = $email;
		
		
		require_once "connectfilmy.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
			{
				

				//Czy nick(link) jest już zarezerwowany?
				$rezultat = $polaczenie->query("SELECT id FROM uzytkownicy WHERE user='$nick'");
				
				if (!$rezultat) throw new Exception($polaczenie->error);
				
				$ile_takich_nickow = $rezultat->num_rows;
				if($ile_takich_nickow>0)
				{
					$wszystko_OK=false;
					$_SESSION['e_nick']="Ten film został już wysłany, jeśli nie pojawił się jeszcze na FitTube to poczekaj ;)
					(zatwierdzanie filmu trwa od 6-7 dni)";
				}
				
				if ($wszystko_OK==true)
				{
					//Hurra, wszystkie testy zaliczone, dodajemy gracza do bazy
					
					if ($polaczenie->query("INSERT INTO uzytkownicy VALUES (NULL, '$nick', '$haslo_hash', '$email', 0, 0, 0, 0)"))
					{
						$_SESSION['udanarejestracja']=true;
						header('Location: dzienki.php');
					}
					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;
		}
		
	}
	
	
?>

Proszę o pomoc :/

komentarz 19 marca 2018 przez Patrycjerz Mędrzec (192,320 p.)
A ja nie wiem, co jest grane, po tym bezużytecznym tytule. Zmień go.

1 odpowiedź

0 głosów
odpowiedź 18 marca 2018 przez Tpk Nałogowiec (40,100 p.)
Według tych ostrzeżeń i błędów wynika, że nie masz nigdzie zadeklarowanej zmiennej (undefined variable) $haslo_hash przez co zapytanie do bazy ma lekki problem z wykonaniem. Po prostu próbujesz wysłać zmienną której wcześniej nie ustawiłeś (zadeklarowałeś).

Kolejny (tym razem błąd) - "Nie można zmodyfikować informacji nagłówka - nagłówek już wysłany". Generalnie taki błąd może mieć miejsce z powodu poprzedniego ostrzeżenia (i w tym przypadku chyba tak właśnie jest).

Natomiast dlaczego się on wgl wyświetlił myślę, że tutaj znajdziesz dokładniej co i jak: https://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php
komentarz 19 marca 2018 przez PolYGlok Pasjonat (19,450 p.)
edycja 19 marca 2018 przez PolYGlok
Co to za rodzaj logowania linki/nicki do czego to ma niby służyć?

Jak nie wiesz o czym kolega u góry pisze a chcesz to postawić żeby "chodziło" to usuń z 62 linijki " $db_password," i z 88ej linijki " '$haslo_hash'," i jedno zero.

else { to co kolega u góry napisał();

}

BTW Co to znaczy dzienki.php?

PS. Nie dubluj pytań- na to pytanie już dostałeś odpowiedz kilka godzin temu!

Podobne pytania

0 głosów
1 odpowiedź 212 wizyt
0 głosów
4 odpowiedzi 178 wizyt
pytanie zadane 2 stycznia 2016 w SQL, bazy danych przez Bartosz Kaczmarek Początkujący (340 p.)
–2 głosów
0 odpowiedzi 71 wizyt
pytanie zadane 6 stycznia w SQL, bazy danych przez Jakub005 Początkujący (310 p.)

92,580 zapytań

141,433 odpowiedzi

319,665 komentarzy

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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...