• 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

Cloud VPS
0 głosów
495 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 pr0way Nałogowiec (41,080 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ź 260 wizyt
0 głosów
4 odpowiedzi 284 wizyt
pytanie zadane 2 stycznia 2016 w SQL, bazy danych przez Bartosz Kaczmarek Początkujący (340 p.)
–2 głosów
0 odpowiedzi 217 wizyt
pytanie zadane 6 stycznia 2024 w SQL, bazy danych przez Jakub005 Początkujący (310 p.)

93,487 zapytań

142,423 odpowiedzi

322,773 komentarzy

62,908 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

Kursy INF.02 i INF.03
...