[ EmmaR @ 19.09.2012. 21:49 ] @
| Code: <?php
//OVAJ PRIMER NE RADI ONO STO BI TREBALO DA RADI
//Notice: Undefined variable: PHP_SELF in C:\wamp\www\vezbaER\php\visestr2.php on line 20
// visenamjensak stranica koristenjem kontrolne varijable
// kontrolna varijabla : $kon
switch (@$kon)
{
case 1:
echo "Gledate stranicu 1<br>";
echo "<a href='$PHP_SELF'>Povratak na poeetnu stranicu</a>";
break;
case 2:
echo "Gledate stranicu 2<br>";
echo "<a href='$PHP_SELF?kon=33'>Povratak na poeetnu stranicu</a>";
break;
case 3:
echo "Gledate stranicu 3<br>";
echo "<a href='$PHP_SELF'>Povratak na poeetnu stranicu</a>";
break;
default:
echo "<h2>Poeetna stranica </h2>";
echo "<p>Odaberite jednu od stranica<br>";
echo "<ul><li><a href='$PHP_SELF?kon=1'>Stranica 1</a></li><li><a href='$PHP_SELF?kon=2'>Stranica 2</a></li><li><a href='$PHP_SELF?kon=3'>Stranica 3</a></li><ul>";
echo "</p>";
}
?>
Šta nije u redu sa ovim kodom? Poruka o grešci je dodata kao drugi komentar. Inače, kod nije moj već je iz jedne od skripti i trebalo bi da funkcioniše takav kakav je i samostalno, ali...
Možda ima neke veze: Kod mene ne prihvata nikakve skraćene varijante tipa <? ... php kod.... ?> ili <?=$promenljiva?>
|
[ plus_minus @ 19.09.2012. 21:58 ] @
Code (php):
# Undefined variable.. $PHP_SELF
$_SERVER['PHP_SELF']; // « valid
Short-tags za php kod tebe nije uključen. Dok to ne uključiš nećeš moći sa skraćenicama da barataš. PHP 5.4 valjda to ima po default-u.
[ PHPovac @ 19.09.2012. 22:00 ] @
Ovo je kod za PHP4.
Zameni $kon sa $_GET['kon'] i $PHP_SELF sa $_SERVER['PHP_SELF'] odnosno " . $_SERVER['PHP_SELF'] . "
[ EmmaR @ 19.09.2012. 22:30 ] @
Hvala vam, sada radi.
Code:
<?php
/*zamenjeno $kon sa $_GET['kon'] i $PHP_SELF sa " . $_SERVER['PHP_SELF'] . "
ne prihvata ni $_SERVER['PHP_SELF']
*/
// visenamjensak stranica koristenjem kontrolne varijable
// kontrolna varijabla : $_GET['kon']
switch (@$_GET['kon'])
{
case 1:
echo "Gledate stranicu 1<br>";
echo "<a href=" . $_SERVER['PHP_SELF'] . ">Povratak na poeetnu stranicu</a>";
break;
case 2:
echo "Gledate stranicu 2<br>";
//echo "<a href=$_SERVER['PHP_SELF'] ?kon=33'>Povratak na poeetnu stranicu</a>";
echo "<a href=" . $_SERVER['PHP_SELF'] . "?kon=33>Povratak na poeetnu stranicu</a>";
break;
case 3:
echo "Gledate stranicu 3<br>";
echo "<a href=" . $_SERVER['PHP_SELF'] . ">Povratak na poeetnu stranicu</a>";
break;
default:
echo "<h2>Poeetna stranica </h2>";
echo "<p>Odaberite jednu od stranica<br>";
echo "<ul><li><a href=" . $_SERVER['PHP_SELF'] . "?kon=1'>Stranica 1</a></li><li>
<a href=" . $_SERVER['PHP_SELF'] . "?kon=2 '>Stranica 2</a></li><li>
<a href=" . $_SERVER['PHP_SELF'] . "?kon=3'>Stranica 3</a></li><ul>";
echo "</p>";
}
?>
Wamp server 2.0 (PHP 5.3.0)
Citat:
plus_minus:
Code (php):
# Undefined variable.. $PHP_SELF
$_SERVER['PHP_SELF']; // « valid
Short-tags za php kod tebe nije uključen. Dok to ne uključiš nećeš moći sa skraćenicama da barataš. PHP 5.4 valjda to ima po default-u.
Kako se uključuje? Ne vidim nigde opciju.
[ Burgos @ 19.09.2012. 23:40 ] @
Potrebno je uključiti register_globals u php.ini fajlu i resetovati server (short_open_tags je za dozvolu upotrebe <? umesto <?php). To svakako ne treba raditi - u PHP 5.4 ta opcija više i ne postoji - možeš pogledati po internetu zašto je to tako.
[ plus_minus @ 20.09.2012. 00:31 ] @
@EmmaR
Valjda levi klik na wamp ikonicu u system tray meniju, pa onda php settings i tu bi trebalo da se pojavi i opcija za short_open_tags on/off.
Ne sećam se tačno, jer ne koristim wamp odavno, naći ćeš je sve u svemu.
@Burgos
Možeš li navesti konkretan razlog zašto svakako ne treba koristiti short-tag stil pisanja?
[ Burgos @ 20.09.2012. 01:29 ] @
Mislio sam na register_globals = off.
[ EmmaR @ 20.09.2012. 18:39 ] @
Citat:
plus_minus: @EmmaR
Valjda levi klik na wamp ikonicu u system tray meniju, pa onda php settings i tu bi trebalo da se pojavi i opcija za short_open_tags on/off.
Ne sećam se tačno, jer ne koristim wamp odavno, naći ćeš je sve u svemu.
Nadjoh. Hvala.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.