2012-11-28 47 views
2

我在PHP和HTML中輸入簡單的代碼。我怎樣才能在不同的窗口選項卡或頁面顯示結果在瀏覽器的同一頁?如何在瀏覽器的同一頁中獲取HTML表單結果?

以下是簡單的HTML公式代碼:

要在同一頁面上添加兩個數字並顯示

<html> 
<head> 
    <title> Sum of two numbers </title> 
<body> 

    <form action="sum.php" method="POST"> 
    First Number: <input type="Text" Name="Num1"><br> 
    Second Number: <input type="Text" Name="Num2"><p> 
    <input type="Submit" value="Calculate"> 
    </form> 

</body> 
</html> 

sum.php文件如下。

<?php 
// add First and Second Numbers 
$sum = $_POST["Num1"] + $_POST["Num2"]; 
// their sum is diplayed as 
echo "The sum of First Number (".$_POST["Num1"].") and 
Second Number (".$_POST["Num2"].") is $sum"; 
?> 
+0

你既可以將表格提交到同一頁面的形式或使用JavaScript –

+2

搜索使用Ajax提交表單... – jtheman

回答

4
<html> 
<head> 
    <title> Sum of two numbers </title> 
<body> 

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 
    First Number: <input type="Text" Name="Num1"><br> 
    Second Number: <input type="Text" Name="Num2"><p> 
    <input type="Submit" value="Calculate"> 
    </form> 

<?php 
if (count($_POST) > 0 && isset($_POST["Num1"]) && isset($_POST["Num2"])){ 
    // add First and Second Numbers 
    $sum = $_POST["Num1"] + $_POST["Num2"]; 
    // their sum is diplayed as 
    echo "The sum of First Number (".$_POST["Num1"].") and 
    Second Number (".$_POST["Num2"].") is $sum"; 
} 
?> 
</body> 
</html> 
+0

這個答案會更好,如果它解釋爲什麼** **有效。 – KatieK

+0

正如你在上面看到的,我有兩個文件分開的HTML和PHP。通過表單操作,我可以連接sum.php,但是當我運行我的html表單並在其中輸入數據時,結果會顯示在另一個瀏覽器頁面中。現在KeyboardSmasher已經合併了html和php文件,並添加了一些代碼,如echo $ _SERVER ['PHP_SELF'],這有助於我顯示在同一頁面顯示的結果。您可以運行代碼來查看其工作。 – Kai

+1

我只想說,我認爲有趣的是,我們都沒有注意到缺少「閉頭標籤」:P好東西瀏覽器並不關心HTML是否有效。 :) – keyboardSmasher

2

您必須將PHP代碼和HTML代碼結合到同一文件中。
然後,您只需將窗體操作設置爲同一頁面即可。

1
<html> 
<head> 
    <title> Sum of two numbers </title> 
<body> 
<?php 
if($_POST["Num1"]=='' And $_POST["Num2"]==''){ 
?>  
    <form action="sum.php" method="POST"> 
    First Number: <input type="Text" Name="Num1"><br> 
    Second Number: <input type="Text" Name="Num2"><p> 
    <input type="Submit" value="Calculate"> 
    </form> 
<?php }else{ 
// add First and Second Numbers 
$sum = $_POST["Num1"] + $_POST["Num2"]; 
// their sum is diplayed as 
echo "The sum of First Number (".$_POST["Num1"].") and 
Second Number (".$_POST["Num2"].") is $sum"; 
} ?> 
</body> 
</html> 

and sum.php file is as follows. 
+0

但你的意思是「沒有重新加載頁面的形式是」,那麼shuld是不同的代碼。 –

+0

這會用「未定義索引」通知填滿您的日誌。 – keyboardSmasher

相關問題