Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP - vložit barvu pozadí do headeru

Dobrý den. potřeboval bych poradit. potřebuji vytvořit stránku a pomocí funkce session na první stránce vložit barvu pozadí do headeru tak, aby všechny další stránky byly stejné barvy.

takto vypada header:

<?php
session_start ();
?>
<html>
    <head>
    <title>Stranka projektu</title>
    </head>
    <body bgcolor="echo session getbgcolor">
    
    </body>

1. stránka

<?php
include("header.php");
?>

<h1>Prvni stranka projektu</h1>
jakou barvu?<br>
<form action="stranka1.php" methode="get">
<form>
<input type="text"> <br>
</form>
<a href="stranka2.php">stranka 2<

a jednoducha druha stranka :

<?php
include("header.php");
?>

<h1>Druha stranka projektu</h1>

<a href="stranka1.php">stranka 1</a>

Kdyby někdo věděl jak na to tak prosím poraďte díky
Zmena predmetu, pôvodne: PHP (los)

Předmět Autor Datum
Já tomu sice moc nerozumím, ale tohle nemůže fungovat: <?php session_start (); ?> <html> <head> <ti…
Georgij Gadjukin 25.11.2010 20:19
Georgij Gadjukin
K session pristupuješ pomocou $_SESSION. Takže tam, kde chceš vložiť farbu, dáš: <?php echo isset($… poslední
los 25.11.2010 20:38
los

Já tomu sice moc nerozumím, ale tohle nemůže fungovat:

<?php
session_start ();
?>
<html>
    <head>
    <title>Stranka projektu</title>
    </head>
    <body bgcolor="echo session getbgcolor">
    
    </body>

možná snad takto:

<?php
session_start ();
?>
<html>
    <head>
    <title>Stranka projektu</title>
    </head>
    <body bgcolor="<?php echo session getbgcolor; ?>">
    
    </body>

ale i zde si myslím, že ten zápis je špatně. každopádně je určitě potřeba nastudovat použití funkcí spojených s obsluhou sessions.
Obecné info česky třeba tady nebo tady. Kompletní manuál v angličtině potom tady.
Programátoři snad poradí víc.

K session pristupuješ pomocou $_SESSION. Takže tam, kde chceš vložiť farbu, dáš:

<?php echo isset($_SESSION["bgcolor"]) ? $_SESSION["bgcolor"] : "#fff" ?>

Do session uložíš hodnotu napr. v obsluhe formulára, ktorý odošleš POSTom:

if (isset($_POST["bgcolor"]) && preg_match('/^#[0-9a-f]{6}$/', $_POST["bgcolor"]))
  $_SESSION["bgcolor"] = $_POST["bgcolor"];

Overenie hodnoty z formulára, či ide naozaj o farbu je dôležité. V opačnom prípade by mohol dať na tvoju stránku hocikto ľubovoľný obsah (síce len v rámci svojej session, ale aj tak).
Píšem z hlavy, takže tam zrejme budú preklepy, ale princíp je snáď jasný.

Mimochodom, v súbore s hlavičkou ukončuješ element body skôr, než sa zobrazí samotný obsah stránky. Na 1. stránke máš vnorený druhý form.

Zpět do poradny Odpovědět na původní otázku Nahoru