Autor | Zpráva | ||
---|---|---|---|
libor XYZ Profil |
#1 · Zasláno: 17. 10. 2010, 12:41:20
dobrý den,
prosím o radu... do teď jsem proměnnou v menu předával prostřednictvím příkazového řádku: echo ("<a href= $PHP_SELF?id=$data[id] > $data[menu] </a> <br> "); rád bych využil session, které ale do tého konstrukce neumím začlenit... nasměruje mě nekdo prosím jak na to? díky Libor |
||
Radovan789 Profil * |
#2 · Zasláno: 17. 10. 2010, 12:47:43
Jsou to základy PHP:
echo("text"."text"."text") //vypíše: texttexttext $promena = "text2"; echo($promena.$promena) //vypíše: text2text2 $promena = "text2"; echo($promena." mezera ".$promena) //vypíše: text2 mezera text2 //tvůj příklad: echo ("<a href=".$PHP_SELF?id=$data[id] > $data[menu]."</a> <br>"); |
||
Keeehi Profil |
#3 · Zasláno: 17. 10. 2010, 13:40:12
Radovan789:
1) problémy se základy máš ty 2) Odpovídáš na něco úplně jiného libor XYZ: //soubor1.php session_start(); $_SESSION['idecko'] = $data[id]; echo ("<a href=\"soubor2.php\">".$data['menu']."</a> <br>"); //soubor2.php session_start(); // místo tohoto: $promenna = $_GET["id"]; použijete následující řádek $promenna = $_SESSION['idecko']; |
||
libor XYZ Profil |
Keeehi:
ano tomu rozumím, ale když mám to menu tvořeno vice odkazy generovanými v cyklu z databaze SQL? Nejak takto? while( $data = mysql_fetch_array( $dbdata )) { echo ("<a href= $PHP_SELF?id=$data[id] > $data[menu] </a> <br> "); }; tak mi to asi bohužel nepomůže… Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na
![]() |
||
Keeehi Profil |
#5 · Zasláno: 17. 10. 2010, 15:31:59 · Upravil/a: Keeehi
libor XYZ:
„tak mi to asi bohužel nepomůže…“ Ano nepomůže. Když byste se chtěl toho ?id=* zbavit, zůstaly by vám odkazy všechny stejné. Podle čeho by asi měl script poznat, že jste klikl na první, druhý, nebo třetí odkaz, když jsou všechny stejné? Pokud však těch parametrů máte v adrese více, šly by pomocí sessions zkrátit na jeden. Jeden tam však vždy zůstat musí, kvůli rozlišení odkazů mezi sebou. |
||
libor XYZ Profil |
#6 · Zasláno: 17. 10. 2010, 15:35:12
přesně... <:) to je můj dotaz...
jak tedy zkonstruovat dynamicky generované menu za použití session? |
||
radas Profil * |
#7 · Zasláno: 17. 10. 2010, 15:48:20
a co si všechny položky uložit do pole?
|
||
Keeehi Profil |
#8 · Zasláno: 17. 10. 2010, 15:51:00 · Upravil/a: Keeehi
//soubor1.php while( $data = mysql_fetch_array( $dbdata )){ echo "<a href=\"soubor2.php?id=$data[id]\"> $data[menu] </a><br>\n"; $_SESSIONS[$data['id']]=array($data['sloupec1'],$data['sloupec2'],$data['sloupec3'],$data['sloupec4']); } //soubor2.php $idecko = $_GET['id']; print_r($_SESSION[$idecko]); |
||
libor XYZ Profil |
#9 · Zasláno: 17. 10. 2010, 16:55:07
děkuji to vypadá že bude ono... prostuduji si to a zkusím...
vidím, že to už jde i dál a kromě řádků to řeší i sloupce... ale asi mi bude vypisovat tu hodnotu "\"soubor2.php?id=$data[id]\" v navigačním řádku... někde jsem zahlídl doporužení, že to z bezpečnostních důvodů není vhodné. Je možné, prosím, nějak tomu vypsání zamezit? děkuji za Vám za váš čas |
||
Keeehi Profil |
#10 · Zasláno: 17. 10. 2010, 17:07:11 · Upravil/a: Keeehi
//soubor1.php $i=0 while( $data = mysql_fetch_array( $dbdata )){ $i++; echo "<a href=\"soubor2.php?id=$i\"> $data[menu] </a><br>\n"; $_SESSIONS["cojavim"][$i]=array($data['id'],$data['sloupec2'],$data['sloupec3'],$data['sloupec4']); } //soubor2.php $idecko = $_GET['id']; print_r($_SESSION["cojavim"][$idecko]); V adrese se sice id přenáší, avšak jde o jiné id, než je v DB. Jestli chcete, klidně si to můžete přejmenovat třeba na "buchta". |
||
radas Profil * |
#11 · Zasláno: 17. 10. 2010, 17:11:08
Keeehi:
můžu se zeptat proč tam je to i? tam bych spiš dal $data['id'] co když bude odkaz odkazovat na neplatné ID? |
||
Keeehi Profil |
#12 · Zasláno: 17. 10. 2010, 17:27:51
radas:
Protože to id z databáze chtěl libor XYZ skrýt. |
||
Keeehi Profil |
#13 · Zasláno: 17. 10. 2010, 17:29:37
radas:
„můžu se zeptat proč tam je to i“ Protože to id z databáze chtěl libor XYZ skrýt. „co když bude odkaz odkazovat na neplatné ID?“ Tak se nic nestane, protože v $_SESSIONS["cojavim"][64984] prostě nic nebude. |
||
libor XYZ Profil |
#14 · Zasláno: 17. 10. 2010, 17:59:45
ano, to je řešení...
nicméně ještě se trochu vrátím k tomu strytí udajů v navigačním řádku... v nekterých redakčních systémech (určitě v Drupalovi) je volba nějak jako "čisté URL" Jak je potom řešen přenos hodnot do další stránky pro navigaci? |
||
Keeehi Profil |
#15 · Zasláno: 17. 10. 2010, 18:11:07
Drupal to dělá si takto: http://www.drupal.cz/clanky/pro-webmastery/drupal-a-seo-II-cista-url
|
||
libor XYZ Profil |
#16 · Zasláno: 17. 10. 2010, 18:44:33
<:) koukám, že jsem se ptal blbě,
já si nějak zapamatoval jen ten termín... a už si neuvědomil o čem je... ale děkuji, super inspirativní článek hodný zamyšlení... a teď už se nebudu prát a zkusím něco dělat... děkuji velice Keeehi... |
||
Keeehi Profil |
#17 · Zasláno: 17. 10. 2010, 18:45:39
libor XYZ:
Rádo se stalo. |
||
Časová prodleva: 15 let
|
0