Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Koodi kertoo osoitteen, jossa on nyt?

Sivun loppuun

Tontttu [26.12.2005 14:05:21]

#

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.

panttu [26.12.2005 14:10:54]

#

Tuolta löytyy varatut järjestelmämuuttujat
https://www.php.net/manual/en/reserved.variables.php#reserved.variables.server

joista $_SERVER['PHP_SELF'] sisältää nykyisen sivun osoitteen

Tontttu [26.12.2005 14:28:15]

#

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

ajv [26.12.2005 14:39:07]

#

Puolipiste puuttuu ekalta riviltä.

Draiz [26.12.2005 15:19:18]

#

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.php)

Tontttu [26.12.2005 17:32:04]

#

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/testi.php on line 4"

Opiskelija [26.12.2005 17:35:32]

#

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

Tontttu [26.12.2005 17:55:39]

#

:) Kiitos. Nyt vielä, mitä mun pitää laittaa tuoho osotteeks ku mul on se juttu et sivuje osotteet on muotoo /?sivu=testi

Juice [26.12.2005 18:11:27]

#

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

$sivu = $_GET["sivu"];
if($sivu == "testi") echo "<h2>Testisivu</h2>";

Tontttu [26.12.2005 19:07:47]

#

Kiitti! :)

Matso [29.12.2005 13:14:03]

#

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

$sivu = $_GET["sivu"];
if($sivu == "testi") echo "<h2>Testisivu</h2>";

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:

if(!empty($sivu)) echo "<h1>$sivu</h1>";

Juice [29.12.2005 20:01:19]

#

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 :)

Meitsi [29.12.2005 20:10:05]

#

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

$sivu = $_GET["sivu"];
if($sivu == "testi") echo "<h2>Testisivu</h2>";

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:

if(!empty($sivu)) echo "<h1>$sivu</h1>";

...ja kun käyttäjä huomaa tuon, hän tietenkin tulostaa html-koodia tai javascriptiä tms.

Juice [29.12.2005 20:21:22]

#

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 ;)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta