Jump to content
php.lv forumi

Recommended Posts

Posted
default vaitad neskaitas tjip kaa visu laiku paliekosh, liidz to nenomaina??
Default skaitās "oriģinālaiss", tiklīdz tu ko pamaini, vairs nav default.
Posted (edited)

Šāds kopsavilkums laikam:

<?
if(isset($_GET['style']){
 echo'<link href="'.$_GET['style'].'.css" rel="stylesheet" type="text/css"/>';
}else{
 echo'<link href="default.css" rel="stylesheet" type="text/css"/>';
}
?>
<a href="./?style=sarkans">Sarkans</a>

 

Mans variants:

<?
//Kopējam lapas sākuma daļā(pirms jebkāda izvadāmā teksta)
session_start();
$styles = array('default', 'melns', 'sarkans');//nodefinējam iespējamos stilus
if(isset($_GET['style']) && !empty($styles[$_GET['style'])){
 $_SESSION['style']=$styles[$_GET['style']];
}
?>
<html>
<head>
<?
echo'<link href="'.(isset($_SESSION['style']) ? $_SESSION['style'] : 'default' ).'.css" rel="stylesheet" type="text/css"/>';
?>
</head>
<body>
<a href="./?style=0">Default stils</a>
<a href="./?style=1">Melns</a>
</body>
</html>

 

Sessijas izmantojam tapēc, lai vēlāk varētu ložņāt pa labu ar to pašu izvēlēto stilu, bez īpašas adrešu modifikācijas...

Edited by Aleksandrs
Posted
nu šitā te ka jūs man palīdzat man baig lab iespiezhas prātā, kas kā .. vaitad priekš tā nav forumi?? ;]

 

a shitaa kautkaa neder?:

<?php
$style = $_GET['style'];
switch($style) {
case '2':
setcookie ('<link href="styles/2.css" rel="stylesheet" type="text/css"/>', $style);
echo 'Tu uzvēlējies: <link href="styles/1.css" rel="stylesheet" type="text/css"/>';
}
?>

Tikai man raada error: Warning: Cannot add header information - headers already sent by (output started at d:\www\web\index.php:12) in d:\www\web\izskati.php on line 5

17336[/snapback]

 

Parasti shaads errors (par headeriem) tiek izmests gadiijumos, ja eksistee kaut viens outputs (kaut vai tags <html> utt) pirms, piemeeram, f-jaam setcookie(), session_start(), header() un taml.

Vai nu liec to kodu saakumaa vai arii lieto ob_start() ((output buffer) sho f-ju ieliec uzreiz peec <?php..). Shii funckija, cik es esmu sapratis, izveidot output bufferi kuraa tiek uzgjenireeta pati lapa un tikai peec tam tiek aizsuutiita klientam, kas to pieprasa. Taadejaadi koda viduu var lietot header() f-ju uc.

Lapas breigaas par sliktu nenaaktu ielikt arii ob_clean() ;)

Ja es ko aplami esmu sastaastiijis, labojiet mani.

Posted (edited)

da takš uztaisi atsevišķu skriptu `setstyle.php`

 

 

`config.php`

$styles = Array( 'default' => 'Defaultais' , 'sarkans' => 'Sarkans', 'zils', 'peleks' );

 

`setstyle.php`

<?php

include 'config.php';
if (!empty($_GET['style'])) {
  $stylename = $_GET['style'];
  if (!empty($styles[$styleName])) {
      $_SESSION['pageStyle'] = $styleName;
  } else {
      $_SESSION['pageStyle'] = 'default';
  }
}

header( 'Location: '.$_SERVER['HTTP_REFERER'] );

?>

 

attiecīgi linkus izvadi

 

`stylemenu.php`

foreach($styles as $styleId => $stylename) {
  echo '<a href="setstyle.php?style='.$styleId.'">'.$styleName.'</a>';
}

 

 

un kad izvadi HTML

 

echo '<link href="'.$_SESSION['pageStyle'].'.css" rel="stylesheet" type="text/css" />';

Edited by Delfins
×
×
  • Create New...