单击链接将会话变量传递到下一页

时间:2010-08-30 23:56:32

标签: php javascript session variables

我有一个页面,我使用PHP while循环来回显我们经销商的名称和地址。对于电子邮件链接,我希望用户能够单击该链接,然后将其带到通过电子邮件发送给该人的表单。

我知道你不能混用Javascript和PHP,所以如何判断用户点击了哪个链接,以便我可以将该变量传递给下一页的表单?这是我的代码:

<?php while($row = mysql_fetch_array($result)) { 
          if ($row['active'] == 1) {

?>

      <div id="dealer">

          <div id="dealername">
              <h3 style="float:left;"><?php echo $row['company']; ?></h3><br/>
              <p><?php echo $row['address1']; ?><br/>
                 <?php if($row['address2'] || $row['address3']) { 
                        echo $row['address2'] . ' ' . $row['address3'] . '<br/>'; } ?>
                 <?php echo $row['city']; 
                 if ($row['state']) {
                          echo ', ' . $row['state'];
                  }
                  echo '&nbsp;&nbsp;' . $row['zip']; ?>
                  <br />
                  <?php echo $row['country']; ?>

                  <br />
                  <br />
                  Phone: <strong><?php echo $row['phone1']; ?></strong><?php if ($row['phone2']) {
                      echo ' or ' . $row['phone2']; } ?><br/>
                  <?php if($row['fax']) { echo 'Fax: ' . $row['fax'];  } ?><br />
              </p>
          </div>

          <?php if ($row['email']) {
              echo '<div class="dealerEmail">'. // need help here . '</div>';

            } ?>

        <br class="clearall" />
        </div>




<?php }} ?>

此代码显示的页面是使用基于类似“index.php?state = az”的URL的GET语句从数据库中提取数据。

我试过让电子邮件链接使用“?email = ...”格式但是当我转到dealer-email.php页面时,URL中没有参数,我没有参考。这就是为什么我试图找到一些其他方法将某种变量传递到下一页,这取决于用户点击的链接。

希望这很清楚。在此先感谢您的帮助。

3 个答案:

答案 0 :(得分:5)

这应该可以正常工作:

<a href="somepage.php?email=<?php echo $row['email']; ?>">contact dealer</a>

然后您在somepage.php页面中检索数据:

if(isset($_GET['email']))
    $email = $_GET['email'];
else
    //redirect somewherelse

答案 1 :(得分:2)

  

我知道你不能混用Javascript   和PHP

事实并非如此。 Javascript是客户端脚本语言,PHP是服务器端脚本。它们在不同的时间在不同的机器上运行,并且运行得很好。

混合使用Javascript和PHP可能是一种心理挑战并且存在陷阱,但它肯定可以完成,而且通常都可以完成。

答案 2 :(得分:0)

您可以完全跳过电子邮件表单,并在链接中包含mailto属性。

<a href="mailto:<?php echo $row['email'];?>">contact dealer</a>

这将打开用户的默认电子邮件客户端新消息窗口,其中填写了地址。我知道您可能希望使用自定义表单来阻止某人向您的所有联系人发送垃圾邮件,但如果这是登录用户的受限区域或者是一个内联网站点,这可能会有效。