将控制传递给另一个带链接的页面不会将变量发送到另一个页面

时间:2012-11-21 22:03:33

标签: php html

由于我是新手,我可能会做很多糟糕的步骤,并且犯了一些我无法弄清楚的错误。 第一个设置了uid,pwd。第二个设置fname。 以下行由以下代码创建:

   session_start();
if (isset($_POST['fname']))
{
$uid    =   $_POST['uid'];                  #   $uid contains "myname"
$pwd    =   $_POST['pwd'];                  #   $pwd contains "myapss"
$fname  =   $_POST['fname'];            #   $fname contains "john doe"    as expected...
echo $uid.$pwd.$fname;              #   This echo confirms that the variavbles were received (debugging only)
$_SESSION   = $uid;             #------------------
}
else
whatever 

这是我遇到麻烦的地方: 我设置了< href =如下:(“a”已从此帖中删除,因为它保留了单词)。

    $hrefed     =   ('<  href="edit_user.php?');
$hrefed     .=  ("{id='$uid' ,");
$hrefed     .=  ("pwd='$pwd' ,"); 
$hrefed     .=  ("fname='$fname'}"); 
$hrefed     .=  ('">Edit Selected Info</a>');

并转换为:

    <  href="edit_user.php?{id='myname' ,pwd='mypass' ,fname='john doe'}">Edit Selected  Info</a>

当点击创建的链接以将控制权传递给另一个程序时,我得到的消息是没有变量被发布。 有人可以告诉我一下将调用参数设置到另一页的正确方法

谢谢你,感恩节快乐。

1 个答案:

答案 0 :(得分:1)

试试这个:

$hrefed     =   ('<a href="edit_user.php?');
$hrefed     .=  ("&id=$uid");
$hrefed     .=  ("&pwd=$pwd"); 
$hrefed     .=  ("&fname=$fname"); 
$hrefed     .=  ('">Edit Selected Info</a>');

您在此处创建的内容称为GET查询字符串。在此处阅读更多内容:http://en.wikipedia.org/wiki/Query_string

另外,在脚本中使用$_GET代替$_POST

if (isset($_GET['fname']))
{
$uid    =   $_GET['uid'];                  #   $uid contains "myname"
$pwd    =   $_GET['pwd'];                  #   $pwd contains "myapss"
$fname  =   $_GET['fname'];            #   $fname contains "john doe"    as expected...
echo $uid.$pwd.$fname;              #   This echo confirms that the variavbles were received (debugging only)
$_SESSION   = $uid;             #------------------
}

在此处阅读有关HTTP请求方法的更多信息:http://en.wikipedia.org/wiki/GET_(HTTP)#Request_methods

这些将解决您当前的问题。

更严重的问题是您不应该只是在网页上打印用户密码。你甚至不应该存储密码,只是它的哈希值。如果这只是一个爱好项目,那没关系,但请记得在制作真实世界的网站之前先做一些关于基本网络安全的研究。

请参阅: