当用户在表单中输入名称时。 如何将名称显示到另一个网页?所以我这里有 2 个网页
网页 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>
呼呼呼,那接下来呢? :(我有点不熟悉 php,请温柔一点 TNX
作为现有答案的补充:要记住的一件非常重要的事情是防止跨站点脚本攻击。你必须假设"所有的输入都是邪恶的!用户不仅可以输入他们的名字或类似的东西,还可以输入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>
然后使用 URL 缩短服务构建一个无害的链接,重定向到上面的攻击者的 URL,例如
http://short.xy/dfudf7
这会将用户重定向到上面的邪恶 JavaScript 链接。然后,您的网站将执行任何JavaScript或嵌入式邪恶iframes
或任何攻击者想要的东西。您的用户/客户只会在地址栏中看到您的网站,并且会认为所有来自您的内容,尽管黑客在他们查看的网站上添加了恶意部分。
因此,每当您输出直接或间接来自用户输入的内容(无论是由$_REQUEST
读取还是从数据库中获取(时,您都必须确保 HTML 特殊字符(如 <和>(不再起作用! PHP 提供了函数 htmlspecialchars 来转义这些危险字符。然后它们仅显示为文本,而不是作为HTML/JavaScript运行。和>
顺便说一下,这不是针对SQL注入的保护。如果您打算稍后使用数据库,您还必须寻找它。同样在这个区域中,有一些函数可以在将用户输入传递到数据库之前"排雷"用户输入。
您缺少关闭<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>
哈哈.php
<?php echo "Welcome!" .$_POST['txtname']; ?>
注意
您还可以使用$_REQUEST
打印名称。
<?php echo "Welcome!" .$_REQUEST['txtname']; ?>
: 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'];
?>
缺少关闭<form>
标记,缺少添加submit button
网页.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>
哈哈.php
<?php
if((isset($_REQUEST['submit']) && trim($_REQUEST['submit']) =='Submit'))
{
$txtname = addslashes(trim($_REQUEST['txtname']));
echo "Welcome ".$txtname;
}
?>