2011-03-08 116 views
1

嘿,我正在做一個腳本,檢查指定的字符串是否與check.php中的匹配。這裏是我的HTML代碼:HTML/PHP相同的頁面腳本

<form name="input" action="check.php" method="POST" id="key"> 
    Key: <input type="text" name="key" /> 
    <input type="submit" value="Submit" /> 
</form> 

但是,當它運行check.php它會轉到默認的白頁。有沒有辦法讓結果顯示在他們輸入信息的頁面上,如頂部或底部?這裏是我的check.php(只是用於測試ATM):

<?php 
    $key=$_POST['key']; 
    echo $key; 
?> 
+0

你需要查找AJAX – 2011-03-08 20:57:12

+1

此外,你應該*總*解析您收到任何數據通過POST/GET刪除惡意代碼。 – fredley 2011-03-08 20:58:03

回答

2

在這裏最簡單的例子,重命名您的.html文件.php。現在將PHP腳本粘貼到舊HTML文檔的正文中。將表單的操作更改爲空白(這會將表單發送到同一文檔)。現在你的表單文檔也輸出$ _POST ['key']。如果$ _POST ['key']的值是空的......你什麼也不迴應。您可能會收到警告消息,但沒有傷害。

+0

我意識到這可能有點混亂,所以讓我知道這是否需要更多的探索。 – 2011-03-08 21:01:45

+0

沒關係,我明白了,它的功能非常完美。我不知道爲什麼我沒有想到這一點。謝謝。 – Ivan 2011-03-08 21:12:06

+0

這種編程涉及用不同的方式構建網頁或編寫編譯代碼來思考事物。我很高興能夠提供幫助。 – 2011-03-08 22:35:33

0

您需要把Javascript代碼並將混合在這裏。看看jquery,特別是看看jQuery.get()函數。

這允許您在後臺從服務器檢索數據,然後使用基於服務器響應的JavaScript處理頁面。

最終你想要的是需要動態的CLIENT端。 PHP是一種服務器端腳本語言。

0
<?php 

if(isset($_POST['key']) { 
    $key=$_POST['key']; 
    echo $key; 
} else { 

?> 

<form name="input" action="check.php" method="POST" id="key"> 
Key: <input type="text" name="key" /> 
<input type="submit" value="Submit" /> 
</form> 
<?php } ?> 

其中check.php是您開始的頁面。請注意,我只是使用您的代碼來快速生成您正在查找的內容。您可能想要做的不僅僅是回顯密鑰,而且您可能希望使用格式更好的HTML代碼。

+0

我會在'if()'語句中移動'$ key = $ _ POST ['key'];'以避免任何'Notice'消息。 – drudge 2011-03-08 21:03:48

+0

@jnpcl事實上,我只是將OP的代碼複製並粘貼在一起,因爲它們已經很多了。 – 2011-03-08 21:06:36

0

你應該在你的check.php文件上顯示你的表單。 只有存在表單時,才需要顯示錶單的結果。我們如何做到這一點?檢查isset()函數。 (http://www.php.net/manual/en/function.isset.php) 您將有類似的東西:

<?php 
if(isset($_POST['key'])) { 
    $key=$_POST['key']; 
    echo $key; 
} 
?> 

<form name="input" action="check.php" method="POST" id="key"> 
    Key: <input type="text" name="key" /> 
    <input type="submit" value="Submit" /> 
</form> 
+1

在您的if()語句中缺少結束')'。 – drudge 2011-03-08 21:04:48

+0

確切的說,這是固定的謝謝。 – Artusamak 2011-03-08 21:17:23

0

你沒有你的check.php頁面上的任何指示,顯示任何東西,所以它將保持默認的白色頁面。我的建議是將HTML表單和PHP登錄放在同一頁面上,並將其發佈到自己的頁面中。然後,您可以檢查表單是否已提交,並對提交的數據進行任何數據驗證。

0

確保單個頁面是一個php文件。設置你的表單動作來指向它。

之後(或之前,或在中間)你的HTML,放像:

<?php 
if (isset($_POST['key'])) { 
    // stuff that only occurs if the user posted a form 

} 
?> 
0
<?php 
$key = null; 
if($_SERVER['REQUEST_METHOD'] == 'POST']) { 
    $key=$_POST['key']; 
} 
?> 
<form name="input" action="check.php" method="POST" id="key"> 
    Key: <input type="text" name="key" value="'<?php =$key?>/> 
    <input type="submit" value="Submit" /> 
</form> 
<?php 
if(!isNull($key)) echo $key; 
?> 
+0

你應該檢查''_POST ['key']'是否存在'isset()',否則它會拋出一個'Notice',如果不是。 – drudge 2011-03-08 21:12:28