Mike: Hiiiiilfe ; unexpected $end

Heyho, ich nutze ein Script für eine Facebook App, jedoch erhalte ich jedesmal den Fehlercode:
Parse error: syntax error, unexpected $end in /home/www/web173/html/gift/index.php on line 163

http://experty.de/gift/

Das ist der code der index.php

<?php  
  
/*  
=====================================================  
 Facebook Gift Store Application  
-----------------------------------------------------  
 Version:    1.2  
-----------------------------------------------------  
 Created By: Shyamal Borsaikia  
=====================================================  
 Copyright © 2011 Shyamal Borsaikia  
=====================================================  
 Email: shyamalborsaikia@gmail.com  
-----------------------------------------------------  
 Created: 5/1/2011  
=====================================================  
*/  
  
require_once 'header.php';  
  
echo '<div class=mainBox>';  
  
if( isset($_POST['sendGift']) ) {  
  
	$giftId = $_POST['giftId'];  
	//$friends = (isset($_REQUEST["ids"]) ? $_REQUEST["ids"] : null);  
	$friends = $_POST[friend_selector_id];  
  
	if( empty($giftId) ) {  
		echo '<div class="noticeBox">';  
		echo '<h2>Your fotgot to select a gift!</h2>';  
		echo '</div>';  
	}  
	else if( empty($friends) ) {  
		echo '<div class="noticeBox">';  
		echo '<h2>Your fotgot to select your friends!</h2>';  
		echo '</div>';  
	}  
	else {  
  
		$player = Player::getById($user);  
		$gift = Gift::getById($giftId);  
  
		$player->point -= $gift->price;  
		$player->save();  
		$gift->hit++;  
		$gift->save();  
		  
		send_gift( $user, $friends, $giftId );  
  
/************************************************/  
/* Publish Stream */  
/************************************************/  
  
$name = $appTitle;  
$name_href = $appCanvasUrl;  
$caption = 'I sent you a '.$gift->title.' using '.$appTitle;  
$description = 'Send beautiful gifts using '.$appTitle;  
$img_1 = $appCallbackUrl.'gifts/'.$gift->image;  
$img_1_href = $appCanvasUrl;  
$action_links_text = 'Send '.$appTitle;  
$action_links_href = $appCanvasUrl;  
	  
$attachment = array(  
			'name' => $name,  
			'href' => $name_href,  
			'caption' => $caption,  
			'description' => $description,  
			'media' => array(  
							array( 	'type' => 'image',  
									'src' => $img_1,  
									'href' => $img_1_href )  
						)  
				);  
		$action_links = array(  
							array( 	'text' => $action_links_text,  
									'href' => $action_links_href)  
						);  
				echo '<select name=type>';  
		while( $row  = mysql_fetch_array($res) ) {  
			echo '<option value='.$row[catid].'>'.$row[catTitle];  
		}  
		echo '</select>';  
		echo ' <input type="submit" name="searchGift" value="View" class="submitButton">';  
		echo '</form>';  
	echo '</td>';  
  
	echo '</tr>';  
	echo '</table>';  
  
if( !empty($_POST[type]) ) $giftType = $_POST[type];  
else if( !empty($_GET[type]) ) $giftType = $_GET[type];  
else {  
	$res = query("SELECT * FROM `gifts_category` LIMIT 0,1");  
	$row  = mysql_fetch_assoc($res);  
	$giftType = $row[catid];  
}  
	  
// Page Navigation  
$res = query("SELECT COUNT(*) FROM `gifts` WHERE `gCat`=$giftType");  
list($total) = mysql_fetch_array($res);  
  
if( $total>0 ) {  
  
	$limit=3;  
	if(!isset($_GET[page]))  
		$page=1;  
	else  
		$page=$_GET[page];  
  
	if($total>0)  
	{  
		$p = new pagination();  
		$p->Items($total);  
		$p->limit($limit);  
  
		if( empty($giftType) ) $p->target('index.php');  
		else $p->target('index.php?type='.$giftType);  
  
		$p->currentPage($_GET['page']);  
		$p->calculate();  
		$p->changeClass("pagination");  
	}  
	$counter = 0;  
	$offset = ($page-1) * $limit;  
  
	echo '<div class=navigation>';  
	$p->show();  
	echo '</div><BR>';  
  
	$res = query("SELECT * FROM `gifts` WHERE `gCat`=$giftType ORDER BY `gid` ASC LIMIT $offset,$limit");  
  
	echo '<form action="'.$appCanvasUrl.'" method="POST">';  
  
	echo '<table width=100% border=0 class="giftTable">';  
	echo '<tr>';  
  
	while( $row = mysql_fetch_array($res) ) {  
		echo '<td>';  
		echo '<CENTER><img src='.$appCallbackUrl.'gifts/'.$row[gImage].' width=240 height=320></CENTER>';  
		if( $player->point > $row[gPrice] ) {  
			echo '<P class=titleP><input type=radio name=giftId value='.$row[gid].'>'.$row[gTitle].'</P>';  
		}  
		else {  
			echo '<P class=titleP><input type=radio name=giftId value='.$row[gid].' disabled=true>'.$row[gTitle].'</P>';  
		}  
		echo '<P>Price: $'.$row[gPrice].' <BR> Sent '.$row[ghit].' Times</P>';  
  
		echo '</td>';  
  
		$counter++;  
		if( $counter == 4 ) {  
			echo '</tr><tr>';  
			$counter = 0;  
		}  
	}  
  
	echo '</tr></table>';  
        echo '</div>';  
  
include 'ads/skyscrapper.php';  
?>

Kann mir vielleicht wer helfen? :(
bin überfragt...

lg

  1. Hi,

    Heyho, ich nutze ein Script für eine Facebook App, jedoch erhalte ich jedesmal den Fehlercode:
    Parse error: syntax error, unexpected $end in /home/www/web173/html/gift/index.php on line 163

    Dann fehlen vermutlich schließende geschweifte Klammern.

    Wenn Du den Code ordentlich einrücken würdest, könntest Du vermutlich ziemlich schnell sehen, wo die fehlen.

    Beispiel:

      send\_gift( $user, $friends, $giftId );  
    

    /************************************************/
    /* Publish Stream */
    /************************************************/

    $name = $appTitle;

    Aus welchem Grund ist die letzte der von mir zitierten Zeilen anders eingerückt als die erste?

    $attachment = array(
    );
    $action_links = array(

    dito.

      echo '</form>';  
    

    echo '</td>';

    dito.

    echo '</table>';

    if( !empty($_POST[type]) ) $giftType = $_POST[type];

    dito.

    usw.

    In dem Chaos verlieren sich dann auch mal schnell schließende Klammern ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. @@MudGuard:

      nuqneH

        send\_gift( $user, $friends, $giftId );  
      

      /************************************************/
      /* Publish Stream */
      /************************************************/

      $name = $appTitle;

      Aus welchem Grund ist die letzte der von mir zitierten Zeilen anders eingerückt als die erste?

      Ist sie?

      dito³ usw.

      SCNR.

      In dem Chaos verlieren sich dann auch mal schnell schließende Klammern ...

      … und Leerzeichen.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. $name = $appTitle;

        Aus welchem Grund ist die letzte der von mir zitierten Zeilen anders eingerückt als die erste?

        Ist sie?

        Das kommt darauf an ob die Klammer davor oder danach fehlt :)

        Das würde man aufgrund der Einrückung dann sofort sehen.

        Sollte die Einrückung hier passen, ist es (ohne den Code gelesen zu haben) naheliegend dass die Klammer für das else davor (Zeile 58) fehlt.

      2. Hi,

          send\_gift( $user, $friends, $giftId );  
        

        $name = $appTitle;
        Aus welchem Grund ist die letzte der von mir zitierten Zeilen anders eingerückt als die erste?
        Ist sie?

        Ja - im Originalposting ist das zu sehen. Die Spaces/Tabs sind nach Entfernen der code-Tags (wegen Aufteilen des Zitats) nicht mehr zu sehen.

        … und Leerzeichen.

        Die sind noch vorhanden, werden aber vom HTML nicht angezeigt.

        In der Antwort-Textarea sind sie aber wieder zu sehen.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    2. In dem Chaos verlieren sich dann auch mal schnell schließende Klammern ...

      Ein guter Editor mit Klammernhervorhebung wirkt hier auch schon wunder - dennoch würde ich auch vorschlagen, ebenfalls sauber einzurücken.

  2. Hi!

    Heyho, ich nutze ein Script für eine Facebook App, jedoch erhalte ich jedesmal den Fehlercode:
    Parse error: syntax error, unexpected $end in /home/www/web173/html/gift/index.php on line 163

    Da sind drei geschweifte Klammern, die nicht geschlossen wurden, zwei ziemlich am Anfang und die dritte beginnend in Zeile 103. Nimm dir einen Editor, der Klammernpaare hervorheben kann, beispielsweise Notepad++, dann findest du die Übeltäter, wenn du den Cursor vor oder nach eine Klammer stellst.

    Außerdem sind neben unsinnigem Umkopieren von $_GET/$_POST-Variablen und nicht gesetzten Anführungszeichen (Why is $foo[bar] wrong?) mal wieder nicht beachtete Kontextwechsel zu finden, sowohl beim Einfügen von Daten in SQL-Statements und auch in HTML.

    Lo!