Stil sayfaları değiştirmek için çerezleri ve php kullanarak (CSS)

3 Cevap php

Ben bir formu kullanarak stil sayfasını çalışır ve değiştirir bazı kodlar var. Sürece açık tarayıcı penceresi tutmak gibi bu işe. Sen farklı bir site var geri gelebilir ve stil seçtiğiniz biri olacak, bu iyi ama u tarayıcıyı kapatmak ve geri gelmek eğer varsayılan olarak ayarlanır. Bu yeni bir oturumuna her zaman başladım olması nedeniyle ya dolayı ben çerez geçerli ne kadar set değil aslında nedir? Thats bir soru.

Soru 2 Ben eserlerini CurrentY ve doğru stil sayfasını seçer açılan aşağı menü var ama ben de metin boyutu için bazı radyo düğmeleri olması. Ben bu incorperated olmak istiyorum ama onlar sadece bu yüzden varsayılan metin boyutu standart ve kullanıcı stil levha ile birlikte bunları değiştirebilirsiniz sadece metin boyutu var ama onlar indepdantly çalışmak, farklı bir stil sayfaları kullanarak çalışacaktır. Herkes bazı kodlama sayesinde hatırlatıyoruz.

Aşağıda Şu anda ile çalışıyorum budur. Şerefe

Php setting the style:

  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
 ?>

Çalışır ve metin değiştirici radyo düğmeleri aşağı damla Form:

<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>

3 Cevap

setcookie Eğer istenen bitiş tarihi ayarlamak için kullanabileceğiniz bir expire parametre vardır. docs, bu nasıl bir örnek var.

Sadece yazı tipi boyutu bilgileri ile başka bir çerez oluşturmak ve ilgili stil çağırmak. radyo düğmesi http isteğinin bir parçası olarak göndermek için form etiketinin içinde olması gerekir.

Ben şahsen söyleyebilirim boyutlandırma yazı söz konusu olduğunda, istemci tarafında boyutunu değiştirme, with jQuery for example daha iyi olur. Ben birileri yazı tipi boyutu tarayıcıda artmış olurdu (erişilebilirlik için) her sayfada daha büyük bir yazı tipi boyutu gerektirir genellikle eğer düşünüyorum.

Eğer ayrıca bir çerez ayarlamak için bir AJAX çağrısı yapabileceğini ancak kalıcı yüksek bir yazı tipi boyutunu ayarlamak stil öğeleri / değiştirmek istiyorsa / DB kaydını kaydetmek.

Sen $_SESSION sayfalar arasında stilini devam kullanarak daha iyi olurdu. Sizin için oturum kimliği ile URL'leri yeniden edeceğiz, çünkü bu şekilde o, kullanıcı tanımlama kapalı olsa bile çalışır.