Błąd Parse error: syntax error, unexpected T_VARIABLE in D:\WebServ\httpd\nowa\zaloguj.php on line 13

0

Witam,
Uczę się podstaw php z mysql na webservie i przy otwieraniu strony wyskakuje błąd:
Parse error: syntax error, unexpected T_VARIABLE in D:\WebServ\httpd\nowa\zaloguj.php on line 13

Sprawdzałem i wszędzie są średniki.
oto kod pliku zaloguj.php

require_once "connect.php";

$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);

if ($polaczenie->connect_errno!=0)
{
	echo "Error:".$polaczenie->connect_errno;
}
	else
	{​​
	$login = $_POST['login'];
	$haslo = $_POST['haslo'];
		echo $login;
		echo $password;
		$polaczenie->close();
	}​​

oto kod pliku connect.php:

$host = "localhost";
$db_user = "root";
$db_password = "";
$db_name = "osadnicy";

Czy ktoś byłby chętny podpowiedzieć o co może chodzić?
Z góry dziękuję za pomoc

3

Wygląda na to, że zmienna login nie została przesłana przez formularz metodą POST.
Żeby uniknąć takich niespodzianek, musisz najpierw sprawdzić, czy taka zmienna jest dostępna pośród przesłanych parametrów.

$login = 0;
if (isset($_POST['login'])==true) $login = $_POST['login'];

No i obsłużyć sobie też jakoś sytuację, gdy jej nie ma.

0

Hej! Dzięki za podpowiedź. Niestety jak obsłużyłem tą sytuację to nadal nie działa. Pokazuje natomiast inny błąd:
Parse error: syntax error, unexpected T_IF in D:\WebServ\httpd\nowa\zaloguj.php on line 15

Kod w pliku zaloguj.php wygląda teraz tak:

require_once "connect.php";

$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);

		$login = 0;
		$haslo = 0;
if ($polaczenie->connect_errno!=0)
{
	echo "Error:".$polaczenie->connect_errno;
}
	else
	{​​
	if (isset($_POST['login'])==true) $login = $_POST['login'];        / NA TĄ LINIJKĘ WSKAZUJE BŁĄD
	else "blad login";
	
	if (isset($_POST['haslo'])==true) $login = $_POST['haslo'];
	else "blad haslo"
	//$login = $_POST['login'];
//	$haslo = $_POST['haslo'];
		echo $login;
		echo $password;
		$polaczenie->close();
	}​​
2
else "blad login";

Co to ma, według Ciebie, robić? :-)

0

Tak racja.
else echo "blad login";
miało być.
Problem istnieje nadal :/

1

Wrzuć poprawiony kod :-)

0

require_once "connect.php";

$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);

		$login = 0;
		$haslo = 0;
if ($polaczenie->connect_errno!=0)
{
	echo "Error:".$polaczenie->connect_errno;
}
	else
	{​​
	if (isset($_POST['login'])==true) $login = $_POST['login'];
	else	echo "blad login";

	if (isset($_POST['haslo'])==true) $login = $_POST['haslo'];
	else echo "blad haslo"
	
	//$login = $_POST['login'];
	//$haslo = $_POST['haslo'];
		echo $login;
		echo $password;
		$polaczenie->close();
	}​​

Zastanawiam się czy muszę ustawić coś dodatkowo w phpmyadmin. Nie znalazłem nigdzie takiej informacji ale może jest coś takiego

2
$login = $_POST['haslo'];

hmmm

else echo "blad haslo"

Gdzie średnik? :-)

0
require_once "connect.php";

	$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
	
			$login = 0;
			$haslo = 0;
	if ($polaczenie->connect_errno!=0)
	{
		echo "Error:".$polaczenie->connect_errno;
	}
		else
		{​​
		if (isset($_POST['login'])==true) $login = $_POST['login'];
		else	echo "blad login";
	
		if (isset($_POST['haslo'])==true) $haslo = $_POST['haslo'];
		else echo "blad haslo";
		
		//$login = $_POST['login'];
		//$haslo = $_POST['haslo'];
			echo $login;
			echo $password;
			$polaczenie->close();
		}​​
0

W klamerce tuż po else - {​​ - masz ukryte jakieś znaki (zero-width spaces?); spróbuj ustawić kursor...

        else
        {​​
// w tym miejscu

... i naciskaj backspace; zauważysz, że pomiędzy { a końcem linii znajdują się jakieś dwa/trzy ukryte znaki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1