Rare error

Status
Niet open voor verdere reacties.

jordy14nl

Gebruiker
Lid geworden
21 dec 2008
Berichten
218
Hallotjes,

ik stuiterde zo op een probleempje, namelijk deze error:
Code:
Parse error: syntax error, unexpected $end in /home/crusher/domains/crusher.md-design.be/public_html/PFF/index.php on line 178
het rare is dat lijn 178 dit is:
PHP:
?></body>
of tewel het einde van mijn php script. iemand enig idee?
 
ben je nergens een regel eerder zoon ; vergeten. dan geeft hij het namelijk ook een paar regels verder pas aan dus kijk ff of je niet eerder een fout heb zitten.
 
Het kan ook zijn dat je een haakje vergeten bent te sluiten.

Je moet begrijpen dat de parser net zolang doorgaat met lezen tot hij tegen een fout aanloopt. De fout hoeft dan niet direct op die regel te zitten...

Als je bijvoorbeeld dit hebt:

PHP:
if ( $haas == 1 ) {
  echo 'haas is 1';
}
else {
  echo 'haas is 2';


$haas = 3;

function meer_haas() {
  return 1;
}

Dan zal hij een parse error geven op regel 10 ( UNEXPECTED T_FUNCTION als ik me niet vergis) terwijl de fout zit op regel 6 (geen } om het else-blok te sluiten)

Echter, alles tot regel 10 is wel geldig, hoewel het niet is wat jij wilt. Je programma doet wat je zegt dat het moet doen, niet wat je wil dat het doet ;)

Kijk dus altijd teruguit vanaf de regel waar hij de fout aangeeft; het zit ergens daarvoor.
 
unexpected $end lijkt me. ;)
 
nee,
maar volgens mij kwam het na het toevoegen van
PHP:
$login[0] = $_POST['usr'];
$login[1] = $_POST['pss'];
 
reactie op gast boven mij:

als je de body sluit in php ziet html dit niet:D
 
unexpected $end lijkt me. ;)

Ik bedoelde in mijn voorbeeld :p Daar zou het unexpected t_function moeten zijn :p

@Topic starter: We hebben meer code nodig. Geef eens de laatste paar regels van je script?
 
Inderdaad, de $end error-melding betekent vaak dat je een statement niet afgesloten hebt met een curly bracket ( } )
 
Ik bedoelde in mijn voorbeeld :p Daar zou het unexpected t_function moeten zijn :p

@Topic starter: We hebben meer code nodig. Geef eens de laatste paar regels van je script?

Parse error: syntax error, unexpected $end in C:\xampp\htdocs\test\index.php on line 14

Even getest. ;)
 
Het is inderdaad een gemis aan een ; of een }

Als het een } betreft, installeer dan Notepad++.
Als je dan op een { gaat staan, dan laat het programma zien of er een
} bij hoort of niet. Zo spoor je snel een verkeerd of vergeten } op.

1263984109ascreenshot.2.jpg


En nu een weeshaakje:
ascreenshot.3.jpg
 
Vlak voor je "?>" gewoon een "}" neerzetten. Vaak wil het wel helpen.

Gr. Ronald!:)
 
Hm. Is het toegestaan om een function te defineren in een if blok? :/

Dat wist ik niet... dat klinkt heel smerig (en als javascript :p)
 
lol, jullie krijgen wel op je donder van frats ;)

@ code hieronder: ik weet me login suckst maar ben newbie in php probeer alles uit :p
en ik gebruik notepad++ ook :p
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<?php Include("header.php"); ?>
</head>

<body Text="#FFFFFF" bgColor="#000000"><?php

	/*$login[0] = $_POST['usr'];
	$login[1] = $_POST['pss'];*/
	
	$login[0] = $_GET['usr'];
	$login[1] = $_GET['pss'];
	$page = $_GET['pge'];
	
	//Include("setup.Crshr");
	Include("logins.Crshr");
	
	if(
		!$login[0] && !$login[1] || 
		!$login[0] || !$login[1] || 
		$login[0] == "" || $login[1] == "" || 
		$login[0] == "" && $login[1] == ""
	)
	{
		Include("login.php");
		exit;
	}
	else
	{
		Crshr_Login();
		exit;
	}
	
	function Crshr_GetTabel($tabel)
	{
		$i = strval(ReturnLoginID());
		switch($USER_klas[$i])
		{
			case 1: 
			{
				switch($tabel)
				{
					case 1: echo " ";
				}
			}
			case 2:
			{
				switch($tabel)
				{
					case 1: echo " ";
			}
		}
		return false;
	}
	
	function Crshr_ReturnLoginID()
	{
		for ($i = 0; $i<$LimitUsers; $i++) 
		{
			if($login[0] == $USER_name[$i] && $login[1] == $USER_pass[$i])
			{
				// is een ingelogde user
				return $i;
			}
		}
		return -1;
	}
	
	function Crshr_Login()
	{
		$logged = 0;
		for ($i = 0; $i<$LimitUsers; $i++) 
		{
			if($login[0] == $USER_name[$i] && $login[1] == $USER_pass[$i])
			{
				echo "<br />Hallo $USER_name[$i]";
				$logged++;
			}
		}
		if($logged == 0)
		{
			Include("login_fail.php");
			exit;
		}
		return true;
	}
	
	function Crshr_ShowPage($srvrpage)
	{
		switch($srvrpage)
		{
			case 'cijfers':
			{
				echo "<br />Cijfers";
				exit;
			}
			case 'ftp':
			{	
				echo "<h1>Ftp test</h1><hr>";
				echo "<br />IP: $Ftp[1]";
				echo "<br />Username: $Ftp[1]";
				echo "<br />Password: $Ftp[2]";
				exit;
			}
		}
		return true;
	}
	
?></body>
 
Laatst bewerkt:
Er ontbreekt een } in de functie Crshr_GetTabel, in de Switch die in case 2 van de switch $USER_klas[$i] staat.


En ik geef niemand op zijn of haar donder, ik heb zelf juist weer wat nieuws geleerd :p
 
Er ontbreekt een } in de functie Crshr_GetTabel, in de Switch die in case 2 van de switch $USER_klas[$i] staat.


En ik geef niemand op zijn of haar donder, ik heb zelf juist weer wat nieuws geleerd :p

hee ya :p thnx man



was maar gekheid
 
Welke editor gebruik je?

In Notepad++ had ik het in no time gevonden omdat die netjes aangeeft waar haakjes elkaar afsluiten ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan