Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sedex

Erro no envio de variaveis com ajax

Recommended Posts

Olá pessoal, to com um probleminha bem estranho...

Estou usando ajax para atualizar uma DIV central, onde todos os links sao abertos, fiz isso para evitar o uso de iframes.

 

Esta funcionando perfeitamente, menos quando tento passar alguma variavel no link...

 

Veja o link:

<a href="#" onClick="incluir('exibe_eventos.php?noticia=1');">Notícia 1</a>

 

Se eu colocar apenas exibe_eventos.php a div atualiza, se eu deixar com a variavel ele retorna o seguinte erro:

 

Warning: main(exibe_eventos.php?noticia=15) [function.main]: failed to open stream: No such file or directory in /home/djlazaro/public_html/include.php on line 3

 

Warning: main() [function.include]: Failed opening 'exibe_eventos.php?noticia=15' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/djlazaro/public_html/include.php on line 3

 

O erro pode ser visualizado em http://www.djlazaro.com.br - CLIQUE NA MINIATURA DO EVENTO DA PAGINA PRINCIPAL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está dando um include assim??

include 'exibe_eventos.php?noticia=1';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

O problema é que em alguns casos ( acho que por causa da configuração do servidor ) o include não aceita você passar parametros por url, já havia visto este problema em outros tópicos, eu sugiro que você use a biblioteca Prototype para fazer estas requisições é bem simples e ajuda bastante. Se quiser saber mais sobre o assunto posta ai que te dou uma mão.

 

Att,

 

Orides.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse é o arquivo include.php

 

<?php

$pagina =$_GET['variavel'];

include($pagina);

?>

Esse aqui é o javascript que fica na página principal

<script>

var myConn = new XHConn();

if (!myConn) alert("deu erro aqui.");

var inclusao = function (oXML) { document.getElementById('include').innerHTML = oXML.responseText; };

function incluir (url)

{

document.getElementById('include').innerHTML = "<div class='loading'><img src='loading.gif' /></div>";

myConn.connect("include.php", "GET", "variavel="+url, inclusao);

}

</script>

 

Esse é o arquivo XHConn.js

 

function XHConn()

{

var xmlhttp, bComplete = false;

try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }

catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }

catch (e) { try { xmlhttp = new XMLHttpRequest(); }

catch (e) { xmlhttp = false; }}}

if (!xmlhttp) return null;

this.connect = function(sURL, sMethod, sVars, fnDone)

{

if (!xmlhttp) return false;

bComplete = false;

sMethod = sMethod.toUpperCase();

 

try {

if (sMethod == "GET")

{

xmlhttp.open(sMethod, sURL+"?"+sVars, true);

sVars = "";

}

else

{

xmlhttp.open(sMethod, sURL, true);

xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");

xmlhttp.setRequestHeader("Content-Type",

"application/x-www-form-urlencoded");

}

xmlhttp.onreadystatechange = function(){

if (xmlhttp.readyState == 4 && !bComplete)

{

bComplete = true;

fnDone(xmlhttp);

}};

xmlhttp.send(sVars);

}

catch(z) { return false; }

return true;

};

return this;

}

 

O arquivo exibe_eventos.php é

 

<?php

$consulta_sql = mysql_query("SELECT * FROM eventos WHERE imagem=1 ORDER BY codigo ASC LIMIT 0,3");

if($consulta_sql){

while($row = mysql_fetch_array($consulta_sql)){

$id = $row['id'];

$diretorio = $row['diretorio'];

$titulo = $row['titulo'];

$dia = $row['dia'];

$horario = $row['horario'];

$local = $row['local'];

$cidade = $row['cidade'];

$estado = $row['estado'];

$secao = $row['secao'];

$conteudo = $row['conteudo'];

$codigo = $row['codigo'];

?>

 

<a href="#" onClick="incluir('exibe_eventos.php?noticia=<?php echo("$id"); ?>');">

<img src="imx_eventos.php?foto=admin/eventos/<?php echo("$diretorio"); ?>" alt="<?php echo("($titulo"); ?>" style="border:0"></a>

<br />

<span class="titulo02"><a href="#" onClick="incluir('exibe_eventos.php?noticia=<?php echo("$titulo"); ?>');"></a></span><br /><br />

 

<?php

}

} else {

print("<span class=\"texto_erro\">Erro no Banco de Dados - Entre em contato com a AlienDP.com.br (adm@aliendp.com.br)!!! </span> <br>".mysql_error());

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo:

 

 

<script language="javascript" src="http://www.prototypejs.org/assets/2007/11/6/prototype.js"></script>
<script>
function incluir(){
	var url = 'exibe_eventos.php'; // url que será solicitada
	var pars = 'noticia=1'; // nome da variave e valor, pode ser passado por parametro ou pegar o valor de algum input
	var myAjax = new Ajax.Updater( 'div_sera_atualizada', url, { method: 'get', parameters: pars }); // executa a solicitacao e retorna o innerHTML para a div div_sera_atualizada
}
</script>
<div id="div_sera_atualizada"></div>

Att,

 

Orides.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse é o arquivo include.php

 

<?php

$pagina =$_GET['variavel'];

include($pagina);

?>

Esse aqui é o javascript que fica na página principal

<script>

var myConn = new XHConn();

if (!myConn) alert("deu erro aqui.");

var inclusao = function (oXML) { document.getElementById('include').innerHTML = oXML.responseText; };

function incluir (url)

{

document.getElementById('include').innerHTML = "<div class='loading'><img src='loading.gif' /></div>";

myConn.connect("include.php", "GET", "variavel="+url, inclusao);

}

</script>

 

Esse é o arquivo XHConn.js

 

function XHConn()

{

var xmlhttp, bComplete = false;

try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }

catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }

catch (e) { try { xmlhttp = new XMLHttpRequest(); }

catch (e) { xmlhttp = false; }}}

if (!xmlhttp) return null;

this.connect = function(sURL, sMethod, sVars, fnDone)

{

if (!xmlhttp) return false;

bComplete = false;

sMethod = sMethod.toUpperCase();

 

try {

if (sMethod == "GET")

{

xmlhttp.open(sMethod, sURL+"?"+sVars, true);

sVars = "";

}

else

{

xmlhttp.open(sMethod, sURL, true);

xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");

xmlhttp.setRequestHeader("Content-Type",

"application/x-www-form-urlencoded");

}

xmlhttp.onreadystatechange = function(){

if (xmlhttp.readyState == 4 && !bComplete)

{

bComplete = true;

fnDone(xmlhttp);

}};

xmlhttp.send(sVars);

}

catch(z) { return false; }

return true;

};

return this;

}

 

O arquivo exibe_eventos.php é

 

<?php

$consulta_sql = mysql_query("SELECT * FROM eventos WHERE imagem=1 ORDER BY codigo ASC LIMIT 0,3");

if($consulta_sql){

while($row = mysql_fetch_array($consulta_sql)){

$id = $row['id'];

$diretorio = $row['diretorio'];

$titulo = $row['titulo'];

$dia = $row['dia'];

$horario = $row['horario'];

$local = $row['local'];

$cidade = $row['cidade'];

$estado = $row['estado'];

$secao = $row['secao'];

$conteudo = $row['conteudo'];

$codigo = $row['codigo'];

?>

 

<a href="#" onClick="incluir('exibe_eventos.php?noticia=<?php echo("$id"); ?>');">

<img src="imx_eventos.php?foto=admin/eventos/<?php echo("$diretorio"); ?>" alt="<?php echo("($titulo"); ?>" style="border:0"></a>

<br />

<span class="titulo02"><a href="#" onClick="incluir('exibe_eventos.php?noticia=<?php echo("$titulo"); ?>');"></a></span><br /><br />

 

<?php

}

} else {

print("<span class=\"texto_erro\">Erro no Banco de Dados - Entre em contato com a AlienDP.com.br (adm@aliendp.com.br)!!! </span> <br>".mysql_error());

}

?>

 

kd a função incluir???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Orides me auxilia no seguinte:

 

Aqui:

 

function incluir(){

var url = 'exibe_eventos.php'; // url que será solicitada

var pars = 'noticia=1'; // nome da variave e valor, pode ser passado por parametro

Você especifica noticia=1, mas esse valor é dinâmico, o número 1 é o ID do evento no banco de dados!

 

Como ficaria entao nesse caso?

 

 

 

 

AQUI É A FUNÇÃO INCLUIR

<script>

var myConn = new XHConn();

if (!myConn) alert("deu erro aqui.");

var inclusao = function (oXML) { document.getElementById('include').innerHTML = oXML.responseText; };

 

function incluir (url)

{

document.getElementById('include').innerHTML = "<div class='loading'><img src='loading.gif' /></div>";

myConn.connect("include.php", "GET", "variavel="+url, inclusao);

}

 

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Orides me auxilia no seguinte:

 

Aqui:

 

function incluir(){

var url = 'exibe_eventos.php'; // url que será solicitada

var pars = 'noticia=1'; // nome da variave e valor, pode ser passado por parametro

Você especifica noticia=1, mas esse valor é dinâmico, o número 1 é o ID do evento no banco de dados!

 

Como ficaria entao nesse caso?

 

 

 

 

AQUI É A FUNÇÃO INCLUIR

<script>

var myConn = new XHConn();

if (!myConn) alert("deu erro aqui.");

var inclusao = function (oXML) { document.getElementById('include').innerHTML = oXML.responseText; };

 

function incluir (url)

{

document.getElementById('include').innerHTML = "<div class='loading'><img src='loading.gif' /></div>";

myConn.connect("include.php", "GET", "variavel="+url, inclusao);

}

 

</script>

 

hehhe...foi malze...

passa como parâmetro na função do Orides os valores....

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão é como passar por paramêtros, buscando do banco de dados!

 

Eu nunca consegui inserir valores do mysql dentro do javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script language="javascript" src="http://www.prototypejs.org/assets/2007/11/6/prototype.js"></script>

<script>

function incluir(id){

var url = 'exibe_eventos.php'; // url que será solicitada

var pars = 'noticia='+id; // nome da variave e valor, pode ser passado por parametro ou pegar o valor de algum input

var myAjax = new Ajax.Updater( 'div_sera_atualizada', url, { method: 'get', parameters: pars }); // executa a solicitacao e retorna o innerHTML para a div div_sera_atualizada

}

</script>

<div id="div_sera_atualizada"></div>

<a href="java script:;" onClick="incluir('<?=$id?>')">Incluir</a>

 

O javascript ai encima é tudo junto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Orides, funcionou perfeitamente... valeu mesmo!!!

 

Merece uma coca cola bem gelada!

 

Abraços a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem sabe como devo fazer para carregar uma pagina com alguns links em javascript?

 

Estou tentando carregar uma página, a página até é carregada, mas ela não busca os dados no banco de dados.

 

Link: <a href="#" onClick="incluir('galeria.php');" >Fotos</a>

 

Se eu acessar http://www.djlazaro.com.br/galeria/index.php , a página é carregada!

 

Mas se eu tentar acessar a página através do site, ela não é carregada!

 

Eu acho que o erro está acontecendo apenas porque para exibir os dados, é necessario o uso de variaveis.

E o ajax não deixa a página utilizar!

 

Será que existe alguma forma de corrigir esse erro?

Esse é o código onde estão as variáveis:

 

<a href="java script:AbreJanelaGaleria('galeria/janela.php?dir=images/galeria/<?php echo "$dados[pasta]/&id=$dados[id]&evento=$dados[nome]&data=$dados[data]&local=$dados[local]&id=$dados[id]&fotografo=$dados[fotografo]";?>')">

 

<img class="img_galeria" src="galeria/imagemdimindex.php?imagem=images/galeria/<?php echo $dados['pasta']?>/<?php echo $dados['foto01']?>" >

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acabei de ler que não posso usar nenhum função do javascript na página que será carregada dentro da div!

 

Mas a questão é que eu preciso carregar esse link, que abrirá a página num pop-up.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.