Jak zjistit, zda byl předán parametr [vyřešeno]

7 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. ahoj, v php jsem slabý začátečník a potřeboval bych poradit s následující podmínkou. <?php if (!$id=="") { echo $titulek; } else { echo $titulek[$_GET['id']] . " - "; } ?> smylem jaksi mělo být: - pokud není žádný parametr (id) nebo je prázdný, tak vypsat titulek ($titulek="Můj první titulek";) - pokud je nějaký parametr, tak vypsat proměnnou z pole (array) $titulek = array(xx=>"XX titulek", yy=>"YY titulek"); druhá podmínka funguje, tedy pokud mám např. stranka.php?id=xx, vypíše se "XX titulek". Ale pokud je id prázdné, nebo není (je pouze stranka1.php), tak se mi vypíše titulek stránky, ale vždy pouze první písmeno. Místo "Můj první titulek" se zobrazí pouze "M". prošel jsem na netu všechno možý, až jsem dal dohromady tohle, ale teď už jsem v koncích:-) předem děkuji za pomoc. Mára
  2. echo $titulek["prvni"];
  3. PHP má volnost, pokud jde o typování proměnných. Což může být výhoda, ale i způsobit zmatek. Což se děje i zde. Spojujete hrušky s jablkama. Pokud je $titulek typován jako array, tak se pracuje jako pole. Vy zkoušíte $titulek jako string a to nejde. Tedy echo $titulek by ve skutečnosti mělo vypsat "Array". Takže v tomto směru tam musí být někde chybka. Jinak ten kód je řešen trochu nešťastně. Pokud se má testovat existence proměnné (hodnoty), pak by uvnitř podmínce měla být ona proměnná a ne ji umístit vně (za else). Takže správně by to mělo být asi takto <?php if (isset($_GET['id'])) // testujeme existenci proměnné { if($_GET['id'] == "") // testujeme prázdnost proměnné { echo $titulek[$_GET['id']] . " - "; } else { echo "Můj první titulek"; // vypíšeme při prázdné hodnotě id } } else { echo "Můj první titulek"; // Vypíšeme při neexistenci id } ?>
  4. Problemem bude zrejme to,ze podminka je nesplena a provede se cast v else .. vypise se pouze jeden znak, kdyz je $titulek retezec. Jako takovy typ retezec neexistuje - jedna se totiz pouze o seznam charu (znaku).. $prm = 'muj textovy obsah'; echo $prm[1]; //vypise u echo $prm[4]; //vypise t Osobne bych to tedy napsal takto: if(isset($_GET['id']) && $_GET['id'] != '' ) echo $titulek[$_GET['id']] . " - "; else echo $titulek;
  5. oprava: if($_GET['id'] != "") // testujeme prázdnost proměnné
  6. no když já mám rád hrušky i jablka:-) každopádně děkuji za pomoc, jak to napsal freeze, tak to funguje přesně, jak jsem chtěl. díkas
  7. <HTML>Vyřešeno, proto zamykám.<style>form { display: none; }</style></HTML>

← Zpět na všechna témata