简体   繁体   English

在HTML锚href中使用$ _SESSION的问题

[英]Problem on using $_SESSION inside HTML anchor href

I have a sample code here 我这里有一个示例代码

<li><a href="<?php $_SESSION['category']= 'A'; echo 'sample.php'; ?>">A</a></li>
<li><a href="<?php $_SESSION['category']= 'B'; echo 'sample.php'; ?>">B</a></li>
<li><a href="<?php $_SESSION['category']= 'C'; echo 'sample.php'; ?>">C</a></li>
<li><a href="<?php $_SESSION['category']= 'D'; echo 'sample.php';?>">D</a></li>
<li><a href="<?php $_SESSION['category']= 'E'; echo 'sample.php';?>">E</a></li>
<li><a href="<?php $_SESSION['category']= 'F'; echo 'sample.php'; ?>">F</a></li>
<li><a href="<?php $_SESSION['category']= 'G'; echo 'sample.php';?>">G</a></li>
<li><a href="<?php $_SESSION['category']= 'H'; echo 'sample.php';?>">H</a></li>
<li><a href="<?php $_SESSION['category']= 'I'; echo 'sample.php';?>">I</a></li>
<li><a href="<?php $_SESSION['category']= 'J'; echo 'sample.php';?>">J</a></li>

as you can see i am trying to save into session the letter to be sent into sample.php. 如您所见,我正在尝试将要发送到sample.php的信件保存到会话中。 But even if i press 'B' what gets sent over to the sample.php is 'J' (the last letter) . 但是,即使我按“ B”键,发送到sample.php的内容仍是“ J”(最后一个字母)。 tried clicking the other letters too its always 'J'. 尝试单击其他字母也总是单击“ J”。

can anybody help on what i am doing wrong? 有人可以帮我做错什么吗?

Thank you very much 非常感谢你

Try this 尝试这个

<a href="sample.php?value=A">A</a></li>
<a href="sample.php?value=B">A</a></li>
<a href="sample.php?value=C">A</a></li>

It's because your PHP code run and return the HTML output to your browser. 这是因为您的PHP代码正在运行,并将HTML输出返回到浏览器。 Because of that, all of them are 'J'. 因此,它们都是“ J”。

For solve the problem use code like this: 为了解决问题,请使用如下代码:

<li><a href=“sample.php?v=A”>A</a></li>
<li><a href=“sample.php?v=B”>B</a></li>
<li><a href=“sample.php?v=C”>C</a></li>

And you can get v value in your sample.php with this code: 您可以使用以下代码在sample.php中获得v值:

<?php
$linkv=$_GET[“v”];

If ($linkv==“A”)
{
   //write your code here
}

If ($linkv==“B”)
{
   //write your code here
}

If ($linkv==“C”)
{
   //write your code here
}

?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM