JFernandesVR Posted September 23, 2013 at 11:46 AM Report #525544 Posted September 23, 2013 at 11:46 AM (edited) Boas pessoal. mais um post mais uma dúvida. Qual a forma de manter o valor de uma variável por mais vzes que a página faça refresh? <form action="" enctype="multipart/form-data" method="POST" name="pesqa" id="pesqa" onsubmit="return verifica(this)"> <table align="center" width="100%"> <tr> <td colspan="4" align="center" class="style1"> Ordenar por:<input type="hidden" name="texto2" value="<?php echo $_POST['texto'] ?>" /> </td> </tr> <tr> <td class="style30" valign="top" align="center"> Descrição<input type="image" src="images/arrow-down.png" value="descdesc" name="descdesc" alt="descdesc" width="25" height="25"/><input type="image" src="images/arrow-up.png" name="descasc" value="descasc" alt="descasc" width="25" height="25"/> </td> <td class="style30" valign="top" align="center"> Preço<input type="image" src="images/arrow-down.png" name="precodesc" value="precodesc" alt="precodesc" width="25" height="25"/><input type="image" src="images/arrow-up.png" name="precoasc" value="precoasc" alt="precoasc" width="25" height="25"/> </td> <td class="style30" valign="top" align="center"> Referência<input type="image" src="images/arrow-down.png" name="referdesc" value="referdesc" alt="referdesc" width="25" height="25"/><input type="image" src="images/arrow-up.png" value="referasc" alt="referasc" name="referasc" width="25" height="25"/> </td> <td class="style30" valign="top" align="center"> Marca<input type="image" src="images/arrow-down.png" name="marcadesc" value="marcadesc" alt="marcadesc" width="25" height="25"/><input type="image" src="images/arrow-up.png" value="marcaasc" alt="marcaasc" name="marcaasc" width="25" height="25"/> </td> </tr> </table> </form> basicamente queria que a o POST deste formulário se mantivesse quando a página fizesse refresh várias vezes ( a página faz refresh sempre que carrego num dos input dos formulários que é para ordenar a pesquisa). eu vou buscar esta varável com $texto2=$_POST['texto2']; a primeira vez funciona. mas a segunda vez que carrego noutro input ele ja nao faz nada. há alguma forma de manter a variavel $texto2 com o mesmo valor?? Edited September 23, 2013 at 11:47 AM by JFernandesVR
Virneto Posted September 23, 2013 at 11:54 AM Report #525546 Posted September 23, 2013 at 11:54 AM Usa uma variável de Sessão: $_SESSION http://www.portugal-a-programar.pt/topic/29002-passar-a-variavel-sessionid/page__hl__$_sessions#entry277734 http://www.portugal-a-programar.pt/topic/40696-valor-de-variavel/page__hl__$_sessions#entry366046 http://php.net/manual/en/features.sessions.php "Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Linuxando.com | ...
JFernandesVR Posted September 23, 2013 at 01:37 PM Author Report #525563 Posted September 23, 2013 at 01:37 PM pus assim: session_start(); $_SESSION['texto2']=$_POST['texto2']; e mais abaixo: $texto2=$_SESSION['texto2']; mas nao funca
Virneto Posted September 23, 2013 at 01:52 PM Report #525568 Posted September 23, 2013 at 01:52 PM Vê a documentação com atenção. O session_start(); tem de ser chamado antes de qualquer output para o browser. Um output pode ser um echo mas também um notice ou error ou... Experimenta fazer echo à $_SESSION['texto2'] para veres se está definida. Também me parece que da primeira vez que abres o formulário não terás definida a variável $_POST['texto2'], correto? Ou seja, tens de verificar se o POST está definido e se nao, é porque é a primeira vez que o user está a abrir o formulário. "Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Linuxando.com | ...
JFernandesVR Posted September 23, 2013 at 02:12 PM Author Report #525570 Posted September 23, 2013 at 02:12 PM (edited) o formulário só aparece depois de se fazr a pesquisa. só depois disso é que o formulário aparece. então eu fiz-lhe um POST para estar já definido coo valor a pesquisar novamente. basicamente a 2ª pesquisa é ordenar os resultados e dá. só quando é para escolher outro filtro de ordenação esse valor POST ja nao aparece. ou seja so do 3º para a frente é que nao aparece. entao em vez de POST tenho de POR SESSION? $_SESSION['texto2']=$_POST['texto']; -> no inicio $texto2=$_SESSION['texto2']; <input type="hidden" name="texto2" value="<?php echo $texto2 ?>" /> mas nao funca Edited September 23, 2013 at 02:11 PM by JFernandesVR
JFernandesVR Posted September 23, 2013 at 02:23 PM Author Report #525573 Posted September 23, 2013 at 02:23 PM (edited) aparece-me isto Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0 Edited September 23, 2013 at 02:23 PM by JFernandesVR
Virneto Posted September 23, 2013 at 04:29 PM Report #525587 Posted September 23, 2013 at 04:29 PM Please be advised that the session extension does not consider global variables as a source of data, Muda o nome da tua variável e vê se permanece o erro: $_SESSION['texto2']=$_POST['texto']; $_SESSION['filtro']=$_POST['texto']; $texto2=$_SESSION['filtro']; "Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Linuxando.com | ...
bioshock Posted September 23, 2013 at 06:48 PM Report #525603 Posted September 23, 2013 at 06:48 PM Convém também verificares se existe ou não session. $var = isset($_SESSION['campo']) ? $_SESSION['campo'] : null; 1 Report
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now