Autor Zpráva
tomas657
Profil
Zdravím, mám takýto problém... potrebujem mať na webe adresy v štýle index.php?rubrika=nazov-rubriky&clanok=nazov-clanku... problém nastáva, ked názov článku obsahuje otáznik.. napr. index.php?nazov-rubriky&clanok=kolko-je-hodin? .. vtedy to vypíše chybu a článok sa nezobrazí... ako spraviť aby to fungovalo aj s otáznikom v názve článku?
Taps
Profil
tomas657
a jaký máš důvod dávat do url adresy otazník?
tomas657
Profil
[#2]
mám publikačný systém v ktorom sa dajú pridávať na web články.. a ak niekto pridá článok s "?" s názve, tak to hádže chybu...
DoubleThink
Profil *
Používej urlencode() - ten ti udělá z otazníku neškodné %3F
panther
Profil
tomas657
a ak niekto pridá článok s "?" s názve, tak to hádže chybu...
tak otazníky a jiné znaky, které do adresy nepatří, filtruj

EDIT: DoubleThink byl rychlejší.
tomas657
Profil
[#4]
mám to takto kodovať pri ukladaní článku do databázy alebo až pri jeho výpise? či ako?
blizz_boz
Profil
tomas657

v databáze si vytvoríš stĺpec v ktorom budeš mať uložené názvy článkov ako uri

a použi mod rewrite, nech to vyzerá lepšie, a potom môžeš použiť túto funkciu na tvorbu tých adries z nadpisov:

http://ipremiere.eu/davová-psychóza-a-seo-friendly-adresy.html

toto:

/index.php?nazov-rubriky&clanok=kolko-je-hodin


môžeš pomocou modulu rewrite zmeniť napr. na toto:

/nazov-rubriky/kolko-je-hodin.html
tomas657
Profil
pozrite sa, ja to mám takto...

adresa.com/rubrika/podrubrika/clanok/ ... a to sa pomocou mod rewrite podstrkáva súbor clanok.php?rubrika=rubrika&podrubrika=podrubrika&clanok=clanok

a mám aj v databáze stlpce nazov_clanku, nazov_clanku_url, clanok, atd.

a súbor clanok.php vypíše z databázy na základe stlpca nazov_clanku_url článok s názvom z adresy (cez GET)

kde mám teda použiť funkciu urlencode()? pri čítaní url názvu článku z adresy cez GET? alebo pri ukladaní do db? alebo ako?
tomas657
Profil
Problém vyriešený, ďakujem Vám za snahu pomôcť...

vyriešil som to takýmto prevodom:

$prevod = Array(

'ä'=>'a',
'Ä'=>'a',
'á'=>'a',
'Á'=>'a',
'č'=>'c',
'Č'=>'c',
'ć'=>'c',
'Ć'=>'c',
'ď'=>'d',
'Ď'=>'d',
'ě'=>'e',
'Ě'=>'e',
'é'=>'e',
'É'=>'e',
'ë'=>'e',
'Ë'=>'e',
'í'=>'i',
'Í'=>'i',
'ľ'=>'l',
'Ľ'=>'l',
'ń'=>'n',
'Ń'=>'n',
'ň'=>'n',
'Ň'=>'n',
'ó'=>'o',
'Ó'=>'o',
'ö'=>'o',
'Ö'=>'o',
'ô'=>'o',
'ř'=>'r',
'Ř'=>'r',
'ŕ'=>'r',
'Ŕ'=>'r',
'š'=>'s',
'Š'=>'s',
'ś'=>'s',
'Ś'=>'s',
'ť'=>'t',
'Ť'=>'t',
'ú'=>'u',
'Ú'=>'u',
'ü'=>'u',
'ů'=>'u',
'Ü'=>'u',
'ý'=>'y',
'Ý'=>'y',
'ž'=>'z',
'Ž'=>'Z',
'ź'=>'z',
'Ź'=>'z',
'?'=>'' ( otáznik sa v url adrese zmení na nič.. zmizne)
);
Toto téma je uzamčeno. Odpověď nelze zaslat.

0