使用cookies和php更改样式表(CSS)

使用cookies和php更改样式表(CSS),php,css,cookies,styles,Php,Css,Cookies,Styles,我有一些代码,可以使用表单修改样式表。只要浏览器窗口保持打开状态,这项功能就可以正常工作。您可以访问其他站点,然后返回,样式将是您选择的样式,这很好,但是如果您关闭浏览器并返回,它将设置为默认样式。这是因为我每次都要启动一个新会话,还是因为我没有设置cookie的有效期?这是第一个问题 问题2是,我有一个下拉菜单,currenty可以工作并选择正确的样式表,但我也有一些文本大小的单选按钮。我希望这些是incorporated,但他们将使用不同的样式表,只是有文字大小,所以默认的文字大小是标准的,

我有一些代码,可以使用表单修改样式表。只要浏览器窗口保持打开状态,这项功能就可以正常工作。您可以访问其他站点,然后返回,样式将是您选择的样式,这很好,但是如果您关闭浏览器并返回,它将设置为默认样式。这是因为我每次都要启动一个新会话,还是因为我没有设置cookie的有效期?这是第一个问题

问题2是,我有一个下拉菜单,currenty可以工作并选择正确的样式表,但我也有一些文本大小的单选按钮。我希望这些是incorporated,但他们将使用不同的样式表,只是有文字大小,所以默认的文字大小是标准的,用户可以改变他们随着样式表,但他们的工作不依赖。谁能给我一些建议吗?谢谢

下面是我目前正在处理的问题。干杯

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
 ?>
具有可工作的下拉列表和文本转换器单选按钮的表单:

  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>
具有expire参数,可用于设置所需的过期日期。文档中有一个关于如何做到这一点的示例

只需使用字体大小信息创建另一个cookie并调用相关的样式表。单选按钮必须位于表单标记内,才能作为http请求的一部分发送。

有一个expire参数,可用于设置所需的过期日期。文档中有一个关于如何做到这一点的示例


只需使用字体大小信息创建另一个cookie并调用相关的样式表。单选按钮必须位于表单标记内,才能作为http请求的一部分发送。

当涉及字体大小调整时,我个人会说,最好在客户端更改大小。我认为,一般来说,如果有人需要在每个页面上使用更大的字体以便于访问,他们会在浏览器中增加字体大小


虽然如果您想更改样式表元素/永久设置更大的字体大小,也可以通过AJAX调用在DB中设置cookie/保存记录。

说到字体大小调整,我个人会说,您最好在客户端更改大小。我认为,一般来说,如果有人需要在每个页面上使用更大的字体以便于访问,他们会在浏览器中增加字体大小


虽然如果您想更改样式表元素/永久设置更大的字体大小,也可以通过AJAX调用在DB中设置cookie/保存记录。

您最好使用$\u会话跨页面保持样式。这样,即使用户关闭了Cookie,它也能工作,因为它会用会话ID为您重写URL。

您最好使用$\u会话跨页面保持样式。这样,即使用户关闭了Cookie,它也能工作,因为它会用会话ID为您重写URL。

当浏览器本身能够更有力地改变字体大小时,为什么要使用CSS来改变字体大小?只需使用相对字体大小,让用户选择自己的大小。当浏览器能够更有力地改变字体大小时,为什么要使用CSS来改变字体大小?只需使用相对字体大小,让用户选择自己的大小。