webForumDet fria alternativet

syntax error, unexpected '='

8 svar · 1 268 visningar · startad av Guldstrand

GuldstrandMedlem sedan juli 20041 274 inlägg
#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");
		}
	}

}
cascaMedlem sedan feb. 20003 262 inlägg
#2

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

The_HulkMedlem sedan juni 20031 937 inlägg
#3

den här raden ser konstig ut

WHERE gid = $this->gid");

GuldstrandMedlem sedan juli 20041 274 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.

GuldstrandMedlem sedan juli 20041 274 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 ); 
		}
cascaMedlem sedan feb. 20003 262 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?

GunnarDMedlem sedan juni 20014 250 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.

The_HulkMedlem sedan juni 20031 937 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?

GuldstrandMedlem sedan juli 20041 274 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.

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb