PHP-ban a háromoperandusú műveletjelet hogy kell linkre alkalmazni?
$egyik_valtozo_amit_akarsz = vmi;
$masik_valtozo_amit_akarsz = $egyik_valtozo_amit_akarsz;// az elsőnek a másolata kerül így a $masik_valtozo_amit_akarsz-ba
$egyik_valtozo_amit_akarsz = vmi2;
print "$masik_valtozo_amit_akarsz"; //ezt irja majd ki de egyik valtozo amit akarsz -ra mutat szal oda viszi át
Nem igazán értem mit akarsz...
...
<a href='index.php?page=letoltesek'>
...
...
$a = array( 'index', 'letoltesek', 'mittomenmi' );
<?php
if ( isset($_GET['page']) )
{
$p = $_GET['page'];
if ( in_array( $a, $_GET['page'] ) )
{
require_once( $_GET['page'] . '.php' );
}
}
Amit én írtam nem switch-el van, szerintem így egyszerűbb...
A következőképpen használd:
Van az $a változód, amely egy tömb. Ebbe belerakod az összes oldal nevét a végén lévő .php nélkül. (pl. belerakod a következőket: 'fooldal','letoltesek', stb. Az összes oldalad nevét bele kell raknod.
(Amit nem fogsz belerakni nem fog működni. Erre azért van szükség, mert másképp biztonsági rést készítesz az alatta lévő kóddal, alább elmagyarázom.)
Ezután ott van az if struktúra, ami az $_GET-ből szedi ki a "page" nevű elemet. (Az $_GET-ről bármilyen PHP-t tanitó oldalon találsz segítséget.)
Az $_GET-ben lévő dolgokat a felhasználó nagyon egyszerűen tudja modifikálni, így ha nem lenne a tömb, amivel ellenőrzöd, hogy jó-e, akár a saját PHP programját is elindíthatná a te szervereden, elérhetővé téve számára mindent.
Ezután, ha az if jónak találta (azaz benne van az általad készített oldalak között. Az in_array azt vizsgálja, hogy benne van-e valami a tömbben.) a kért oldalt, akkor behívja (require_once) a kért oldalt. Az oldal neve mellé automatikusan hozzáadja a ".php" véget, különben a linked így nézne ki: "index.php?page=valami.php" és ez igencsak csúnya.
Az oldalakat a következőképpen éred el:
pl. A "letoltesek.php" oldalt: [link]
Vagy egyszerűen: index.php?page=letoltesek
(A kódot még modifikálhatod, pl. egy asszociatív tömbbel, úgy a felhasználó nem látná a kért oldal nevét.
pl.
$a = ( 'letoltesek' => 'aletoltesekoldalneve.php', 'ize' => 'jajnekem.php' );
Ebben az esetben a hívásod is egyszerűbb lenne:
if ( isset( $a[ $_GET['page'] ] ) )
require_once( $a[ $_GET['page'] ] );
Meg az else ágban meghívhatod a főoldalt...)
Köszi így már mindent értek, és sikerült is megcsinálni, de megint egy kis hibába ütköztem. Hova rakjam ezt a kódot? Mert ha az index legelejére rakom, akkor be jön a linkelt oldal, de az index tetejére. Tehát ha lejjebb görgetek ott van a főoldal is. Az oldalaimat úgy építettem föl, hogy minden oldalba include-oltam a main.php -t ,és a foother.php -t. Ezekben írtam meg az indexet két részletbe. Valahogy így néz ki:
<?php
include('main.php'); //Ebben van az index első fele
?>
<!-- Itt a főoldalam tartalma -->
<?php
include('foother.php');//Ebben van az index második fele
?>
Köszi sikerült minden:)
Az else ágba raktam az fooldal.php -t, és az index.php csak ezt a kódot tartalmazza.
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!