PHP / HTML如何将名称显示到另一个网页?

时间:2013-10-06 05:12:17

标签: php html

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

4 个答案:

答案 0 :(得分:2)

作为现有答案的补充:要记住的一件非常重要的事情是防范Cross Site Scripting attacks。你必须假设“所有输入都是邪恶的!”。用户不仅可以输入他们的名字或类似名称,还可以输入JavaScripts(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特殊字符如&lt;和&gt;不再工作了! php为转义这些危险字符提供了函数htmlspecialchars。然后它们就像文本一样显示,不能用作HTML / JavaScript。

顺便说一下,这不是针对SQL注入的保护。如果您打算稍后使用数据库,则还必须查找该数据库。此区域还有一些功能可以在将用户输入传递到数据库之前对其进行“除”。

答案 1 :(得分:1)

您缺少关闭<form>代码,缺少添加submit按钮,我修复了您的表单,它应该像...

<强> webpage.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']; ?>

答案 2 :(得分: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'];
?>

答案 3 :(得分: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;
}
?>