Autor Zpráva
leonek
Profil
Ahojte

V PHP košíku kontroluji, zda-li nebylo během potvrzení objednávky vyprodáno zboží, které chce zákazník objednat. Když ano, script ho vrátí do košíku a zobrazí varovnou hlášku, že bylo některé zboží z košíku vyprodáno. Na PC vše funguje jak má, ale na mobilu (Lenovo Vibe P1m - Android 5.1) se varovná hláška vůbec nezobrazí, nepřesměruje se zpět do košíku, jen se košík správně přepočítá.

část funkce kosik:
if($celkovynovypocetks < count($kosik)){ // pokud je položek méně než na začátku tak oznámit odebrání položky 
  if($GLOBALS['page'] == "formular"){ $_SESSION['hlaska']="Před odesláním objednávky bylo vyprodáno některé zboží z vašeho košíku.";
    header("Location: http://www.server.cz/kosik/"); die(); }
  else{ $_SESSION['hlaska']="Z vašeho košíku bylo odstraněno vyprodané zboží."; }
}

Zobrazení hlášky:
if((time() > strtotime($set_hlaska_od) AND time() < strtotime($set_hlaska_do)) OR !empty($_SESSION['hlaska'])){
       $vypsat_hlaska = "<div class=\"kosik_hlaska\" id=\"kosik_hlaska\"><div class=\"kosik_hlaska_in\">".$_SESSION['hlaska'].$set_hlaska_kos."</div><div class=\"kosik_hlaska_krizek\" onclick=\"document.getElementById('kosik_hlaska').style.display='none';\"></div></div>"; unset($_SESSION['hlaska']); }
Casero
Profil
Určitě jsi zkoušel debbugovat.
Na androidu se to dostane do větve s přesměrováním?
Co je obsahem $_SESSION?
Je problém v tom, že se "neudrží" session? tedy že se v androidu nikde "nepředáva" mezi serverem a browserem?
leonek
Profil
Opraveno: funkce count() vyměněna za příhodnější array_sum()

Count spočítá jen počet druhů zboží, nikoli celkový počet všech jednotlivých položek.

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: