Autor | Zpráva | ||
---|---|---|---|
Mikeses Profil |
#1 · Zasláno: 30. 10. 2009, 22:29:07
Potřeboval bych, když je stranká napr http://localhost/index.php?menu=profil&id=1 aby se includoval profil.php
Měl jsem : <?php $menu = $_GET["menu"]; if ($id != "") {include "./profil.php";} Ale hazí mi to warningy... Neznáte nějaký next způsob ? |
||
Beavis Profil |
#2 · Zasláno: 30. 10. 2009, 22:34:21
Mikeses:
Bylo by dobré uvést chybovou hlášku. |
||
AM_ Profil |
#3 · Zasláno: 30. 10. 2009, 22:34:23
- kde bereš proměnnou $id
- ta proměnná menu je tam trochu nanic :) vždyť jí vůbec nepoužíváš <?php if (isset($_GET['menu'])) { $menu = preg_replace('/[^a-z]/i', '', $_GET["menu"]); //kvuli bezpecnosti include "./$menu.php"; } ?> |
||
Mikeses Profil |
#4 · Zasláno: 30. 10. 2009, 22:44:49 · Upravil/a: Mikeses
AM:
> kde bereš proměnnou $id > - ta proměnná menu je tam trochu nanic :) vždyť jí vůbec nepoužíváš <?php $menu = $_GET["menu"]; $menu = preg_replace('/[^a-z]/i', '', $_GET["menu"]); if ($menu == "portal") {include "./inc/obsahportal.inc";} elseif ($menu == "register") {include "./inc/obsahregister.inc";} elseif ($menu == "register2") {include "./inc/obsahregister2.inc";} elseif ($menu == "register3") {include "./inc/obsahregister3.inc";} elseif ($menu == "fail") {include "./inc/fail.inc";} elseif ($menu == "members") {include "./inc/members.inc";} elseif ($id != "") {include "./inc/profil.inc";} elseif ($menu == "online") {include "./inc/online.inc";} elseif ($menu == "edit") {include "./inc/edit.inc";} elseif ($menu == "pwedit") {include "./inc/pwedit.inc";} elseif ($menu == "changepw") {include "./inc/changepw.inc";} elseif ($menu == "chat") {include "./inc/chat.inc";} elseif ($menu == "finishedit") {include "./inc/finishedit.inc";} elseif (isset($_GET['menu'])) { include "./$menu.php"; } else {include "./inc/obsahportal.inc";} ?> |
||
Alphard Profil |
#5 · Zasláno: 31. 10. 2009, 01:21:17 · Upravil/a: Alphard
Mikeses:
Má tam ten preg_replace() vůbec smysl? $menu = isset($_GET["menu"]) ? $_GET["menu"] : "portal"; switch ($menu) { case "portal": include "./inc/obsahportal.inc"; break; case "register": include "./inc/obsahregister.inc"; break; // ... } |
||
Mikeses Profil |
#6 · Zasláno: 31. 10. 2009, 08:10:46
ae ja nepotrebuju co nejvyhodnejsi zousib includovani potrebuji kdyz je stranka např.
menu=profil&id=16554 aby se includoval profil.php |
||
AM_ Profil |
#7 · Zasláno: 31. 10. 2009, 10:08:57
Mikeses:
to můj skript dělá, a nejen, vše includuje automaticky podle menu=, ty tvoje tisíce řádek můžeš zahodit :) v tvém skriptu je ten replace pochopitelně k ničemu |
||
Mikeses Profil |
#8 · Zasláno: 31. 10. 2009, 10:27:37
ja nevim jak to tvoje mam pouzit ja to jaksi nechapu
|
||
AM_ Profil |
#9 · Zasláno: 31. 10. 2009, 10:31:20
<?php if (isset($_GET['menu'])) { $menu = preg_replace('/[^a-z]/i', '', $_GET["menu"]); //kvuli bezpecnosti, odstraneni specialnich znaku z promenne menu } else { $menu = 'default'; //vychozi stranka } include "./inc/$menu.php"; //vlozeni souboru s odpovidajicim nazvem z adresare //inc ?> Co na tom lze nechápat? Tímhle když nahradíš celý ten tvůj kód a příp. si ho upravíš (výchozí stránku třeba), máš vyřešeno. To ověřování ID je logicky nekonzistentní, stačí vždy jít podle proměnné $menu (když někdo zadá ?menu=chat&id=10, podle tebe to půjde na profil a ne na chat, což je dost divné chování). |
||
Mikeses Profil |
#10 · Zasláno: 31. 10. 2009, 10:32:16
uz to chapu .... ae tedka musim vsechno pojmenovat stejne :D
|
||
Alphard Profil |
#11 · Zasláno: 31. 10. 2009, 10:57:45
Mikeses:
„ae tedka musim vsechno pojmenovat stejne“ Já jsem vám napsal druhou verzi. Rozhodněte se, jestli to budete radši vyjmenovávat, nebo pojmenovávat shodně. Pokud zvolíte verzi od AM_, skombinoval bych to ještě s file_exists(). |
||
Časová prodleva: 14 let
|
0