változók
hello
van egy kis problémám. egyszerűen nem hajlandó felismerni az apacsom a globális változókat. átállítottam a methodot, próbáltam a globals-szal, de nem megy egyik sem... az egész elég cikis, mert az űrlapfeldolgozások és az adatbázis-lekérdezések is meg vannak lőve... (a szerver easyphp néven fut, ami tartalmaz egy 1.3.27es apacsot (php 4.3.3), meg mysqlt (4.0.15öt) de az most nem lényeges).
valszeg láma vagyok, de ezt negligálnám. segítsetek!
dani
■ van egy kis problémám. egyszerűen nem hajlandó felismerni az apacsom a globális változókat. átállítottam a methodot, próbáltam a globals-szal, de nem megy egyik sem... az egész elég cikis, mert az űrlapfeldolgozások és az adatbázis-lekérdezések is meg vannak lőve... (a szerver easyphp néven fut, ami tartalmaz egy 1.3.27es apacsot (php 4.3.3), meg mysqlt (4.0.15öt) de az most nem lényeges).
valszeg láma vagyok, de ezt negligálnám. segítsetek!
dani
apacs?
A POST-olt, és GET-elt adatokat nem ismeri fel? Az nem az apache, hanem a php dolga.
Allitsd át a register_globals-t "on"-ra. Bár ez a lehető legkorszerűtlenebb megoldás. Inkább hivatkozz a változókra úgy, hogy $_POST['valtozo']
Vagy ha nem akarod az egész programot újraírni, akkor tegyél egy
extract($_GET,EXTR_OVERWRITE);
sort valamelyik include-olt file-ba.
Gyulus
függvény
$_POST
,$_GET
mellett a$_COOKIE
tömb elemeit is a globális név-térbe helyezi el szépen.ha használsz munkamenet-kezelést (session) akkor még esetleg a
$_SESSION
tömböt is érdemes beimportálni:$_SESSION
tömbbelbbalint
hát ez az, a $_GET['...']
de köszönöm a tanácsokat, kipróbálom őket.
php.ini
Csinálj egy üres php file-t, írd bele, hogy <? phpinfo(); ?>, és futtasd le.
Nézd meg, hogy mit hisz, szerinte hol van a php.ini. Ha a valóságban nem ott van, akkor tedd oda. Ha igen, akkor passz.
Gyulus
igen
ha igen, akkor nézd meg, egyáltalán mi van az emlegetett tömbökben:
köszönöm:)
részletezés
<html>
...
<?php
function index() {
$fa = fopen ("index.con", 'r');
while (! feof($fa)) {
$tart = fgets($fa);
}
fclose ($fa);
};
?>
... (<head>...</head><body>)
<div id="content" name="content">
<div id="contenthead" name="contenthead"><br><br></div>
<?php
echo $tart;
?>
</div>
...
<div id="menu" name="menu">
<div id="menuhead" name="menuhead">menü</div>
<span id="index" onclick="<?php index(); ?>">kezdõlap</span>
</div>
...(</body></html>)
namármost, erre a reakció:
Notice: Undefined variable: tart in c:\program files\easyphp1-8\www\uj\html\index.php on line 81
a 81. sor az echo $tart-ra vonatkozik. mit lehet ezen jobban definiálni? hasonló hibaüzi, ha (mint a témanyitásnál emlitettem) globális változókat szeretnék használni.
(a php.ini-t megnéztem, helyén van.)
egész érdekes...
2. <span id="index" onclick="<?php index(); ?>">kezdõlap</span> azt eredményezi, hogy minden oldallekérésnél lefut az index fv-ed, mivel a php a szerver oldalon hajtódik végre, és a php csak az "index();" parancsot veszi figyelembe. az onclick esemény a kliensoldalon hajtódik végre, oda nem lehet php parancsokat írni...
aha. valszeg akkor azért
és hol deklaráljam a változókat, hogy ne legyen ez a probléma?