1

HTML 中的现有代码允许访问者订购随附图像中显示的项目。现有代码使用表单和使用输入字段 (type="submit") 创建的“订购”按钮将适当的尺寸、价格、折扣和其他字段发送到 Yahoo 商店进行处理。

我需要更改此代码,以便在访问者单击“订购”按钮(在 PHP 中检查 $_SESSION)或单击“订购”按钮(onclick)之前检查用户是否已登录。如果用户未登录,则需要将访问者重定向到登录/注册页面,以便他们可以加入组织,然后将他们返回到他们之前所在的产品页面。如果他们已经成功登录,它应该提交表单并将变量发送到 Yahoo 商店。雅虎商店代码有效,我不希望任何人知道和/或对其进行故障排除,但我需要了解如何最好地:1)检查访问者是否已登录,2)如果已登录,请指定“订单”按钮是 type="submit" (目前是这样) 3) 如果未登录,指定“订购”按钮读取“登录”,并在单击时将访问者重定向到 login_logout.php 例程(弹出窗口),然后将访问者返回到之前的位置,他们现在可以看到原始状态的“订购”按钮,并且可以下订单。注意: session_start(); 正在另一个名为“login_logout.php”的 PHP 文件中处理。

The area that I'm working with is the <p class="submit"> paragraph.

原始 HTML 代码:

<form action="<!--#ystore_order id=ae009 -->" method="post">
  <h1><!--#ystore_catalog id=ae009 field=name --></h1>
  <div class="productImage">
    <!--#ystore_catalog id=ae009 field=image format=html -->
  </div>

  <div class="order">
   <p class="salePrice">
  <em>For Sale Price:</em>
  Enter your <a href="http://www.mydomain.com/coderequest.html" target="_blank"     class="external">promo code  </a> at checkout
   </p>
   <p class="regularPrice"><em>Regular Price</em> <!--#ystore_catalog id=ae009 field=price format=html --></p>
   <p class="options"><!--#ystore_catalog id=ae009 field=options format=html --></p>
   <p class="sole"><!--#ystore_catalog id=ae009 field=sole --></p>
   <p class="size">
       <a onclick="MM_openBrWindow('../../Size_Chart.html','SizeChart1','width=910,height=255')"><!--#ystore_catalog id=ae009 field=size --></a> 
   </p>
   <p class="size">*Validate width/size availability</p>
<!--******************************************************************************************-->
   <p class="submit">
      <input type="submit" value="Order" />
   </p>
<!--******************************************************************************************-->  
  </div>

  <h2 class="manufacture"><!--#ystore_catalog id=ae009 field=name --></h2> 
  <p class="style"><em>Style</em> <!--#ystore_catalog id=ae009 field=label --></p>
  <p class="description"><!--#ystore_catalog id=ae009 field=caption --></p>
  <p class="link"><a href="<!--#ystore_catalog id=ae009 field=productlink -->" target="_blank" class="external">Additional Product Information</a></p>
</form>

这是我想做的事情:

<form ...>               
  <div class="order"...>
     ....... additional lines of code .......
   <p class="submit">
      <?php if($_SESSION['logged_in']) {    ?>
        <p><input type="submit" value="Order" /></p>
      <?php } else { ?> 
        <p><input type="button" src="http://mydomain.com/login_logout.php" value="Login" /></p>
      <?php } ?>
   </p>   
  </div>
  <...miscellaneous irrelevant bs...>
</form>

但是,当我在表单语句中执行此操作时,它似乎不起作用。我在这里接近正确的方法吗?我知道我正在使用服务器端语言处理客户端功能,但如果我只是检查 $_SESSION 状态,这有关系吗?我查看了尽可能多的其他常见问题解答,这些常见问题解答与表单语句中的 PHP 有任何关系,还考虑了从 Input field 语句中的 onclick="zzzzz.js" 指令调用 PHP 函数。似乎没有任何工作或直接适用于我的场景。提前感谢您的帮助。

4

2 回答 2

0

代替

if($_SESSION['logged_in'])

尝试

if(isset($_SESSION['logged_in']))
于 2012-11-15T06:52:18.783 回答
0

这可能不是您问题的答案,但我想指出以下行不起作用,

<p><input type="button" src="http://mydomain.com/login_logout.php" value="Login" /></p>

页面不会重定向到login_logout.php

这是重定向的正确方法,

<p><input type="button" onclick="window.location='http://mydomain.com/login_logout.php'" value="Login" /></p>
于 2012-11-15T05:54:05.807 回答