Autor Zpráva
iru
Profil *
když předávám proměnnou odkazem, vše je v pořádku, ale předávám taky odkazem název a pokud obsahuje mezeru, tak se mě předá jenom první část. Například :

echo'<a href=sprava_hlavni.php?
id=2&id_kategorie='.$id_kategorie.'&nazev_kategorie='.$nazev_kategorie .' title=Zpět na seznam zboží kategorie '.$nazev_kategorie.'>Zpět na seznam zboží kategorie '.$nazev_kategorie.'</a>';

a když je $nazev_kategorie třeba vodní rostliny, tak předaná proměnná bude jenom vodní.

Ale když to mám tady:

<form action="karta1.php?id_kategorie=<?php echo $id_kategorie; ?>&nazev_kategorie=<?php echo $nazev_kategorie; ?>" method="post" enctype="multipart/form-data">

tak se proměnná předá správně.

Nevíte někdo jak to upravit, aby to fungovalo správně?
Marcus Flintus
Profil *
problém bude samozřejmě s tou mezerou.
myslím že nemá cenu pokoušet se to udělat nějak jak to bude s mezerou fungovat ale bude lepší, když ji rovnou nahradíš podtržítky. (+ diakritiku v adrese opravdu nedoporučuju)

u toho druhého formu ti to jistě funguje, protože tam máš metodu POST zatímco u té první metodu GET. u GETu si musíš dát bacha na spoustu věcí (což u POSTu nemusíš) - pač je to omezený adresou té stránky - tedy určitá délka obsahu proměnných, bacha na diakritiku, mezery a další.

nenapadá mě elegantnější možnost jak to řešit než tak jak to řešíš, takže ti nezbyde než se podle mých předchozích řádků zařídit.
Marcus Flintus
Profil *
(pokud teda někdo další nepříjde s elegantější a stejně spolehllivou možností).
možná sessions. ale těžko říct do jaké míry je dobrý je používat... a jak důležitou úlohu hrajou na tvé stránce ty proměnné.
Anonymní
Profil *
Napiš si funkci, která nahradí mezery "%20"


Speciální znaky

Pokud se ve jménu souboru vyskytuje mezera, je nutno nahradit ji v URL sekvencí znaků "%20". Říká se tomu URL encoding. Takto lze nahradit každý znak znakem procenta se dvěma znaky, které jsou šestnáctkovým zápisem toho původního znaku.
Takové překódování je nutné i v případě diakritizovaných znaků ve jménech souborů a adresářů. Mimochodem jména souborů a adresářů doporučují bez mezer, háčků a čárek, aby nevznikaly chyby a nebyla s tím práce.
opsáno z http://www.jakpsatweb.cz/html/url.html[/i]
Hugo
Profil
V php staci pouzit funkci URLEncode().
Anonymní
Profil *
V php staci pouzit funkci URLEncode().

Jééé díky, zase jsem o něco chytřejší :-) .
iru
Profil *
Mohla bych se zeptat, jak tu funkci použít, kam ji napsat? Tuto proměnnou potřebuji také do nadpisu, aby uživatel věděl kde se nachází, jinak by mě stačila bez diakritiky. Samozdřejmě bych si to mohla načíst z databáze, ale potřebuji se vrátit zpět na původní stránku (to je ta s formulářem a metodou POST) a tím pádem stránka musí mít stejné parametry.
krteczek
Profil
nazev_kategorie='.$nazev_kategorie .' =>> nazev_kategorie='.rawurlencode($nazev_kategorie) .'

a potom ve scriptu
$nazev_kategorie=rawurldecode($_GET['nazev_kategorie']);
krteczek
CATerPILAR
Profil
Ahoj,
já teda nevím ale mě to žádný problémy nedělá a píšu to uplně jednoduše mezery nemezery i s diakritikou.
např:
echo"<a href=\"index.php?action=view&target=personal&clen=akustická kytara, kytara&foto=drmy\">";

všimni si proměnné "clen", je v ní proměnná "akustická kytara, kytara"

echo $clen;

a máš to.
havs
Profil
hm, mě taky ne, naopak problémy mám na localhostu jen pod sessions (v admin rozhraní) v I Expl.
... ale to se týká jen odesílání z headers
Retal
Profil
2CATerPILAR: Všimni si rozdílného zápisu tvého a prvního postera. Nemá v anchoru URL ohraničené uvozovkami, takže mezera je považována za konec URL. U tvého zápisu s uvozovkami to prohlížeče zkousnou. Nicméně oběma bych doporučil proměnné encodovat Hugem zmíněnou funkcí.
A když už jsme u toho... Ampersand by měl být zapsaný jako entita (tj. ne "&" ale "&amp;").
Toto téma je uzamčeno. Odpověď nelze zaslat.

0