PHP Output cache ?

Programovacie jazyky, rady, poradňa...
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

PHP Output cache ?

Príspevok od používateľa Forsaken »

if(isset($_POST['go'])) {
ob_end_clean();
...
if($v1 > 90){die("Error");};
...
...
}

chcem toto:

pokial je podmienka splnena - zastav script, a zobraz Error
- to funguje...
nasledovne pokial ale opatovne zadam do input-u nieco a stlacim GO - hlaska Error tam zostane (od povodneho erroru) az kym script neprejde cely az potom zmizne...

chcel by som aby pri kazdom stlaceni tlacitka GO, vsetky echo a die ktore su z prechadzajucich requestov zmazali...

skusal som vsetko co je tu
http://php.net/manual/en/ref.outcontrol.php

a nic... kde robim chybu?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: ob_get_clean

Príspevok od používateľa harrison314 »

nepouzivaj ob_end_clean(); ale flush()

Kód: Vybrať všetko

<?php
ob_start();

for($i=0;$i<70;$i++)
{
    echo 'printing...<br />';
    ob_flush();
    flush();

    usleep(300000);
}

?>
//autoeditácia príspevku (29 Dec 2012, 15:11)
aj ked neviem ako sa to bude spravat v dnesnych prehliadacoch

//autoeditácia príspevku (29 Dec 2012, 15:13)
este ma napadlo, ze chybovu hlasku mozes schovat aj javascriptom
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: ob_get_clean

Príspevok od používateľa Forsaken »

flush vyflushuje kompletne vsetko... nechapem ze preco potom nefunguju premene v JS... ani obsah inputov nejde...

no dako sa mi to nezda... ze by som potreboval na skryvanie echa este javascript...

kto toto vymysla :D
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: ob_get_clean

Príspevok od používateľa harrison314 »

v JS sa neskryva echo ale HTML elemnt => <div id="errorMsg">Daco sa pokazilo</div>,
http://www.w3schools.com/jsref/event_form_onsubmit.asp
a nastavis mu display na hide
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: ob_get_clean

Príspevok od používateľa Forsaken »

hej napisal som kktinu ...
hlavne ze do toho si rypnes ale poradit k veci daco... :)

ja viem ze takto sa to da takto spravit cez JS, a na to som sa ani nepytal...pretoze neviem preco by som na jednu vec potreboval 2 jazyky...

moja predstava ja takato:

input -> submit ->script1: IF nieco DIE/ECHO
input -> submit ->script1: CLEAR PREVIOUS OUTPUT(echo/die)......... script ide dalej...

bohuzial ten predchadzajuci output sa vyclearuje az po zbehnuti komplet scriptu.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: ob_get_clean

Príspevok od používateľa harrison314 »

ale ber to tak, ze je to spravanie prehliadaca,

skusa daco taketo

Kód: Vybrať všetko

<?php
ob_start();

?>
<head>
....
</head>
<body>
<?php
 ob_flush();
    flush();
 if(daco)
{
 echo "chyba";
 echo "</body>";
}
?>
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: ob_get_clean

Príspevok od používateľa Forsaken »

nejde to ani tak...by ma zaujimalo ako sa to riesi u ludi co nemaju povoleny JS.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: ob_get_clean

Príspevok od používateľa harrison314 »

Forsaken napísal:nejde to ani tak...by ma zaujimalo ako sa to riesi u ludi co nemaju povoleny JS.
pridat tam kod

Kód: Vybrať všetko

<noscript>Prosim zapnite si JavaScript</noscript>
poslednu stranku co som robil (semistaticka) mala v sebe viacej JS ako HTML,
osobne si myslim ze tento problem nie je potrebne riesit, ak sa ti ta vec nacitava extremne dlho, tak vtedy tam das nejaky spinner,
v dnesnej dobe si uz neviem predstavit surfovanie po webe bez JS
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: ob_get_clean

Príspevok od používateľa Forsaken »

ok tak zobereme to z druhej strany...

na servery sa vykona script, a posle ECHO...

pri opatovnom zadani prikazu na vykonanie scriptu sa script zacne vykonavat - ale - ECHO o vykonani uz je zobrazene z predchadzajucej poziadavky (pricom este vykonavanie scriptu nieje dokoncene)... co s tym?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP Output cache ?

Príspevok od používateľa harrison314 »

vdaka dnesnym prehliadacom uz nic,
je to ich normalne spravanie
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: PHP Output cache ?

Príspevok od používateľa Forsaken »

tak nechapacka :D ....
ako potom riesis taketo nieco:

server riesi script kde berie data z viacerych zdrojov...

ako potom vypises ze server dokoncil co robil ?
posles hodnoty do JS ?
je to bezpecne?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP Output cache ?

Príspevok od používateľa harrison314 »

kolko to bude priblizne riesit?
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: PHP Output cache ?

Príspevok od používateľa Forsaken »

to ti neviem povedat ak bude na vstupe napr. random sleep, resp. user defined sleep v mojom kontretom pripade, lenze server bere tie sleepy z ineho zdroja, napr. excel filu, ku ktoremu nema pouzivatel na strane prehliadaca pristup.

pokial tvrdis ze teraz sa toto riesi cez JS, tak ma zaujima aka je ta najidealnejsia podmienka v JS
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP Output cache ?

Príspevok od používateľa harrison314 »

ak je to niekolko sekund, tak to nema cenu riesit,
ak je to do desat minut, tak cez ajax,
ak je to niekeolko hodin tak cez emailovu notifikaciu

Aspon prezrad ten cas od do, lebosi nedokazem predstavit naco je to dobre.
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: PHP Output cache ?

Príspevok od používateľa Forsaken »

tak pekne poporiadku.

bavime sa o "clearovani" echa(vypisu) z predchadzajuceho volania scriptu., ktore sa objavi v novom volani scriptu z predchadzajuceho volania...

ty vravis ze to mam echo-vat HTML DIV a zmenit mu viditelnost cez JS, to som pobral. a tu sa rozumieme. (s tym ze mne sa toto riesenie nezda vid dalsie riadky)

Aka je potom spravna podmienka v JS, na zviditelnenie/zneviditelnenie HTML DIV, ked:

- nevies kolko script bude robit: vies to jedine v tedy keby si do JS posielal data z php premenej - aj to by pravdepodobne dorucilo az ked by script behol dokonca)...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP Output cache ?

Príspevok od používateľa harrison314 »

Skus ma uvies do problemu naco to pouzijes, ale konkretne pouzite ako to vidi pouzivatel, a aj mi vysvetli preco tam ten sleep treba.
A potom ti budem moct seriozne poradit, potrebujem vidiet suvislosti a kontext.
Mne sa to riesenie cez "cleen" naozaj nezda.
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: PHP Output cache ?

Príspevok od používateľa Forsaken »

napr. pri jednoduchom logine:
robis presne toto ako pisem:
1. zadas login
2. zadas heslo
3. kliknes LOGIN

3a. LOGIN SCRIPT zacne robit, nezalezi co robi, nieje to podstatne ale dajme tomu ze to robi 5s

4. zadal si ale zle heslo - vypise ti pod login formom (nepodstatne kde) hlasku "zle heslo" - LOGIN SCRIPT sa zastavi DIE("Zle heslo");

(pokial nedas refresh/reload/redirect, stale na stranke pod login formom bude pisat "zle heslo", pokial tam das JS musis nastavit podmienku dokedy ma byt DIV zo zlym heslom viditelny.)

5. teraz ti na stranke pise "zle heslo" tak zadas heslo znova
6. kliknes na LOGIN
6a. LOGIN SCRIPT zacne robit (robi to 5s) - za tychto 5s, po kliknuti tlacitka LOGIN ti stale svieti "zle heslo" az kym script nedojde na koniec.

ja potrebujem aby ked pri bode 6. kliknes na LOGIN tak ti hlaska "zle heslo" zmizla hned a nebola cachovana z previous requestu.

O1: tu sa chapeme?

a toto je vsetko iba teoreticky priklad ked vies ze LOGIN SCRIPT ma delay 5s tak vies nastavit skryvanie za 5s... ale ja sa pytam ked netusis kolko bude ten SCRIPT sa vykonavat, (vie to len PHP server na zaklade podmienok) ako nastavit JS ?, pretoze PHP script ti posle hodnotu do JS az po svojom vykonani
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP Output cache ?

Príspevok od používateľa harrison314 »

Kód: Vybrať všetko

<script>
function sendForm()
{
    var form = document.GetElementById("myForm");
    var errMsg = document.GetElementById("errorMsg");
    if(errMsg)
     errMsg.style.display = "none";
   form.Submit();
}

</script>
<div id="reeMsg">Zadali ste zle heslo</div>
<form id="myForm" action="...." method="POST" >
 <input type=text name="meno" />
 <input type="text" name="heslo" />
 <input type="button" value="Send" onClick="sendForm" />
</form>
to som ti uz spominal v druhom prispevku, pred odoslanim noveho mena/hesla skryjes errorovu hlasku,
v tom kode si skontroluj velkost pismen, pisem to narychlo
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: PHP Output cache ?

Príspevok od používateľa Forsaken »

daco ine som myslel, toto je kazdemu jasne... este napisem :cry:
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP Output cache ?

Príspevok od používateľa harrison314 »

vsak ten kod robi presne to co si chcel
ja potrebujem aby ked pri bode 6. kliknes na LOGIN tak ti hlaska "zle heslo" zmizla hned a nebola cachovana z previous requestu.
Napísať odpoveď