1

フォームを使用してスタイルシートを機能させ、変更するコードがいくつかあります。ブラウザウィンドウを開いたままにしておく限り、これは機能します。別のサイトに戻ると、スタイルは選択したものになります。それで問題ありませんが、ブラウザを閉じて戻ってくると、デフォルトに設定されます。これは、毎回新しいセッションを開始しているためですか、それとも Cookie の有効期間を設定していないためですか? それが質問 1 です。

質問 2 は、現在動作し、正しいスタイル シートを選択するドロップ ダウン メニューがあることですが、テキスト サイズ用のラジオ ボタンもいくつかあります。これらを組み込みたいのですが、テキスト サイズだけが含まれている別のスタイル シートを使用して機能するため、デフォルトのテキスト サイズは標準であり、ユーザーはスタイル シートと共に変更できますが、独立して機能します。誰でもコーディングの感謝を提案できますか。

以下は、私が現在取り組んでいるものです。乾杯

スタイルを設定するPHP:

  if (isset($_COOKIE["selectedStyle"])) // has the cookie already been set
  {
    $style=$_COOKIE["selectedStyle"];
  }else{
$style = spring;
}

  if (isset($_POST["changeStyle"]))  // changing the style
  {
    $style=$_POST["changeStyle"];
  }

  setcookie("selectedStyle",$style); // update or create the cookie
 ?>

機能するドロップダウンとテキストチェンジャー用のラジオボタンを備えたフォーム:

<div id="headerInfo">
<p><strong>User Controls</strong></p>
  <form method="post" action="<?= $_SERVER["PHP_SELF"];?>">
Select Page Style:<br/>
<select name="changeStyle">
<option value="spring">Spring (Green)</option>
<option value="summer">Summer (Yellow)</option>
<option value="winter">Winter (Blue)</option>
<option value="autumn">Autumn (Orange)</option>
</select>
<input type="submit" name="submitstyle" value="Set Style">
  </form>
    <form method="post" action="<?= $_SERVER["PHP_SELF"];?>">
Select Font Size:<br/>
<span class="smallText">A</span><input type="radio" name="changeFontSize" value="small"/>
<span class="standardText">A</span><input type="radio" name="changeFontSize" value="standard"/>
<span class="largeText">A</span><input type="radio" name="changeFontSize" value="large"/>
<span class="xLargeText">A</span><input type="radio" name="changeFontSize" value="extraLarge"/>
</select>
<input type="submit" name="submitfont" value="Set Size">
</div>
4

3 に答える 3

2

setcookieには、expire希望の有効期限を設定するために使用できるパラメーターがあります。ドキュメントには、これを行う方法の例があります。

フォント サイズ情報を含む別の Cookie を作成し、関連するスタイルシートを呼び出すだけです。formhttp リクエストの一部として送信するには、ラジオ ボタンをタグ内に配置する必要があります。

于 2009-02-11T13:09:17.453 に答える