blasted Posted October 17, 2007 at 11:19 AM Report Share #140659 Posted October 17, 2007 at 11:19 AM Boas, estou com um problema em conseguir registar variáveis em php através de funções de javascript, será que alguem me consegue ajudar? <script type="text/javaScript"> function confirma() { var r=confirm("Deseja continuar?") return r } function disa_a() { document.search_a.search_que.disabled = false; } function disa_b() { document.search_a.search.disabled = false; <?php $_SESSION['var_trig'] = 1;?>; } function reg_id(var_a) { document.reg_u.sidd.value = var_a; <?php $_SESSION['var_trig'] = 0;?>; } </script> O que eu quero, é passar uma variável de javascript para php caso execute uma função, se fosse o contrário seria tudo mais fácil. Obrigado. Link to comment Share on other sites More sharing options...
LuRsT Posted October 17, 2007 at 12:18 PM Report Share #140673 Posted October 17, 2007 at 12:18 PM De javascript para php penso que nao seja possivel porque javascript é um linguagem client-side enquanto que o php é server-side. Ou seja so poderas passar variaveis de php para javascript e nao o contrario. BotNet: The Game Tudo Sobre Formigas Link to comment Share on other sites More sharing options...
Tico@PT Posted October 17, 2007 at 01:18 PM Report Share #140700 Posted October 17, 2007 at 01:18 PM A única maneira que tens de o fazer é passares as varáveis para o PHP por Ajax. Tens aqui uma framework de Ajax que eu utilizo e que acho estremamente útil. http://www.xajaxproject.org/ Cumps Link to comment Share on other sites More sharing options...
blasted Posted October 17, 2007 at 02:06 PM Author Report Share #140721 Posted October 17, 2007 at 02:06 PM obrigado pela ajuda ^_^ Sendo assim, vou expor o meu problema de outra forma, talvez assim consiga outro tipo de solução para o problema em si. Tenho um search no meu backoffice, do qual me sirvo para procurar o id de um cliente, para depois registar clientes. O problema é que a variável de pesquisa está sempre armazenada, e como tal, sempre que entro na página de pesquisa, é me dado um enorme output, sem que tenha sequer clicado para fazer search. <?php function procSearch() { global $database; switch($_POST['search_em']) { case 0: $q1 = 'code'; break; case 1: $q1 = 'nome'; break; case 2: $q1 = 'contacto'; break; case 3: $q1 = 'nif'; break; case 4: $q1 = 'telefone'; break; case 5: $q1 = 'fax'; break; case 6: $q1 = 'email'; break; } $q3 = $_POST['search']; switch($_POST['search_que']) { case 0: $q2 = "upper($q1) like upper('$q3%')"; break; case 1: $q2 = "upper($q1) like upper('%$q3%')"; break; case 2: $q2 = "upper($q1) like upper('%$q3')"; break; case 3: $q2 = "upper($q1) = upper('$q3')"; break; } $q = "SELECT CODE,NOME FROM ".TBL_USERS." WHERE $q2 AND CLI='T' AND WEB_USERNAME IS NULL AND FIRMA = ".ID_FIRMA; $result = $database->query($q); $num_rows = ibase_num_rows($result); /* Error occurred, return given name by default */ if(!$result || ($num_rows < 0)) { return; } if($num_rows == 0) { return; } echo "<table align=\"left\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\" width=\"100%\" >\n"; echo "<tr><td><b>Username</b></td><td><b>Register</b></td></tr>\n"; $q = "SELECT CODE,NOME FROM ".TBL_USERS." WHERE $q2 AND CLI='T' AND WEB_USERNAME IS NULL"; $result = $database->query($q); for($i=0; $i<$num_rows; $i++) { $uname = ibase_fetch_row($result); echo " <tr> <td>$uname[1]</td> <td align='center'><input type=\"submit\" id=\"inputsubmit1\" value=\"Register\" onclick=\"reg_id($uname[0])\" /></td> </tr>\n"; } echo "</table><br />\n"; } ?> Como verificam a query é directamente execudada quando entro na página de pesquisa. Com javascript conseguiria executar a query apenas quando chamasse determinada função. Link to comment Share on other sites More sharing options...
garmg Posted October 22, 2007 at 12:46 AM Report Share #142025 Posted October 22, 2007 at 12:46 AM Pelo que me apercebi, e li na diagonal quando já deveria estar a dormir, mas não sei porquê, deu-me pra ler e responder a vários tópicos, só tens que dar um nome ao "submit" button, e fazer uma verificação if (isset($_POST["nome_do_submit"]) && $_POST["nome_do_submit"]) { executar o query... } Desta forma, deixa de executar automáticamente o query e somente quando fizeres o submit, este passará a ser executado. EDIT: Post Fengshui 10 Useful Links Link to comment Share on other sites More sharing options...
djthyrax Posted October 22, 2007 at 04:54 PM Report Share #142126 Posted October 22, 2007 at 04:54 PM Esse if está do pior... if(!empty($_POST['nome_do_submit'])){ Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
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