2013-12-17 112 views
1

我有php包含的問題,如果我包含文件,我看到錯誤Object not found。我不知道該怎麼做..我試圖改變文件路徑,但它沒有幫助。我只看到錯誤...
的HtmlPhp包含問題

<div id="search" class="fleft"> 
     <form action="lib/search.php" method="post"> 
      <input type="text" name="searchText" placeholder="Search tweet!"> 
      <input type="submit" name="search" value="Search"/> 
     </form> 
    </div> 


<ul id="tweetDisplay"> 

      <p>Tweets: </p> 
      <?php 
include 'lib\search.php'; 
      $searchQuery = $_SESSION['searchQuery']; 
      while($row = mysql_fetch_array($searchQuery)){ 
      echo "----------------------------------------------"; 
      echo "<li>Nickname: ".$row['nickname']."</li><li>".$row['text']."</li><li class='date'>".$row['pubdate']."</li>"; 
      } 
      ?> 
     </ul> 

PHP腳本

<?php 
include "connect.php"; 
session_start(); 
if ($_POST['searchText']){ 

    $searchQuery = mysql_query("SELECT u.nickname, t.text, t.pubdate FROM 111212_tweets t INNER JOIN 111212_users AS u ON t.user_id = u.id WHERE t.text LIKE '%" . $_POST['searchText'] . "%' ORDER BY t.pubdate DESC"); 
     $_SESSION['searchQuery'] = $searchQuery; 
     header('Location: ../main.php'); 

    }else { 
     $searchQuery = mysql_query("SELECT u.nickname, t.text, t.pubdate FROM 111212_tweets t INNER JOIN 111212_users AS u ON t.user_id = u.id ORDER BY t.pubdate DESC"); 
     $_SESSION['searchQuery'] = $searchQuery; 
      header('Location: ../main.php'); 
} 


?> 
+2

如何將這兩個文件結合在一起? – Machavity

+0

我使用'include'lib \ search.php'將php腳本包含到html中;''search.php是一個腳本文件名。我發現我寫了'lib \ search.php'',寫錯了斜槓,但是當我編輯它時,沒有任何變化 – vladja

回答

0

你使用的是Windows?如果是的話,你需要在你的路徑雙斜槓:include 'lib\\search.php';

更新:您需要插入<?php session_start(); ?>或包括您的文件在您的第一個文件的頂部。

你有一個錯誤,因爲你在第二個文件中調用session_start();,你的php輸出數據後,你需要調用session_start();之前任何輸出發送到瀏覽器。

UPDATE:更改爲header('Location: ../main.php');header('Location: main.php');

您需要刪除您的第二個重定向(頭位置):

<?php 
include "connect.php"; 
session_start(); 
if ($_POST['searchText']){ 
    $searchQuery = mysql_query("SELECT u.nickname, t.text, t.pubdate FROM 111212_tweets t INNER JOIN 111212_users AS u ON t.user_id = u.id WHERE t.text LIKE '%" . $_POST['searchText'] . "%' ORDER BY t.pubdate DESC"); 
    $_SESSION['searchQuery'] = $searchQuery; 
    header('Location: ../main.php'); 
}else { 
    $searchQuery = mysql_query("SELECT u.nickname, t.text, t.pubdate FROM 111212_tweets t INNER JOIN 111212_users AS u ON t.user_id = u.id ORDER BY t.pubdate DESC"); 
    $_SESSION['searchQuery'] = $searchQuery; 
} 
?> 
+0

沒有工作。當我包含我的腳本我看到一個錯誤,但我有一個重定向回頁面,也許問題的某處重定向?但它會很奇怪,因爲我在另一個腳本中使用了相同的路徑,它的工作原理是 – vladja

+0

使用DIRECTORY_SEPARATOR而不是'\\' – falinsky

+0

我現在使用的是''lib/search.php「',但我有相同的結果 – vladja