Autor Zpráva
maks
Profil
Ahoj,

omlouvám se, jestli jsem nadepsal dotaz špatně, nevím, jak bych to v pár slovech shrnul a vystihnul. Jde o to, že mám vlastní CMS na subdoméně cms.web.cz, každý web, který na CMS běží, má v DB jiný prefix u tabulek.

Přihlášení rozpoznávám přes GET, mám tedy cms.web.cz/admin/login.php?login=projektA, cms.web.cz/admin/login.php?login=projektB, atd.

V configuračním souboru mám switch na HTTP_REFERERU, který se vlastně liší jen tím koncem, tedy projektem.
switch (HTTP_REFERER) { //z refereru kucham jen ten konec
  case "projektA":
    dbname = 'nameA';
    dbpass = 'passA'; 
    dbprefix = 'prefixA';
    break;
  case "projektB":
    dbname = 'nameB';
    dbpass = 'passB'; 
    dbprefix = 'prefixB';
    break;
  default:
    dbname = 'nameDemo';
    dbpass = 'passDemo';
    dbprefix = 'prefixDemo';
    break;
}


Vše funguje v pořádku, přihlášení se zdaří jen na jméno z dané tabulky, to je OK. Jenže při přechodu na další stránku se mi změní REFERER a data se načtou z Dema, tedy z default větve. Já se ptám, jak toto řešit správně?

Děkuji.
Aichi
Profil
Ukládat si ten projekt do session prihlaseneho uzivatele a pak v tom switchi preferovat udaj ze session
maks
Profil
Aichi:
session mě taky napadly, ale musel bych jí nastavit, stejně jako nastavuji údaje teď, až po (úspěšném) pokusu o přihlášení. Trochu v tomhle tápu, jak to udělat nejlépe. Kdybych do každé větve přidal session a tu pak porovnával, problém bude stejný jako teď - nastaví se správná session, po přechodu na jinou stránku opět spadnu do default větve = session se mi přepíše na Demo.
maks
Profil
Aichi:
Ukládat si ten projekt do session prihlaseneho uzivatele
teď jsem si uvědomil jednu věc. Tohle (asi) nepůjde, uživatel se přihlašuje tak, že vyplní login, který se musí porovnat s DB - a připojení k DB je pokaždé jiné, určuje se dle URL, z které se přihlašuji.

Musí tam být switch s DB údaji, který se musí řídit dle URL.


Dalo by se nějak v PHP napsat něco ve smyslu: "Pokud už proměnná obsahuje nějaký řetězec, nepřepisuj jí."? Ten začátek vím, to je !empty, ale ten konec, jestli to půjde.

Nebo je taky dost možné, že na to jdu úplně špatně :) Myslel jsem si, že to bude banální záležitost a asi tak úplně není :(

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0