[ 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.