GuldstrandMedlem sedan juli 20041 274 inlägg
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
WHERE gid = $this->gid"); ?
The_HulkMedlem sedan juni 20031 937 inlägg
den här raden ser konstig ut
WHERE gid = $this->gid");
GuldstrandMedlem sedan juli 20041 274 inlägg
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
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
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
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
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
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.