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 函数。似乎没有任何工作或直接适用于我的场景。提前感谢您的帮助。