PHP/HTML 如何向另一个网页显示名称


PHP/HTML how to display name to another webpage?

当用户在表单中输入名称时。 如何将名称显示到另一个网页?所以我这里有 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;
}
?>