Čau,
jestli se tohle téma už řešilo, omlouvám se, odkažte mě na něj, nenašel jsem.
K VĚCI:
Jak mám do URL přidat proměnnou, když už tam jedna je?
Vím, že se oddělují ampersandem, ale nevím, jak to napsat, aby se prostě za už existující odkaz a proměnnou v URL připojila další (aniž by smazala tu předchozí).
Snad jsem to podal jasně, díky moc za odpoveď
Metod je více. Je to jen o představivosti.
Pokud máš třeba domena.tld/neco.php?promena=hodnota a domena.tld/neco.php, a chceš tam přidat proměnu, tak můžeš využít toho co první url má a druhý nemá. Tedy otazník. Přítomnost otazníku značí, že url obsahuje proměnné.
Tak stačí podmínka: obsahuje url otazník, pak použij $url . '&promena=hodnota', jinak použij $url .'?promena=hodnota'.
Další variantou je url rozparsovat a získat query string. Do query připojíš proměnu a pak to celé url zase složit. Tím získáš nové url s přidanou proměnou.
Tu první variantu jsem pochopil ale nejsem uplně s to napsat tu podmínku;
if ( jak napsat tu podmínku ) a jak vlastně napsat i ten příkaz
else a zase ten příkaz
Php se teprve učím od základů.. (a všude píšou jak podmínky fungují a jak porovnávat třeba čísla, ale takové příkazy jestli URL něco obsahuje nikde...) Díky moc
Tak určitě lze někde nalézt i tu podmínku na toto. Jen jaksi není součásti výuky.
Jestli teprve začínáš, tak jsi vybral poněkud tvrdý oříšek.
V prvé řadě je potřeba získat to url. Nevím, zda se url zadává ručně, z db nebo přímo ze serveru. Pokud ze serveru, pak je to sestavení ze superglobální proměny $_SERVER. Na netu stačí hledat něco jako "php get url".
Pokud už toto url máš, pak sestavíme podmínku. Podmínka není nic jiného než zjištění pravda nebo nepravda. Tudíž obsah podmínky musí vracet toto. Od toho se obvijí ten zbytek - pravda, udělej toto, nepravda udělej tamto. Najít otazník je práce s řetězci. Takže najít odpovídající PHP funkci "php find char in string". V tomto případě je to třeba strpos(). Nastudujeme manuál, jak to pracuje - www.php.net/strrpos. Máme tedy podmínku if ( strpos($url,"?") !== false ). Řetězec obsahuje otazník, vrací pravdu. Neobsahuje otazník, vrátí nepravdu.
No a zbytek je brnkačka. Není to nic jiného než spojování řetězců pomoci tečky. Viz výše již uvedeno.