2010-11-01 128 views
0

我遇到了get_post方法的問題。這裏是我的代碼:PHP:遇到問題get_post

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>Upload2</title> 
<link href="style.css" rel="stylesheet" type="text/css"> 
</head> 

<body> 

<h1> Welcome to my search Engine </h1> 

<?php 

# SETUP 
$thisFile = 'v4.php'; 

# INPUT FIELDS 
echo <<< END 
<form action="$thisFile" method="post"> 
<pre> 
Search <input type="text" name="searchTerm"/> 
     <input type="submit" value="Add Record"/> 
</pre> 
</form> 
END; 

# EXTRACT INPUTTED FIELDSA 
if(isset($_POST['searchTerm'])) { 

     # INITIALIZE INPUTTED VARIABLES 
     $mySearchTerm = get_post('searchTerm'); # <- PROBLEM LINE! 
     echo "You searched for: $mySearchTerm"; 
} 

?> 

</body> 
</html> 

該代碼在輸入搜索詞之前工作良好。在HTML看起來預期,該頁面顯示在瀏覽器中:

alt text

我輸入一個搜索詞的頁面看起來一樣之後,但會後查看 - >頁面源代碼我注意到一些有趣的事情。該頁面的最後是這樣的:

Search <input type="text" name="searchTerm"/> 
     <input type="submit" value="Add Record"/> 
</pre> 
</form> 

注:沒有結束</body></html>

+1

據我所知,PHP中沒有get_post函數。這是一個WordPress應用程序? – 2010-11-01 12:33:45

+0

因爲我發現我自己的試驗答案,我應該投票刪除這篇文章? – sixtyfootersdude 2010-11-01 12:34:34

+1

get_post()函數中包含什麼?這不是標準的PHP。 – Treffynnon 2010-11-01 12:34:48

回答

4

原來,get_post不是一個PHP的方法。我的教科書定義它的下一個頁面上:

function get_post($var){ 
    return mysql_real_escape_string($_POST[$var]); 
} 
+1

嘗試添加錯誤顯示代碼我發佈了http://stackoverflow.com/questions/4068855/php-having-a-problem-with-get-post/4068904#4068904看看爲什麼這可能會失敗。在這一點上你有沒有有效的數據庫連接? – Treffynnon 2010-11-01 12:38:39

+0

很高興你找到了答案。您應該確保在開發過程中在PHP.ini中打開了錯誤報告;如果你有這個問題,你會立即發現你的問題。 – Spudley 2010-11-01 12:43:07

+0

@Spudley:我該怎麼做?你能指出我對此的一些文件嗎? – sixtyfootersdude 2010-11-01 12:50:18

0

漏診includerequireget_post功能和語法分析器將推動誤差禁用錯誤報告。

而在腳本的頂部添加:

error_reporting(E_ALL); 
require_once('this_file_where_you_have_get_post.php'); 
0

當然,你可以改變:

$mySearchTerm = get_post('searchTerm'); # <- PROBLEM LINE! 

要:

$mySearchTerm = $_POST['searchTerm']; 
0

PHP中沒有get_post()函數也許你正在調用一個未定義的函數。

添加以下你的PHP代碼塊的頂部

ini_set('error_reporting', E_ALL); 
ini_set('display_errors', true); 

,看看它是怎麼回事。

1

我同意sixtyfootersdude。唯一缺少的是數據庫連接。

function get_post($conn, $var){ 
    return $conn->real_escape_string($_POST[$var]); 
}