Rezultate 1 la 5 din 5

Subiect: Simulare postback si viewstate in PHP?

Afișare hibrid

  1. #1
    Avatarul lui Federals
    Federals este deconectat Ambasador
    Reputatie:
    35
    Data înscrierii
    29th November 2007
    Locaţie
    Bucuresti
    Posturi
    612
    Putere Rep
    35


    Implicit Simulare postback si viewstate in PHP?

    Sunt nevoit momentan sa fac o aplicatie web nu in ASP.NET, cum eram obisnuit, ci in PHP, iar cele doua tehnici imi erau utile.

    Aveti idee cum le pot simula in PHP?

    Mersi!

  2. #2
    Avatarul lui Dragos Flusca
    Dragos Flusca este deconectat Membru SeoPedia
    Reputatie:
    33
    Data înscrierii
    1st July 2008
    Posturi
    33
    Putere Rep
    33


    Implicit

    Nu stiu exact la ce se refera cele doua.. dar.. din cate stiu cred ca ai putea sa faci un mix intre JS si PHP sa obtii acelasi efect.

    Stii ce faci cu $_POST['numecamp'] ?
    Te-ai gandit la campuri ascunse in pagina?

    Ai cautat pe google? poate gasesti ceva gata facut. eu sunt genul care face totul de la 0.
    Daca nu se gaseste altcineva sa ajute, explica-mi scurt ce fac postback si viewstate. Mai exact ce vrei tu sa faci cu ele.

  3. #3
    Avatarul lui Federals
    Federals este deconectat Ambasador
    Reputatie:
    35
    Data înscrierii
    29th November 2007
    Locaţie
    Bucuresti
    Posturi
    612
    Putere Rep
    35


    Implicit

    Citat Postat în original de Dragos Flusca Vezi Post
    Nu stiu exact la ce se refera cele doua.. dar.. din cate stiu cred ca ai putea sa faci un mix intre JS si PHP sa obtii acelasi efect.

    Stii ce faci cu $_POST['numecamp'] ?
    Te-ai gandit la campuri ascunse in pagina?

    Ai cautat pe google? poate gasesti ceva gata facut. eu sunt genul care face totul de la 0.
    Daca nu se gaseste altcineva sa ajute, explica-mi scurt ce fac postback si viewstate. Mai exact ce vrei tu sa faci cu ele.
    ViewState e un camp hidden de forma:

    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMjgzMDgzOTgzZGQJxOsir4ub7qxJucVwfxj5nBYdSg= =" />

    care pastreaza toate informatiile din campuri la refresh. Adica daca completezi orice form si dai refresh, de obicei la PHP pierzi tot ce ai scris, in ASP.NET nu. M-ar fi interesat asta si in PHP.

    PostBack e de fapt o proprietate AutoPostBack care daca e pusa enabled pe orice camp care o suporta, imediat ce un text dintr-un input sau un checkbox, sau un radiobutton care s-a schimbat, pagina isi face refresh automat si se pot face diverse operatii in acel moment.

    Exemplu:

    Daca am un TextBox (<input name="TextBox1" type="text" value="blabla" onchange="javascript:setTimeout('__doPostBack(\'Te xtBox1\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="TextBox1" />)

    si daca schimb textul din acel camp si ies cu focusul din el (de ex cu un tab), pagina ia acea valoare noua pe care am scris-o, isi face refresh prin postback, executa anumite functii date de tine la eventul onchange, apoi cand revine pune si textul inapoi in acel camp. Fara niciun pic de JavaScript scris, doar cateva optiuni bifate (unele pornite by default), si fara niciun buton pe form.

    Practic daca ati scris aplicatii Windows, se comporta exact la fel ca acolo, postback si viewstate simuleaza aplicatiile Windows pentru un Web care pana la urma e stateless

    As fi vrut functionalitatile astea si in PHP. Google nu prea m-a lamurit, decat cu ceva JavaScript scris manual, dar cam mult. Ma gandeam ca exista vreun framework care face toate astea.

    Mai multe despre postback si viewstate puteti sa vedeti aici, intr-un tutorial video: http://www.asp.net/learn/videos/video-12.aspx

    Iar functia de postback generata automat de ASP.NET e asta:

    function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
    theForm.__EVENTTARGET.value = eventTarget;
    theForm.__EVENTARGUMENT.value = eventArgument;
    theForm.submit();
    }
    }

    unde proprietatile alea sunt:

    <form name="form1" method="post" action="Default.aspx" id="form1">
    <div>
    <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
    <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
    <input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMjgzMDgzOTgzZGQJxOsir4ub7qxJucVwfxj5nBYdSg= =" />
    </div>

  4. #4
    Avatarul lui Dever
    Dever este deconectat Ambasador
    Reputatie:
    37
    Data înscrierii
    28th July 2006
    Locaţie
    UK
    Vârstă
    45
    Posturi
    378
    Putere Rep
    37


    Implicit

    Nu sunt sigur daca am inteles exact ce vrei tu .. am impresia ca vrei un fel de autosave fara ca userul sa faca ceva nu ? (cum are wordpress-ul salvarea drafturilor din x in x secunde ?).

    Google -> AJAX periodical updater pt partea de js (pe scurt ai un js care apeleaza la un interval de timp un PHP)
    Pt partea de PHP folosesti sesiuni.
    Dever's Blog - Atentie! dau cu parerea.

  5. #5
    Avatarul lui Bruzli
    Bruzli este deconectat Administrator
    Reputatie:
    44
    Data înscrierii
    25th April 2005
    Locaţie
    Oradea
    Vârstă
    47
    Posturi
    980
    Putere Rep
    44


    Implicit

    Sunt framework-uri php care au librarii asemanatoare, dar pana le inveti mai repede iti faci formularul cu plain php.

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •