2012-12-13 75 views
0

我有一個鏈接http://mywebsite.com/referral/dafa60b2b96c366e165be58649755742Zend公司得到的數據庫記錄錯誤

隨着參數dafa60b2b96c366e165be58649755742

當時試圖獲取參數連接到數據庫來獲取用戶信息,但它最終得到沒有對象:公告:試圖讓行非對象的屬性.....

這裏是我的代碼:

的application.ini:

resources.router.routes.referralSelectProduct.route = 「/轉診/:URL」 resources.router.routes.referralSelectProduct.defaults.controller =索引 resources.router.routes.referralSelectProduct.defaults.action = referral-選擇副產物 resources.router.routes.referralSelectProduct.reqs.url = 「[0-9A-ZA-Z] +」

控制器:

public function referralSelectProductAction() 
{ 
    $referral_url = $this->getRequest()->getParam('url'); 
    $user = $this->_helper->model('Users')->fetchRowByFields(array('url' => $referral_url)); 

    setcookie('referral_url', $referral_url, time() + 3600*24*30, '/'); 
} 

模型:

class Application_Model_DbTable_Users extends Sayka_Db_Table_Abstract{ 
protected $_rowClass = 'Application_Model_DbTable_Row_User';protected $_name = 'users';} 

觀點:

<div id="content_bottom" class="content"><br/> 
<h1>Select the product to refer your friend <span class="colorset_orange"><?php echo $this->user()->first_name; ?></span>.</h1> 
<div><a class="refer_submit" href="?email=<?php echo $this->user()->email ?>&first_name=<?php echo $this->user()->first_name; ?>&last_name=<?php echo $this->user()->last_name; ?>" id="btn_free_download">Free Download</a></div> 
<div><a class="refer_submit" href="#" id="btn_buy_now">Buy Now</a></div> 

我的觀點最終得到沒有在數據庫中用戶的對象。

+0

你能明確告訴我們,你是從哪裏得到錯誤,並顯示上下文代碼到哪裏你得到那個錯誤?這個錯誤非常明顯,因爲你正試圖在一個對象上進行操作,但是你認爲擁有一個對象的變量沒有。 –

+0

它實際上在視圖上時,我回聲$ this-> user() - >所有這些回聲給出一個錯誤。它沒有得到該用戶的數據庫記錄 – user1892860

+0

你甚至沒有顯示調用'$ this-> user()'的任何代碼行。很顯然'user'對象沒有設置,你只需要通過你的代碼進行調試來找出原因。 –

回答

0

如果我沒有記錯(用於Zend框架1. *):

// Controller 
... 
$this->view->user = $this->_helper->model('Users')->fetchRowByFields(array('url' => $referral_url)); 


// View 
echo $this->user->email; 

確保此$this->_helper->model('Users')->fetchRowByFields(array('url' => $referral_url))回報你,你期待什麼。 var_dump它在控制器中

+0

是的,我檢查,第一次獲取用戶信息,然後我嘗試與另一個瀏覽器,然後我得到一個錯誤,可以是控制器中的setCookie嗎? – user1892860

+0

如果錯誤取決於瀏覽器,則Cookie可能會成爲問題。取決於你在js中使用它做什麼。你能發佈那個錯誤嗎? –

+0

選擇產品以引用您的朋友注意:嘗試在第20行的/home/refer/application/views/scripts/index/referral-select-product.phtml中獲取非對象的屬性。 – user1892860