Re: předávání PHP příkaz� přes URL

From: Tomáš Vymětal <vymetalt.inet (zavinac)>
Date: Sun, 09 Dec 2007 10:52:26 +0100
Sir Terr napsal(a):
> Michal Int napsal(a):
>> Zdravim konferu,
>>
>> používám pro generování mých stránek PHP, ovšem všechny odkazy mi
>> vedou na "odkaz1.php", "odkaz2.php", prostě co jiná stránka, to jiný
>> soubor. Ale všiml jsem si, že někteří, dělající web v PHP předávají
>> pomocí URL různé příkazy, aby tolik souborů nepoužili např. na
>> www.oa-opava.cz kliknu na českou vlaječku a URL se změní na
>> www.oa-opava.cz/index.php?u=oskole .
>>
>> Neví někdo jak se tohle dělá? Spíše by to chtělo link na nějakou
>> stránku, kde se tohle dovím, mám doma dvě knížky a nic, chvíli jsem
>> hledal i na netu, ale taky nic. Samozřejmě umím udělat odkaz, jako je
>> '<a href="index.php?u=oskole">', ale nevím, co tam za ten otazník
>> napsat, jak potom v souboru index.php vysvětlím, že když je v url
>> u=oskole, tak má zobrazit něco jiného.
>>
>> Předem díky za odpověď S pozdravem Michal West
>>
>>
>         Zdar,
> 
>     řekněme, že máš jednu stránku s názvem index.php. Nějakým odkazem, 
> který je v ní obsažen, se na ni znovu odkážeš, např. 
> <http://www.neco.cz/index.php?show=jablko>. V index.php budeš mít 
> podmínku, kde se ptáš, zda $_GET["show"] == "jablko". Pokud tomu tak je, 
> zobrazíš 'jablko'. Přijde-li Ti v parametru 'hruška', zobrazíš 'hrušku', 
> atd.
> 
> Terr
> 


Ještě konkrétněji, jelikož to tak taky dělám ;) Je nicméně několik 
důvodů, proč se to využívá.
a) Chci mít vše v jednom souboru, pak se provede jednodoché větvení 
stránek v tom indexu
b) Stránky se tisknou pomocí funkcí, tedy hlavička je pořád stejná, 
patička taky, pak je jednoduché vytvořit hlavičku a patičku např. v tom 
indexu a ostatní soubory volat bokem.
c) Úpravy. Namyslím počitadlo a místo abych ho musel házet na každou 
stránku, přihodím jej jednoduše jen na ten index.

Našel jsem jeden z mých ranních projektů, které místo funkcí includoval 
další soubory. Dneska je mi to už sice proti srsti, ale funguje to a je 
to jednoduché.

index.php
<?php
$fromindex=true;
include ("head.php");
include ("content.php");
include ("foot.php");
?>

head.php
<?php
if (!isset($fromindex))
   include ("bad.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META content="text/html; charset=iso-8859-2" http-equiv="Content-Type">
<LINK href="kml.css" rel=stylesheet type="text/css">
<TITLE>Hlasování</TITLE>
</HEAD>
<BODY>
<BR>
<?php
include ("logo.php");
?>

bad.php
<?
echo "<meta http-equiv=\"refresh\" content=\"0;url=index.php\">";
exit;
?>

content.php
<?php
if (!isset($fromindex))
   include ("bad.php");
?>
<center>
<TABLE style="table-layout:fixed; text-align:center" WIDTH="640"><TR><TD>
<A HREF="index.php?akce=fotky">Fotky</A><TD>
<A HREF="index.php">Pravidla</A><TD>
<A HREF="index.php?akce=hlas">Hlasování</A></TABLE>
</center>
<?php
if (isset($_GET["akce"]))
   {
   if ($_GET["akce"]=="hlas")
     include ("hlasovani.php");
   if ($_GET["akce"]=="fotky")
     include ("fotky.php");
   }
else
   {
   include ("pravidla.php");
   }
?>


atd.


Sice postarší, ale hodně kvalitní tutorial je na 
http://www.linuxsoft.cz/php/

T.V.
Received on 09. 12. 2007, 10:52 CET

This archive was generated by hypermail 2.2.0 : 09. 12. 2007, 10:52 CET