Fórum PHP e JavaScript #437871
25/03/2013
0
A ideia é a seguinte:
Tenho código PHP que faz o login e cria a sessão com o usuário logado, até aqui tudo bem.
Tenho uma função em JavaScript que irá carregar a página php após 5 segundos com os dados do usuário.
A função seria userLogado(param1,param2). A dificuldade é que não executa a função. Se eu colocar um Select e colocar a função no OnChange ele executa sem problemas, mas quando eu coloco um botão para chamara função, ela não funciona.
Segue abaixo a função:
var xmlHttp
function showUser(str,fnc) {
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null) {
alert ("Navegador não suporta HTTP Request")
return
}
var url="user.php"
url=url+"?usuario="+str
url=url+"&tipo=inc"
url=url+"&op="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject() {
var xmlHttp=null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
} catch (e) {
//Internet Explorer
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
Paulo Andrade
Curtir tópico
+ 0Posts
13/04/2013
Marcio Araujo
Gostei + 0
21/05/2013
Paulo Andrade
Estou sim. eu quero montar um site de leilões. no caso, dentro de 20 segundos o usuário terá que dar um lance ou então o último da dar o lance leva produto como acontece no Mukirana e outros sites do ramo.
Gostei + 0
21/05/2013
Marcio Araujo
Gostei + 0
24/10/2013
Paulo Andrade
Gostei + 0
24/10/2013
Claudio Lopes
Gostei + 0
01/11/2013
Leandro Richard
Poderia postar todo seu código, html/javascript.
Você disse que utilizando um botão para chamar a função não funciona, em qual momento este botão está sendo clicado, pois será ele que irá disparar a ação.
Gostei + 0
04/11/2013
Paulo Andrade
Poderia postar todo seu código, html/javascript.
Você disse que utilizando um botão para chamar a função não funciona, em qual momento este botão está sendo clicado, pois será ele que irá disparar a ação.
Segue abaixo o código da página para dar o lance no produto em leilão:
<?php @require_once('includes/seguranca.php'); // Inclui o arquivo com o sistema de segurança ?>
<?php @protegePagina();// Chama a função que protege a página ?>
<?php //" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Chico Barato</title>
<script src="js/selectauction.js"></script>
<script src="js/selectuser.js"></script>
<SCRIPT language=JavaScript>
function controle(form1) {
var test = document.form1.input.value;
showUser(test);
}
</SCRIPT>
<script language="javascript">
var execauction = <?php if ($_SESSION['seg'] > 0) { echo '"showAuction()"';}else{ echo '"auctionclose()"';} ?>;
function auctiontime() {
window.setInterval(execauction, 1000);
clearInterval(1000);
}
function auctionclose() {
clearInterval(0);
}
</script>
<style type="text/css">
/*<![CDATA[*/
<!--
@import "css/apresentacao.css";
-->
/*}}>*/
</style>
</head>
<body>
<h1>Chico Barato - Tudo a preço de banana</h1>
<?php if (isset($_GET['auctionbox'])) {?>
<?php @include('auctionbox.php'); ?>
<?php } ?>
<?php if (isset($_GET['auctionview'])) {?>
<?php @include('auctionview.php'); ?>
<?php } ?>
<div id="txtHint">
<a href="javascript:showAuction(); auctiontime();">Leilões</a><BR />
</div>
<BR>
<?php
echo "<a href=\"valida.php?acao=logoff\">Logoff</a>. User: ". $_SESSION['usuarioLogin'];
?>
<BR>
</body>
</html>
Gostei + 0
06/11/2013
William
var execauction = <?php if ($_SESSION['seg'] > 0) { echo '"showAuction()"';}else{ echo '"auctionclose()"';} ?>;Usando uma condição ternária, retornando o valor para uma variável PHP e dando um echo nessa variável pode funcionar. Retirei algumas aspas !!!
<?php echo $teste = ($_SESSION['seg'] > 0) ? 'showAuction();' : 'auctionclose();' ; ?>
Obs: Esse função showAuction() está em outro script, porque nesse código que você passou não existe!
Gostei + 0
07/11/2013
Paulo Andrade
var execauction = <?php if ($_SESSION['seg'] > 0) { echo '"showAuction()"';}else{ echo '"auctionclose()"';} ?>;Usando uma condição ternária, retornando o valor para uma variável PHP e dando um echo nessa variável pode funcionar. Retirei algumas aspas !!!
<?php echo $teste = ($_SESSION['seg'] > 0) ? 'showAuction();' : 'auctionclose();' ; ?>
Obs: Esse função showAuction() está em outro script, porque nesse código que você passou não existe!
Esse código está no selectauction.js abaixo:
var xmlHttp
function showAuction() {
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null) {
alert ("Navegador não suporta HTTP Request")
return
}
var url="auctionview.php"
url=url+"?q="
url=url+"&f=sel"
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject() {
var xmlHttp=null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
} catch (e) {
//Internet Explorer
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
Gostei + 0
24/11/2013
Lucas
É claro que o conhecimento inerente ao PHP em si tem que se ter.
Mas, vai de Codeigniter, Zend. Eles vão facilitar sua vida.
Mas como eu já disse: aprenda PHP pra valer.
É como saber jQuery sem saber bem Javascript (lamentável).
Abraços.
Atenciosamente,
Lucas Garcia Daveis
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)