如何在php文件之间传递用户输入?

时间:2017-08-18 03:41:13

标签: php html

现在我有简单的电子邮件登录表单

<form action="one.php">
<input type="email" name="email"/>
</form>

one.php 是电子邮件过滤器gmail用户并将其标题为自定义路径

<?php

$email = $_POST['email'];

if (stripos($email, '@gmail.com') !== false) {
    header('Location: ../gmail/index.html');
} else {
 header('Location: /unknownusers');
}
?>

现在我们完成了第一页 我的问题是 如何通过电子邮件将姓名发送到另一个页面&#39; / gmailusers中的示例

<html>
<head>
</head>
<body>
<div> 
<font>Welcome back,</font>
<?php
include 'one.php'; 
  echo $email; ?>  
</div>
</body></html>

$ email在此不起作用,因为one.php没有保存信息

我怎么能做到这个

  

欢迎回复&#39; User.Email@gmail.com'

index.html 文件

中的

任何身体都可以帮助我使用PHP代码。

2 个答案:

答案 0 :(得分:1)

你所做的事情没有意义,但为了让它发挥作用,在two.php替换......

echo $email;

echo $_POST['email'];

HOWEVER 您正在one.php重新加载页面,因此永远不应执行上面的代码更改。 (你为什么这样做?)无论如何,如果安全性不是问题,在one.php你可以通过这样做将电子邮件传递给其他页面......

header('Location: ../gmail/index.html&email='.$_POST['email']);

然后,在index.html文件中,您可以访问变量$_GET['email']

如果安全性存在问题,则会变得更加复杂。

答案 1 :(得分:1)

最简单的方法是不使用location重定向,而只包括要显示的文件。

one.php

<?php

$email = $_POST['email'];

if (stripos($email, '@gmail.com') !== false) {
    include "gmail.php";
} else {
    header('Location: /unknownusers');
}

gmail.php

(此文件将替换gmail / index.html,因为大多数服务器配置都不会将.html文件传递给PHP处理器。)

<html>
<head>
</head>
<body>
<div> 
<font>Welcome back, <?php echo $email; ?></font>
</div>
</body></html>

在这种情况下,one.php向gmail用户显示gmail.php指示的内容,并将其他用户重定向到unknownusers页面。

如果您希望“登录”保持不变(因此您的服务器会记住此人是谁),您需要session