2011-08-05 13 views
-1

変数をセッションに挿入するにはリンクをクリックするとどうなりますか?PHP - リンクをクリックした場合にのみ変数をセッションに入れます

注:リンクは同時にフォームを送信する必要があります。

+1

リンクはフォームを送信するためのものではありません。 – kapa

+0

送信ボタンを使用して、フォームではなくリンクを送信します。リンクは、あらかじめ決められたURIに直接進むためのものです。送信ボタンは、ユーザー入力をURIに送信するためのボタンです。 – Quentin

+0

私はjavascritでフォームを送信していることを正確に忘れています:onclick = "document.forms ['form1']。submit();" 私もボタンを使用することができます:) – Bizboss

答えて

0

あなたがリンクをクリックすると、その入力

<a href="..." onclick="document.getElementById('link_is_clicked').value = 1" ... 

の値を変更し、サーバ上の要素の値をチェック

<input type="hidden" id="link_is_clicked" name="link_is_clicked" value="0"/> 

その後、フォーム内の隠し入力を行うことができます側。

+0

私はこのソリューションが好きです、私はそれをテストします;) – Bizboss

0

あなたのフォームが送信されているかどうかを確認してください。そうであれば、セッション変数を設定してください。例えば

if(isset($_POST) && count($_POST) > 0)) //Assuming your form's action is post, use GET otherwise 
{ 
    $_SESSION['somevar'] = 'somevalue'; 
} 
+0

私のフォームは別のボタンで提出できます。ユーザーがボタンまたはリンクを使用してフォームを送信した場合、リンクを使用している場合は、変数をセッションに挿入する必要があります。 – Bizboss

0

私はあなたがリンクがフォームを送信するためにJavaScriptを使用していると仮定?値0を持つ非表示入力を追加できます。ユーザーがリンクをクリックすると、送信する前に入力の値を1に変更します。

1

あなたがフォームを送信するためにあなたのHTMLにこのよう

<input type="submit" name="sender" value="Send" /> 

をいろいろ書いを使用している場合は、$_POST['sender']変数を確認することができます。それはエーテルSend(ボタンをクリック)または何も出力しません(リンクをクリック)。

関連する問題