Niin.. miten PHP:n sais kertomaan osoitteen, jossa on nyt?
Meinasin tehä tolle dynaamiselle osotehommalle vielä semmosen, et if -silmukalla teen niin, että jos koodi kertoo sivun olevan vaikka ?sivu=etusivu niin se tulostaa sivulle "Etusivu" otsikon jne.
Tuolta löytyy varatut järjestelmämuuttujat
https://www.php.net/manual/en/reserved.
joista $_SERVER['PHP_SELF'] sisältää nykyisen sivun osoitteen
Koitin nyt tämmöstä..
<?php $osoite == $_SERVER['PHP_SELF'] if ($osoite = http://toni.arkku.net/?sivu=testi) echo "<H2>Testisivu</H2>"; else echo " "; ?>
Valittaa virheestä.. Testisivun osote näkyy tuosta koodista... En oo paljoo käyttäny näitä nii en oikee tiiä mitä tein väärin :S
Puolipiste puuttuu ekalta riviltä.
Tontttu kirjoitti:
<?php $osoite == $_SERVER['PHP_SELF']; if ($osoite = http://toni.arkku.net/?sivu=testi)
Huomaa, että PHP_SELF ei palauta kokonaista urlia. (Katso http://shell.nullcore.org/~draiz/php/php_self.
Nyt on näin:
<?php $osoite == $_SERVER['PHP_SELF']; if ($osoite = /?sivu=testi) echo "<H2>Testisivu</H2>"; else echo " "; ?>
Valittaa virheestä: "
Parse error: parse error, unexpected '/' in /home/toni/domains/toni.arkku.net/public_html/
Tontttu kirjoitti:
$osoite == $_SERVER['PHP_SELF']
== tarkoittaa yhtäsuurta, taasen yhdellä = merkillä asetetaan muuttujalle arvo. Sekä ; puuttuu rivin lopusta
Tontttu kirjoitti:
if ($osoite = http://toni.arkku.net/?sivu=testi)
Tässä haluat vertailla joten tarvitaan == sekä sivun osoite pitää olla ' tai " merkkien sisällä.
Nuo kun korjaat niin pitäisi toimia
:) Kiitos. Nyt vielä, mitä mun pitää laittaa tuoho osotteeks ku mul on se juttu et sivuje osotteet on muotoo /?sivu=testi
Tontttu kirjoitti:
jos koodi kertoo sivun olevan vaikka ?sivu=etusivu niin se tulostaa sivulle "Etusivu" otsikon jne.
Eikös tämä olisi viisaampaa tehdä tyyliin
Kiitti! :)
Juice kirjoitti:
Tontttu kirjoitti:
jos koodi kertoo sivun olevan vaikka ?sivu=etusivu niin se tulostaa sivulle "Etusivu" otsikon jne.
Eikös tämä olisi viisaampaa tehdä tyyliin
Tai eikö sen voisi vain suoraan tehdä niin että se tulostaa sen sivun nimen, eli:
$sivu = $_GET['sivu']; echo "<h1>$sivu</h1>";
jos halutaan, että se tulostaa aina sen. Sitten voi tietenkin laittaa sivu ehdon vaikka:
Matso kirjoitti:
Tai eikö sen voisi vain suoraan tehdä niin että se tulostaa sen sivun nimen, eli:
$sivu = $_GET['sivu']; echo "<h1>$sivu</h1>";
Toki, mutta ajattelin, kun Tontttun koodissa on kohta if ($osoite = /?sivu=testi) echo "<H2>Testisivu</H2>";
, ajattelin, että sivun otsikko ei ole välttämättä sama kuin sivun nimi. Jos tuota sinun koodiasi käyttää, kannattaa laittaa ucfirst sinne :)
Matso kirjoitti:
Juice kirjoitti:
Tontttu kirjoitti:
jos koodi kertoo sivun olevan vaikka ?sivu=etusivu niin se tulostaa sivulle "Etusivu" otsikon jne.
Eikös tämä olisi viisaampaa tehdä tyyliin
Tai eikö sen voisi vain suoraan tehdä niin että se tulostaa sen sivun nimen, eli:
$sivu = $_GET['sivu']; echo "<h1>$sivu</h1>";jos halutaan, että se tulostaa aina sen. Sitten voi tietenkin laittaa sivu ehdon vaikka:
...ja kun käyttäjä huomaa tuon, hän tietenkin tulostaa html-koodia tai javascriptiä tms.
Meitsi kirjoitti:
..ja kun käyttäjä huomaa tuon, hän tietenkin tulostaa html-koodia tai javascriptiä tms.
Oppiipahan kantapään kautta htmlentities-funktion ja vastaavien käytön ;)
Aihe on jo aika vanha, joten et voi enää vastata siihen.