0

我有一个登录页面,用户在其中输入他的电子邮件和密码。然后将其传递到另一个页面(成功),在那里它们将具有不同的选项。

我需要做的是从我可以做的 prevoius 页面(登录)获取电子邮件地址,但随后我想将其添加到如下所示的 url。

第一部分工作正常(membersgoods.php?email= 但我无法获得电子邮件地址,我只收到文本 $email.

$email = $_POST['email']
echo '<a href="membersgoods.php?email=$email">    Click here to see your purchased goods</a>';

任何人都可以帮忙吗?

4

6 回答 6

1

它仅适用于双引号:

echo "<a href=\"membersgoods.php?email=$email\">Click here to see your purchased goods</a>";

解释

如果字符串用双引号 (") 括起来,PHP 将为特殊字符解释更多转义序列:

\n  linefeed (LF or 0x0A (10) in ASCII)
\r  carriage return (CR or 0x0D (13) in ASCII)
\t  horizontal tab (HT or 0x09 (9) in ASCII)
\v  vertical tab (VT or 0x0B (11) in ASCII) (since PHP 5.2.5)
\e  escape (ESC or 0x1B (27) in ASCII) (since PHP 5.4.0)
\f  form feed (FF or 0x0C (12) in ASCII) (since PHP 5.2.5)
\\  backslash
\$  dollar sign
\"  double-quote
  • 双引号字符串最重要的特性是变量名将被扩展。
  • 当用双引号或 heredoc 指定字符串时,会在其中解析变量。
于 2013-02-04T14:03:25.743 回答
1

您不能在 ' 中使用变量,但可以在 " 中使用它

echo "<a href=\"membersgoods.php?email=$email\">    Click here to see your purchased goods</a>";

或者

echo '<a href="membersgoods.php?email='.$email.'">    Click here to see your purchased goods</a>';
于 2013-02-04T14:03:52.983 回答
0

你把你的字符串放在单引号里..

echo '<a href="membersgoods.php?email='.$email.'"> Click here to see your purchased goods</a>';

于 2013-02-04T14:05:05.763 回答
0

尝试这样的事情:

<?php
   $query_string = 'mail=' . $_POST['email'];
   echo '<a href="mySite.php?' . htmlentities($query_string) . '">click</a>';
?>

希望这可以帮助。

\似乎我迟到了聚会:)

于 2013-02-04T14:05:42.000 回答
0

我认为您合并了表单的两种方法:获取和发布。

如果您使用“get”,所有属性都将写入 URL,您可以按 $_GET(或 $_REQUEST)访问。

如果您不使用“发布”,那么该操作将写入 url,您可以通过 $_POST(或 $_REQUEST)访问属性。

有了<form action="index.php" method="post">...</form>它就可以正常工作。

于 2013-02-04T14:20:28.970 回答
0

您在字符串周围有单引号,以防止变量扩展。

尝试

echo '<a href="membersgoods.php?email='. $email .'">    Click here to see your purchased goods</a>' ;

进一步阅读:stackoverflow.com 问题 14688343

于 2013-02-04T14:31:10.437 回答