Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1309
Sexo: Masculino

Banner swf não é exibido

12-03-2009 11:12

Salve, Galera!

Possuo um código de exibição de banner swf em que o mesmo não é exibido. Será que alguém pode me ajudar? Abaixo, o código:
<?php include "admin/connect.php"; ?> <head> <script language="JavaScript" src="swf.js"></script> </head> <? $counter=1; $q1="SELECT * from affiliates_table order by affid desc limit 10 "; $r1=mysql_query($q1) or die("Could not get buttons"); while($a1=mysql_fetch_array($r1)) { if($counter%1==0) { $file = "arquivo.gif"; $parte = explode(".", $file); $q2 = "select * from affiliates_table where affid = '$a1[affid]' "; $r2 = mysql_query($q2) or die(mysql_error()); $a2 = mysql_fetch_array($r2); $banner = $a2[image]; //echo "$banner"; if($parte[1]=="swf") { $exibe .= "<table align=center cellspacing=0 cellpadding=0 border=0><tr><td><a href='out.php?ID=$a1[affid]'> <script>flash('banners/$banner');</script> </a></td></tr></table><table cellspacing=0 cellpadding=0 border=0><tr><td height=2></td></tr></table>"; } elseif($parte[1]=="gif") { $exibe .= "<table align=center cellspacing=0 cellpadding=0 border=0><tr><td><a href='out.php?ID=$a1[affid]'><img src=\"banners/$a1[image]\" border=0></a></td></tr></table><table cellspacing=0 cellpadding=0 border=0><tr><td height=2></td></tr></table>"; } } $counter++; } ?> <?=$exibe?>

E este é o código do arquivo swf.js, citado no script:
// JavaScript Document function flash(arqflash,largura,altura) { document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + largura + '" height="' + altura + '">'); document.write('<param name="movie" value="' + arqflash + '">'); document.write('<param name="quality" value="high">'); document.write('<param name="menu" value="false">'); document.write('<param name="wmode" value="transparent">'); document.write('<embed src="' + arqflash + '" width="' + largura + '" height="' + altura + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false" wmode="transparent"></embed>'); document.write('</object>'); }

O banner gif é exibido normalmente, e onde deveria ser exibido o banner swf, no Firefox aparece um ícone indicando imagem quebrada, e, no IE, aparece um quadrado com um x no meio.Obrigado e um abraço!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Banner swf não é exibido

12-03-2009 12:25

Você terá que fazer algumas verificações. Você falou que o swf não é exibido, logo, é necessário verificar o caminho

banners/$banner

Ao invés de tentar carregar o swf com o JavaScript, deixa só um texto, para ver o que $banner retorna, ai você confere o caminho banners/seuswf... para ver se corresponde e carrega via URL.

Se não der volte a postar.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1309
Sexo: Masculino

Banner swf não é exibido

12-03-2009 14:54

Boa tarde. A consulta está correta? Acredito que o caminho esteja correto, pois os banners gif estão no mesmo diretório dos banners swf, e aqueles são exibidos, enquanto que estes, não. Isto aqui está correto?

$q2 = "select * from affiliates_table where affid = '$a1[affid]' "; $r2 = mysql_query($q2) or die(mysql_error()); $a2 = mysql_fetch_array($r2); $banner = $a2[image]; //echo "$banner";

E isto aqui também está correto, em face da consulta acima?

<script>flash('banners/$banner');</script>

Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Banner swf não é exibido

12-03-2009 14:59

O que não vejo ai é o while, para retornar os dados da consulta

$selec = "SELECT ..."; $exec = mysql_query($selec, $conexao) or die(mysql_error()); while($campos=mysql_fetch_array($exec)) { extract($campos); echo $seucampo; }

Se possível posta o link até seu sistema para eu dar uma olhada.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1309
Sexo: Masculino

Banner swf não é exibido

12-03-2009 22:37

Boa noite! O while está no código que foi postado no início deste tópico. Você quer que eu poste novamente o código ou você pode vê-lo lá? Se postar novamente pode ocupar espaço desnecessariamente. Reitero que o banner gif funciona corretamente, e ele está na mesma pasta do banner swf. Continuo pesquisando no Google, baixando alguns scripts, mas não consegui, nesses scripts, exibir o banner swf. Se conseguisse, tentaria adaptar para meu código. Mas creio que ele esteja no caminho da resolução. Acho que o que está pegando é a consulta. Um abraço.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Banner swf não é exibido

12-03-2009 22:52

O ideal seria rodar um echo ao invés do código para mostrar o swf, ai vindo o valor, por exemplo: banner.swf, você já pode ter em mente que o diretório setado para mostrar o swf está incorreto, faz esse teste e volta a postar o resultado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1309
Sexo: Masculino

Banner swf não é exibido

12-03-2009 23:04

Como é esse negócio de rodar o echo?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Banner swf não é exibido

12-03-2009 23:09

ao invés do if que tem para swf, entra esse

if(parte[1]=="swf") { $exibe .= "banners/$banner"; }

O objetivo é comparar e ver se $banner tem algum valor, tendo o nome do arquivo, e estando no diretório correto, você para teste roda esse $exibe abaixo dentro do if acima

$exibe .= "<embed src='banners/$banner'>";

Porque pode ser um erro de chamada do script js.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1309
Sexo: Masculino

Banner swf não é exibido

12-03-2009 23:20

Coloquei e nada. Mas a consulta que leva à $banner está correta? Se não estiver, o banner não vai aparecer. O caminho está correto. Acredito que o problema esteja na consulta.
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1309
Sexo: Masculino

Banner swf não é exibido

13-03-2009 00:17

Consegui fazer aparecer o banner swf. Depenei o código e apareceu o bendito. Ainda vou melhor testar para ver se está tudo ok, mas segue o código com agora está:
<?php include "admin/connect.php"; ?> <html> <head> <title>Teste banner swf</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" src="swf.js"></script> </head> <body> <? $counter=1; $q1="SELECT * from affiliates_table order by affid desc limit 10 "; $r1=mysql_query($q1) or die("Could not get buttons"); while($a1=mysql_fetch_array($r1)) { if($counter%1==0) { $q2 = "select * from affiliates_table where affid = '$a1[affid]' "; $r2 = mysql_query($q2) or die(mysql_error()); $a2 = mysql_fetch_array($r2); $banner = $a2[image]; $exibe .= "<table align=center cellspacing=0 cellpadding=0 border=0><tr><td><a href='out.php?ID=$a1[affid]'><embed src='banners/$banner'></a></td></tr></table><table cellspacing=0 cellpadding=0 border=0><tr><td height=2></td></tr></table>"; } $counter++; } ?> <?=$exibe?> </body> </html>

Abaixo, o arquivo swf.js:
// JavaScript Document function flash(arqflash,largura,altura) { document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + largura + '" height="' + altura + '">'); document.write('<param name="movie" value="' + arqflash + '">'); document.write('<param name="quality" value="high">'); document.write('<param name="menu" value="false">'); document.write('<param name="wmode" value="transparent">'); document.write('<embed src="' + arqflash + '" width="' + largura + '" height="' + altura + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false" wmode="transparent"></embed>'); document.write('</object>'); }

Estão aparecendo os dois banners, tanto o gif quanto o swf.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Banner swf não é exibido

13-03-2009 07:42

Boa
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1309
Sexo: Masculino

Banner swf não é exibido

13-03-2009 09:17

Bom dia. Mas tem dois problemas. Acho que o if como você sugeriu deverá ser usado. No Firefox, aparecem os dois banners, gif e swf, mas o link quando se coloca o mouse sobre o banner somente funciona no banner gif. No IE não aparecem as imagens nem do banner swf nem do banner gif. Aparecem dois quadrados da cor da tela, formados apenas por bordas e com um ponto dentro, e acredito que se referem aos banners swf (há dois de cada tipo no diretório). Eu acredito que a construção do código para execução do if tenha de ser modificada. Acho que é isso que está pegando. Refiro-me a isto aqui
$file = "gif"; $file = "arquivo.gif"; $parte = explode(".", $file); if($parte[1]=="swf") { elseif($parte[1]=="gif")

Nas pesquisas que fiz ontem, vi um código de banners swf e gif juntos que tinha essa situação, mas havia alguma diferença na construção antes do if em relação ao que você me sugeriu. Mas não me recordo se coloquei nos Favoritos, tenho de procurar. Será que você identifica o problema nessa construção? Parece que o caminho e a consulta estão corretos, ou em parte, visto o que ocorre no IE.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Banner swf não é exibido

13-03-2009 09:23

O que sei de flash você define link para ele no próprio flash, e não via href, quanto ao if, se baseia nesse exemplo

<?php $banner = "banner.swf"; $ext = explode(".", $banner); if($ext[1]=="swf") { echo "é flash"; } else { echo "é gif / jpg"; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1309
Sexo: Masculino

Banner swf não é exibido

13-03-2009 09:36

No IE, sem os if, os quadrados com ponto no meio se referem aos banners swf, mas, naquele navegador, se coloco o mouse sobre tais quadrados, ele se transforma em formato de mão, mas não acontece nada se clico. O código a que me referi, que assume os dois tipos de banner, é o que colocarei a seguir, mas se refere a banner rotativo (o meu é fixo). E também possui um monte de coisa que não sei se necessária:
<?php $width="468"; // largura do banner em pixels $height="60"; // altura do banner em pixels //Pega os arquivos da pasta automaticamente e salva em um array $pasta = "banners/"; $banners = glob($pasta."*.*"); // randômico, pode ser chamado popularmente por sorteio...hehehe $randomico = count($banners); $rnd = rand(0,$randomico -1); $banner=$banners[$rnd]; //Se for flash, exibe no formato if(eregi("(.swf)$", $banner)){ echo "<OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" WIDTH=\"$width\" HEIGHT=\"$height\" id=\"banner\" ALIGN=\"\">"; echo "<param name=\"movie\" value=\"$banner\"><param name=\"wmode\" value=\"transparent\"> "; echo "<param name=\"quality\" value='\"high\"><embed src=\"$banner\" quality=\"high\" wmode=\"transparent\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"$width\" height=\"$height\">"; echo "</embed></object>"; }else{ //Se for JPG, GIF ou PNG....Exibe via <img> if(eregi("(.jpg)$|(.gif)$|(.png)$", $banner)){ echo "<img src=\"$banner\" width=\"$width\" height=\"$height\" />"; //Qualquer outro arquivo, da pau, trava...Aqui poderia ser feito um re-sorteio.... //Um re-sorteio é realmente uma boa idéia... //Melhor mesmo é só coloca os arquivos certos....que re-sorteio que nada... }else{ echo "Erro, imagem não pode ser exibida!"; } } ?>

0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1309
Sexo: Masculino

Banner swf não é exibido

16-03-2009 10:14

Segue o código funcionando adequadamente nos navegadores Firefox, IE, Opera e Safari. Quanto ao banner swf, o link externo ao arquivo funciona somente nos navegadores Firefox e Safari. No IE e Opera não funciona. Pelo que pude perceber pesquisando na web, o link do banner swf deverá ser interno (dentro do arquivo).

Arquivo ExibeBanner.php
<?php include "admin/connect.php"; ?> <html> <head> <title>Teste banner lateral gif/swf</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" src="swf.js"></script> </head> <body> <? $counter=1; $q1="SELECT * from affiliates_table order by affid desc limit 10 "; $r1=mysql_query($q1) or die("Could not get buttons"); while($a1=mysql_fetch_array($r1)) { if($counter%1==0) { $q2 = "select bannerGif from affiliates_table where affid = '$a1[affid]' "; $r2 = mysql_query($q2) or die(mysql_error()); $a2 = mysql_fetch_array($r2); $bannerGif = $a2[bannerGif]; $width="120"; // largura do banner em pixels $height="60"; // altura do banner em pixels $pastaGif = "banners_gif/"; $bannersGif = $pastaGif . $bannerGif; if($bannerGif != '') { $exibe .= "<table align=center cellspacing=0 cellpadding=0 border=0><tr><td><a href='out.php?ID=$a1[affid]'><img src=\"banners_gif/$a2[bannerGif]\" border=0 width=120 height=60></a></td></tr></table><table cellspacing=0 cellpadding=0 border=0><tr><td height=2></td></tr></table>"; } else { $q3 = "select bannerSwf from affiliates_table where affid = '$a1[affid]' "; $r3 = mysql_query($q3) or die(mysql_error()); $a3 = mysql_fetch_array($r3); $bannerSwf = $a3[bannerSwf]; $width="120"; // largura do banner em pixels $height="60"; // altura do banner em pixels $pastaSwf = "banners_swf/"; $bannersSwf = $pastaSwf . $bannerSwf; if($bannerSwf != '') { $exibe .= "<table align=center cellspacing=0 cellpadding=0 border=0><tr><td><a href='out.php?ID=$a1[affid]'><script>flash('$bannersSwf', 120,60);</script></a></td></tr></table><table cellspacing=0 cellpadding=0 border=0><tr><td height=2></td></tr></table>"; } } } $counter++; } ?> <?=$exibe?> </body> </html>

Arquivo swf.js
// JavaScript Document function flash(arqflash,largura,altura) { document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + largura + '" height="' + altura + '">'); document.write('<param name="movie" value="' + arqflash + '">'); document.write('<param name="quality" value="high">'); document.write('<param name="menu" value="$bannerSwf">'); document.write('<param name="wmode" value="transparent">'); document.write('<embed src="' + arqflash + '" width="' + largura + '" height="' + altura + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false" wmode="transparent"></embed>'); document.write('</object>'); }

Fora a questão do link do banner swf, a exibição é normal (os banner são exibidos um sob o outro). Este código é indicado para banner lateral fixo.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Banner swf não é exibido

16-03-2009 16:34

boa :wink
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]