Autor Zpráva
pyty
Profil
mam kod: obsah ..... obsah <? include($source) ?> obsah ..... obsah
je to index.php . do prehliadaca napisem localhost/index.php?source=obsah.htm
na serveri site.cz to ide, mne to hlasi :
Warning: main() [function.include]: Failed opening '' for inclusion (include_path='.;C:\php5\pear') in C:\dev\www\pytylog\index.php on line 20

Tomik
Profil
Já bych řekl, že musíš zadat <?include("$source")?>.
pyty
Profil
a premenna sa moze dat medzi uvodzovky ?
myslel som, ze tam sa dava uz konkretna hodnota
pyty
Profil
ne ne, nefunguje to.
ani na serveri.
totizto, ja mam nainstalovany apache a PHP ako modul.
podla mna mam nico zle nakonfigurovane
thingwath
Profil *
Bylo by možné poslat větší část kódu? Co má být v $source ?
pyty
Profil
index.php vyzera tak:
<html>

<head>
<title>pytylog > pytyho weblog <</title>
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="description" content="description" lang="sk">
<meta name="keywords" content="keywords" lang="sk">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta http-equiv="Content-Language" content="sk">
<meta http-equiv="author" content="pyty">
</head>
<body>
<div class="hornydiv">
<img src="./img/top.jpg" class="hornyimg"><br>
<a href="./">Home</a><a href="./?o=arch.php">Archív</a><a href="./?o=kat.php">Kategórie</a><span id="poslednevmenu"><a href="g.htm">RSS</a></span>
</div>
<div class="hlavnydiv">
<?
if (!isset($_GET['o'])) {

include('a/2005/01/skusobny_clanok_1.php');
include('a/2005/01/preco_som_zacal_pisat_weblog.php');

}
else include($o);
?>
</div>
<div class="pravemenu">
archivv dafadsfasdfg fdsaf dsfa df sdfsad sdfa archivv dafadsfasdfg fdsaf dsfa df sdfsad sdfa archivv dafadsfasdfg fdsaf dsfa df sdfsad sdfa archivv dafadsfasdfg fdsaf dsfa df sdfsad sdfa archivv dafadsfasdfg fdsaf dsfa df sdfsad sdfa archivv dafadsfasdfg fdsaf dsfa df sdfsad sdfa
</div>
</body>
</html>
llook
Profil
Změň $source na $_GET['source']:
<?php include($_GET['source']); ?>
llook
Profil
Trochu to vysvětlím. Ve starších verzích PHP se k proměnným předávaných formuláři nebo URL přistupovalo jako k $název_proměnné. Jenže to je potenciálně nebezpečné, takže se v PHP 4 začalo používat $_GET['název_proměnné'] pro proměnné předávané v URL a $_POST['název_proměnné'] pro proměnné předávané metodou POST.
Kvůli zpětné kompatibilitě bylo možné nastavit v php.ini volbu register_globals = On. Od verze 4.2 je tato volba implicitně Off.
Hostingy to často mívají On (ne všechny), ale vývojářům se doporučuje to už nepoužívat.
A v PHP 5 to myslím většina lidí i hostingů nechává nastavené na Off.
Tomik
Profil
Ještě otázka na llooka : pokud je tedy register_globals nastavené na off $_get[něco] a $_post[něco] nefunguje nebo nefunguje $něco???
pyty
Profil
tak ako prepisat zdroj aby to fugovalo spravne ?
else include($_GET['$o']); ? alebo dat za <? toto:
$_GET['$o'] = $o ???
a maju tam v tom $_GET['$o']
byt uvodzovky ?
Honza Hučín
Profil
Nefunguje $něco. $_get["něco"] funguje vždy.
Tomik
Profil
Díky.
pyty
Profil
Tomik
thingwath
llook
Honza Hučín
dik
Toto téma je uzamčeno. Odpověď nelze zaslat.