2015-10-10 85 views
-3

當提交搜索時,我試圖在頁面主體中回顯某個html,但我所得到的是沒有html echo'd的頁面,我看不到該問題。PHP在顯示搜索結果時沒有回顯HTML

function search($lname,$postcode){ 

    $stmt->prepare("SELECT * FROM clients WHERE lname=:lname AND postcode=:postcode"); 
    $stmt->execute(array(':lname'=>$lname, ':postcode'=>$postcode)); 
    $userRow=$stmt->fetch(PDO::FETCH_ASSOC); 
} 

if(isset($_POST['search'])){ 
    $lname = $_POST['lname']; 
    $postcode = $_POST['postcode']; 
    $result = search($lname, $postcode); 
    if ($result['rating'] == 'good') { 
     $user->redirect('./results.php?good'); 
    } 
} 

感謝

+2

沒有人會檢查所有這些代碼。做調試並找到問題部分。 –

+0

縮小它,但現在沒有產生任何錯誤,總是加載?即使當細節正確,並在分貝 –

+0

搜索功能未被用於您所顯示的代碼.. – chris85

回答

1

我很難告訴你的search功能是用來但錯誤是:

  1. 你不中,提供的代碼呼籲search功能。 我想它應該被稱爲像

    if(isset($_POST['search'])){ 
        $lname = $_POST['lname']; 
        $postcode = $_POST['postcode']; 
        $result = search($lname, $postcode); // or maybe this->search 
    
  2. 下一個要檢查的東西rating關鍵。我無法理解什麼。什麼是$_GET['rating'];?確定它是一些字符串變量,如果是 - 它沒有密鑰rating。那麼我想你想查一下rating的關鍵,用search函數返回? ,它可以像做:

    $lname = $_POST['lname']; 
    $postcode = $_POST['postcode']; 
    $result = search($lname, $postcode); // or maybe this->search 
    if ($result['rating'] == 'good') { /* do something */ } 
    

但是這還不是全部。如您目前的實施search返回bool,明顯沒有rating密鑰$result。所以,我認爲你應該返回$userRow,並在其中檢查rating鍵:

function search($lname,$postcode){ 
    $stmt = $this->db->prepare("SELECT * FROM clients WHERE lname=:lname AND postcode=:postcode"); 
    $stmt->execute(array(':lname'=>$lname, ':postcode'=>$postcode)); 
    $userRow=$stmt->fetch(PDO::FETCH_ASSOC); 
    var_dump($userRow); // for test purposes 
    return $userRow; 
} 
+0

感謝您的回答,我之前實施了搜索調用,但會回去嘗試,因爲這些繼續投擲'致命錯誤:當不在/ home/galllwjo/public_html/Customer/ClientCheck/clients/search中的對象上下文中時使用$ this 27號線上的.php我會在完成後編輯我的帖子。 –

+0

任何想法,我試圖讓你的工作,但保持相同的錯誤。帖子編輯 –

+0

和27號線是什麼?你確定這個錯誤與搜索方法有關嗎? –

0
if(isset($_POST['search'])){ 
    $lname = trim($_POST['lname']); 
    $postcode = trim($_POST['postcode']); 

    if($lname==""){ 
     $error[] = "Provide Last Name."; 
    }else if($postcode==""){ 
     $error[] = "Provide Postcode."; 
    }else{ 
     try{ 
      $stmt = $conn->prepare("SELECT * FROM clients WHERE lname=:lname AND postcode=:postcode"); 
      $stmt->execute(array(":lname"=>$lname, ":postcode"=>$postcode)); 
      $userRow=$stmt->fetch(PDO::FETCH_ASSOC); 

      if($userRow['rating'] == ''){ 
       $user->redirect('./results.php?notfound'); 
      }else{ 
       if($userRow['rating'] == 'good'){ 
        $user->redirect('./results.php?good'); 
       } 
       if($userRow['rating'] == 'caution'){ 
        $user->redirect('./results.php?caution'); 
       } 
       if($userRow['rating'] == 'badnopay'){ 
        $user->redirect('./results.php?badnopay'); 
       } 
       if($userRow['rating'] == 'badabusive'){ 
        $user->redirect('./results.php?badabusive'); 
       } 
       if($userRow['rating'] == 'badlate'){ 
        $user->redirect('./results.php?badlate'); 
       } 
      } 
     } 
     catch(PDOException $e){ 
      echo $e->getMessage(); 
     } 
    } 
}