2013-10-06 45 views
0

當用戶向表單輸入名稱時。如何顯示名稱到另一個網頁? 所以我有2個網頁,這是PHP/HTML如何顯示名稱到另一個網頁?

網頁1:

<html> 
<body> 
    <form action="lol.php" method="post" <div id="name"> 
     <label for="txtname">name: </label> <br/> 
     <input type="text" name="txtname" value="" /> </div> 
</html> 

網頁2:

<html> 
    <body> 
    <p> echo 'welcome! $_POST 
</html> 

huhuhu所以下一步該做什麼? :(IM還挺新的PHP請溫柔的傢伙TNX

回答

1

你缺少關閉<form>標籤,缺少補充submit按鈕,我有固定的形式,它應該是這樣......

網頁。 HTML

<form action="lol.php" method="post"> 
<div id="name"> 
     <label for="txtname">name: </label> <br/> 
     <input type="text" name="txtname" value="" /> 
     <input type="submit"> 
</div> 
</form> 

lol.php

<?php echo "Welcome!" .$_POST['txtname']; ?> 


注意

您還可以使用$_REQUEST打印的名字..

<?php echo "Welcome!" .$_REQUEST['txtname']; ?> 
0

頁:1

<html> 
<body> 
    <form action="lol.php" method="post" <div id="name"> 
     <label for="txtname">name: </label> <br/> 
     <input type="text" name="txtname" value="" /> </div></form> 
</html> 

頁:2

<?php 
echo "Welcome ".$_POST['txtname']; 
?> 
0

你缺少關閉<form>標籤,缺少補充submit button

webpage.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>webpage</title> 
</head> 
<body> 
    <form action="lol.php" method="post" name="form" id="form"> 
     <div id="name"> 
      <label for="txtname">name: </label> 
      <br/> 
      <input type="text" name="txtname" id="txtname" /> 
      <input type="submit" name="submit" id="submit" value="Submit"> 
     </div> 
    </form> 
</body> 
</html> 

lol.php

<?php 
if((isset($_REQUEST['submit']) && trim($_REQUEST['submit']) =='Submit')) 
{ 
    $txtname = addslashes(trim($_REQUEST['txtname'])); 

    echo "Welcome ".$txtname; 
} 
?> 
2

作爲除已有的答案:一個非常重要的事情,以保持考慮到針對Cross Site Scripting attacks的保護。你必須假設「所有輸入都是邪惡的!」。用戶不僅可以輸入他們的名字或類似的名稱,還可以輸入JavaScript(XSS或甚至持久的XSS,如果保存輸入)或部分SQL查詢來執行SQL注入。

假設您的腳本接受GET或POST的變量txtname(這是$_REQUEST的含義)。你有這樣的代碼:

<?php echo "Welcome!" .$_REQUEST['txtname']; ?> 

一個可以建立這樣一個鏈接:

http://yourhost/yourscript.php?txtname=<script%20type="text/javascript">alert("This%20might%20also%20be%20an%20evil%20script!");</script> 

然後一個使用網址縮短服務,建立上述某個貌似無害的鏈接重定向到攻擊者的網址,例如

http://short.xy/dfudf7 

這會將用戶重定向到上面的惡意JavaScript鏈接。然後你的網站將執行任何JavaScript或嵌入的邪惡iframes或攻擊者想要的任何東西。您的用戶/客戶只會在地址欄中看到您的網站,並會認爲所有來自您的網站,儘管黑客向他們所查看的網站添加了惡意內容。因此,無論何時您輸出直接或間接來自用戶輸入的內容(無論是通過$_REQUEST讀取還是從數據庫中獲取),都必須確保HTML特殊字符如<和>不能工作更多! php提供的功能htmlspecialchars轉義這些危險字符。然後,它們就像文本一樣顯示,不能用作HTML/JavaScript。

順便說一下,這不是針對SQL注入的保護。如果您打算稍後使用數據庫,則還必須查找該數據庫。同樣在這個區域中有功能在將用戶輸入傳遞給數據庫之前「去除」用戶輸入。

相關問題