HTML の既存のコードにより、訪問者は添付の画像に示されている商品を注文できます。既存のコードは、入力フィールド (type="submit") で作成されたフォームと「注文」ボタンを使用して、適切なサイズ、価格、割引、およびその他のフィールドを処理のために Yahoo ストアに送信します。
このコードを変更して、訪問者が「注文」ボタンをクリックする前 (PHP 内で $_SESSION をチェック)、または「注文」ボタン (onclick) をクリックするときに、ユーザーがログインしていることを確認する必要があります。ユーザーがログインしていない場合、訪問者はログイン/登録ページにリダイレクトされ、組織に参加してから以前の製品ページに戻ることができるようにする必要があります。すでにログインに成功している場合は、フォームを送信し、変数を Yahoo ストアに送信する必要があります。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 と関係がある他の FAQ をできるだけ多く調べ、入力フィールド ステートメントの onclick="zzzzz.js" ディレクティブから PHP 関数を呼び出すことも検討しました。私のシナリオには何も機能していないようで、直接適用できるものはありません。助けてくれてありがとう。