webForumDet fria alternativet

syntax error, unexpected '='

PHPur PHP

8 svar · 1 268 visningar · startad av Guldstrand

Medlem sedan juli 20041 271 inlägg
Frågan#1

Finns det någon som kan hitta ett fel i följande klass:

class Gift {

    // define properties
    public $gid;
	public function __construct() {
		$this->gid = null;
		$this->fields = array( 	'title' => '',
								'image' => '',
								'price' => 0,
								'category_title' => '');
	}

	// return an object populated based on the record's user id
	public static function getById($gift_id) {

		$gift = new Gift();

		$row = mysql_fetch_assoc($res);

		$gift->gid = $gift_id;
		$gift->image = htmlspecialchars($row["gImage"]);
		$gift->price = $row[gPrice];
		$gift->hit = intval($row["gHit"]);
		$gift->category = intval($row["gCat"]);
	
		$rs = query("SELECT * FROM gifts_category WHERE catid = " .intval($row["gCat"]). "");
		$rw = mysql_fetch_assoc($rs);

		$gift->category_title = htmlspecialchars($rw["catTitle"]);

		mysql_free_result($res);
		return $gift;
	}

	// save the record to the database
	public function save() {

				gTitle = $this->title,
				gImage = $this->image,
				gPrice = $this->price,
				gHit = $this->hit,
				gCat = $this->category
				 	WHERE gid = $this->gid");
		}
	}

}
Medlem sedan feb. 20005 891 inlägg
#2

WHERE gid = $this->gid"); ?

Medlem sedan juni 20031 837 inlägg
#3

den här raden ser konstig ut

WHERE gid = $this->gid");

Medlem sedan juli 20041 271 inlägg
#4

Jo, jag tyckte det med.
Blir dock ingen skillnad om jag tar bort ".

Får fortfarande detta i error-loggen:

[Fri Feb 18 10:53:46 2011] [error] [client ***********] PHP Parse error: syntax error, unexpected '=' in /*****/inc/Gift.php on line 40

Rad 40:

gTitle = \"$this->title\",

EDIT:
Problemet verkar alltså ligga i denna funktion:

	public function save() {

				gTitle = \"$this->title\",
				gImage = \"$this->image\",
				gPrice = $this->price,
				gHit = $this->hit,
				gCat = $this->category
				 	WHERE gid = $this->gid);
		}

P.s. Det FINNS ett '\' efter gTitle = , men det vill inte visas här i forumet.

Medlem sedan juli 20041 271 inlägg
#5

Funktionen "save" används sedan i följande kod:

if( isset($_POST['sendGift']) ) {

	$giftId = intval($_POST['giftId']);
	$friends = intval($_POST[friend_selector_id]);

	if( empty($giftId) ) {
		echo '<div class="noticeBox">';
		echo '<h2>Du glömde att välja en gåva!</h2>';
		echo '</div>';
	}
	else if( empty($friends) ) {
		echo '<div class="noticeBox">';
		echo '<h2>Du glömde att välja dina vänner!</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 ); 
		}
Medlem sedan feb. 20005 891 inlägg
#6

Guldstrand skrev:

EDIT:
Problemet verkar alltså ligga i denna funktion:

	public function save() {

				gTitle = \"$this->title\",
				gImage = \"$this->image\",
				gPrice = $this->price,
				gHit = $this->hit,
				gCat = $this->category
				 	WHERE gid = $this->gid);
		}

P.s. Det FINNS ett '\' efter gTitle = , men det vill inte visas här i forumet.

Är nästan säker på att något saknas här, t.ex med inledande parantes?

Medlem sedan juni 20014 290 inlägg
#7

Vad är det du vill göra?

public function save() {

                gTitle = "$this->title\",
                gImage = \"$this->image\",
                gPrice = $this->price,
                gHit = $this->hit,
                gCat = $this->category
                     WHERE gid = $this->gid);
        }

Detta är inte PHP kod.

Medlem sedan juni 20031 837 inlägg
#8

Det verkar saknas väldigt mycket kod i save-metoden.
Där finns t.ex. inga databasanrop.
Är det du själv som har skrivit koden eller plockat den från något annat ställe?

Medlem sedan juli 20041 271 inlägg
#9

The_Hulk skrev:

Det verkar saknas väldigt mycket kod i save-metoden.
Där finns t.ex. inga databasanrop.
Är det du själv som har skrivit koden eller plockat den från något annat ställe?

Jag har hittat koden/scriptet på nätet, så det är inte jag själv som har skrivit den.

P.s. Jag tror nog att jag lämnar detta script, och försöker att leta på ett annat.

130 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)