Autor Zpráva
Mitchell
Profil
Potřeboval bych klikem na různé odkazy, např.
<a href="menu1.html">Menu1</a>
<a href="menu2.html">Menu2</a>

aktivovat (asi "onclickem" ?) proměnnou (např. $stranka), která by si přiřadila hodnotu "menu1.html" nebo "menu1.html",
kterou dále použiji v příkazu INCLUDE, kde v závislosti na hodnotě proměnné načtu data z externích souborů "menu1.html" nebo "menu1.html" a to po rozhodovací funkci

<?php
if ($stranka = "menu1.html"):
include "menu1.html";
endif;
?>

<?php
if ($stranka = "menu2.html"):
include "menu2.html";
endif;
?>

Potřeboval bych poradit, jak správně zaintegrovat ten "onclick" do odkazu
<a href="menu1.html">Menu 1</a>
aby mi to v něm přidělilo hodnotu "menu1.html" té proměnné $stranka.

V PHP jsem začátečník, možná mne navedete na nějaké úplně jiné řešení mého problému.
.
Honza Hučín
Profil
Myslím, že můžeš zvolené menu předávat jako parametr jedné obslužné stránce. Tedy takto:
<a href="obsluznastranka.php?menu=1">Menu1</a>
<a href="obsluznastranka.php?menu=2">Menu2</a>

obsluznastranka.php pak bude mít rozhodování
<?
if ($menu==1)
include "menu1.html";
if ($menu==2)
include "menu2.html";
?>

nebo
<?
if ($menu==1 || $menu==2)
include "menu" . $menu . ".html";
?>
Mitchell
Profil
Tak to tak zkouším, ale něco dělám ještě špatně.

Nepodíval by jsi se mi na zdroják stránky
http://www.rcteam.wz.cz/rcteam2-06.php

Možná tam blbě volám tu obslužnou stránku příkazem
<?php include "obsluznastranka.php"; ?>

Cílem je zobrazovat to co jde přes obslužnou stránku v bílém prostředním poli.
Tak, jak to mám udělané, mne to vyhodí na novou stránku.

Předem díky, už nemohu být daleko cíle...
.
llook
Profil
PHP se zpracovává na serveru, prohlížeči se posílá jenom výsledek jako HTML. Tam, kde je v kódu stránky to bílé pole, tak tam dej include na tu obslužnou stránku:
<?php include 'obsluznastranka.php' ?>
A v tý obslužný stránce bych to udělal takhle:
<?php
$povolena_menu = array(1,2,3,4,5,6);
if (in_array($_GET['menu'], $povolena_menu)) {
include 'menu'.$_GET['menu'].'.html';
} else {
include 'implicitni-menu.html';
}
?>

Místo implicitni-menu.html název souboru, který se vloží, pokud není nastavená proměnná menu, nebo je v ní něco nepřípustného.
Mitchell
Profil
Vyzkoušel jsem to dle návodu Ilooka, na stránky to odkazuje dle kliku na příslušnou položku, zobrazuje to i to implicitni-menu, ale jenom to implicitní menu se při najetí na stánku zobrazí v tom středním bílém poli.

Stále se mi nedaří, aby se po kliku na položku v levém menu zobrazil obsah povolených menu tam kde chci - tedy v tom středním bílém poli...

Prosím, ještě poraďte. Adresu stránky jsem neměnil...
.
llook
Profil
Změň adresy těch odkazů na jednotlivá menu. Stačí aby v nich bylo to za otazníkem: <a href="?menu=1">Menu 1</a> apod.
Mitchell
Profil
Heuréka !
Funguje to (můžete se tam mrknout), teď už se snad budu věnovat jen formální úpravě (velikosti textů, zarovnání, barvičky,...), než to vypustím do světa...

Vám oběma velmi děkuji za pomoc.

Přesto mi ještě vrtá hlavou... :
Je správně : <?php include 'obsluznastranka.php' ?> nebo <?php include 'obsluznastranka.php'; ?>
(rozdíl je ve středníku)
.
Honza Hučín
Profil
Obojí funguje.
Mitchell
Profil
Lze načítat kromě jednotlivých menu ze stejné ho adresáře na úrovni "n", tedy dle výše popsaného :

<a href="?menu=1">Menu 1</a>
...
...
<?php include "obsluznastranka.php"; ?>

i menu, která mám v adresáři o úroveň níže (n-1) nebo z jiných adresářů na stejné úrovni ? Lze to vůbec ?

Jak by pak vypadal zápis pro načtení takových menu ? (namísto těch teček) :
<a href="................................................................ ">Menu n-1</a>
.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0