繁体   English   中英

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

[英]click a link pass a session variable to the next page

我在一个页面上使用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 }} ?>

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

我尝试使电子邮件链接使用“?email = ...”格式,但是当我转到Dealer-email.php页面时,URL中没有任何参数,但我没有得到。 这就是为什么我试图根据用户单击的链接来寻找其他方式将某种变量传递给下一页的原因。

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

这应该工作正常:

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

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

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

我知道您不能混合使用Javascript和PHP

这不是真的。 Javascript是一种客户端脚本语言,而PHP是一种服务器端脚本。 它们可以在不同的时间,不同的机器上运行,并且可以正常运行。

混合使用Javascript和PHP可能是一个精神挑战,并且有很多陷阱,但是绝对可以做到,而且经常可以做到。

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

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

这将打开用户的默认电子邮件客户端新消息窗口,并填入地址。我知道您可能想使用自定义表单来防止某人向您的所有联系人发送垃圾邮件,但是如果这是登录用户的受限区域,或者Intranet网站,这可能有效。

暂无
暂无

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

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