Autor Zpráva
Lorinnn
Profil
<?php
if (isset($_GET['text'])) $text = $_GET["text"]; else $text = "";

if ($text == "cenik") {include "cenik.inc";}
elseif ($text == "obsahstranky.htm") {include "administrace/obsahstranky.htm";}
elseif ($text == "novinky") {include "novinky.inc";} 
elseif ($text == "odkazy") {include "odkazy.inc";}
elseif ($text == "home"){include "novinky.inc";}
if (File_Exists ("administrace/obsah.dat")): 
$fp3 = FOpen ("administrace/obsah.dat", "r"); 
FPassThru($fp3); 
endif;
?>


<a class="odkaz" href="index.php">úvod</a>
<a class="odkaz" href="index.php?text=cenik">ceník</a>
<?
if (File_Exists ("administrace/odkazy.dat")): 
$fp3 = FOpen ("administrace/odkazy.dat", "r"); 
FPassThru($fp3); 
endif;
?>
<a class="odkaz" href="index.php?text=obsahstranky.htm">Pokus</a>
<a class="odkaz" href="index.php?text=novinky">novinky</a>
<a class="odkaz" href="index.php?text=odkazy">odkazy</a>


mám datový soubor s částí php kodu, kterej potrebuju vložit někam do toho označenýho místa, tak aby funkce kódu byla zachována a kód, který obsahuje vkladaný soubor navázal na ten předchozí
(do toho souboru obsah.dat se ukladají data ve formatu
elseif ($text == "obrazy") {include "obrazy.htm";}

Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Tori
Profil
Pokud má soubor fungovat jako PHP skript, tak musí mít i příponu .php (jestli teda nemáte specielně nastavený server, aby jako skripty bral i .dat soubory). Pak ho normálně includujete. Nejsem si teď jista, ale asi bude nutné přidat na začátek includovaného souboru prázdné if, aby to nehodilo syntaktickou chybu (podmínka začínající elseif).

Osobně bych ale spíš použila něco takového:
$strankyObyc = array(
  "cenik" => "cenik.inc",
  "obsahstranky.htm" => "administrace/obsahstranky.htm", 
  "novinky" => "novinky.inc", // atd.
);
$strankyProAdmina = array( 
  "obrazy" => "obrazy.htm", //atd.
);

$stranka = (isset($_GET['text') && !empty($_GET['text'])) ? $_GET['text'] : '';

if (isset($strankyObyc[$stranka]))
  include $strankyObyc[$stranka];

if (isset($strankyProAdmina[$stranka]) && uzivatelMaOpravneniAdmina()) // nějaké ověření
  include $strankyProAdmina[$stranka];
Lorinnn
Profil
změnila jsem to na něco takovýho(soubor má koncovku php a na začátku má if):

<?php
if (isset($_GET['text'])) $text = $_GET["text"]; else $text = "";

if ($text == "cenik") {include "cenik.inc";}
elseif ($text == "obsahstranky.htm") {include "administrace/obsahstranky.htm";}
elseif ($text == "novinky") {include "novinky.inc";} 
elseif ($text == "odkazy") {include "odkazy.inc";}
else ($text == "home"){include "novinky.inc";}
?>
<?
if (isset($_GET['text'])) $text = $_GET["text"]; else $text = "";
if ($str=='')
  include('administrace/obsah.php');
else
  include($str); 
?>

vypisuje mi to chybu na oznacenym radku
Parse error: syntax error, unexpected '{' in /3w/wz.cz/l/lucieportfolio/index.php on line 67

Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Alphard
Profil
U else větve nemůže být porovnání.
Lorinnn
Profil
Super tohle mi začalo fungovat, mockrát děkuju .))

Musela jsem to v tom souboru taky přepsat a celý to vložit mezi <? a ?>
jenže je problém, že data se mi nahrávají na konec - tudíš by to šlo až za ?>

Co jde udělat? definovat vkladání textu do určitýho místa v souboru?
nebo udělat nějakej příkaz, kterej by smazal vždy ?><? pokud by se to objevilo v souboru (že by se posílali už ve tvaru se závorkama a mezi sebou by se automaticky mazali)
meris
Profil
Ahoj,
koncová značka ?> je v php nepovinná tak ji na konec souboru nemusíš dávat.
Lorinnn
Profil
Děkuju .)) bych se toho snažila zbavit .D teď to všechno funguje .))

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0