Como colocar um iframe em um arquivo .PHP?

  • Identifique-se para criar novos tópicos neste fórum
  • Visitantes anônimos não podem postar neste fórum
fbs777  Ocasional   Postagens: 22

Estou querendo colocar uma opção extra no formulario DHTML do XOOPS, mas percebi que o editor DHTML do XOOPS não usa templates, as imagens e opções são colocadas diretamente no arquivo /class/xoopsform/formdhtmltextarea.php

A linha que define os ícones de incluir link, email, imagem, quotes, etc. é a linha 133. O iframe vai no fim da linha, só antes do
\n";


O detalhe é que dentro de arquivos PHP o // serve para anular tudo que vem depois na linha. E como o iframe é para abrir uma URL externa, não dá para utilizar o smarty para substituir o http:// no inicio do iframe, que começa com <iframe src="http://...

Tentei utilizar aspas simples ao invés das aspas duplas, aí ele aceita as duas barras // sem anular o resto, mas dá erro quando entro na página pelo portal (localhost)...

fbs777  Ocasional   Postagens: 22

Detalhe: substiuir http:// por www não resolve.

O pior é que vi um outro iframe específico para php, copiei ele, mas também anula tudo na linha depois do http://

O iframe que quero colocar é esse:

<iframe src="http://imageshack.us/iframe.php?txtcolor=111111&type=blank&size=30" scrolling="no" allowtransparency="true" frameborder="0" width="280" height="70">Update your browser for ImageShack.us!


A versão para PHP é essa:
echo '<iframe src="http://imageshack.us/iframe.php?txtcolor=111111&type=blank" scrolling="no" frameborder="0" width="280" height="70"> You must have an iframe-compatable browser estou view the ImageShack.us upload form.


Eu quero colocar ele no fim da linha 133 do arquivo que citei no 1º post. A linha original é assim:
$ret = "url email imgsrc image code quote
\n";


No caso de colocar o iframe para php, deveria ficar assim, mas dá erro:

$ret = "url email imgsrc image code quote
echo '<iframe src="imageshack.us/iframe.php?txtcolor=111111&type=blank" scrolling="no" frameborder="0" width="280" height="70"> You must have an iframe-compatable browser estou view the ImageShack.us upload form.
\n";


O erro que dá depende do navegador: no FF, ele tenta salvar a página .php em vez de abrir ela.
No konqueror, dá o erro:

Parse error: syntax error, unexpected T_STRING in /opt/lampp/htdocs/testes/mugen/class/xoopsform/formdhtmltextarea.php on line 133

Luix  Iniciante   Postagens: 1

olá Fábio,
Duas formas de escrever o código caracteres "proibidos" (hehe) é a barra invertida antes do mesmo ou utilizar uma variável com um comando echo() ou qualquer print().

Exemplo:
http:\/\/... [editado:] ficou parecendo um grande W então incluo espaços: http:\ / \ / ..
Ou.
echo ("http://..");

Ah, mas lembrei de uma coisa importante.
As tag HTML tem de estar dentro de uma variável ou de um echo, porque elas não funcionam diretamente no script php... ae acredito que não precise disso.

é isso

fbs777  Ocasional   Postagens: 22

Então, tentei o esquema de \/\/ mas não adiantou... O esquema de echo, também tem no iframe feito para php, mas não funciona também.

Se der, tenta incluir aí esse iframe (versão PHP ou versão normal) nessa linha que quero incluir ele.

é só ver a linha 133 e tentar incluir o iframe perto do fim, antes do
\n";


Depois, se conseguir fazer aparecer o iframe em alguma página que usa o editor DHTML, coloca aqui como ficou essa linha 133 no seu caso.

Gislaine  Ocasional   Postagens: 36

OK, se tivesse enviado uma imagem para ter ideia seria melhor, mas deu para fazer depois das últimas dicas que tu passou.

Prova do crime XOOPS



Inclusive, esta imagem foi gerada, enviada e usada já com este esquema. Captei a sua ideia e realmente é interessantes mesmo, campeão
Agora é uma questão de formatar o HTML do iframe e detlhes apenas.

Gislaine  Ocasional   Postagens: 36

Agora vamos ao de sempre, um passo a passo de como foi feito isto.

1 - Primeiro fui testar os dois códigos em um bloco do XOOPS.



Como vocês estão vendo, tanto com o código para um bloco HTML quanto para um bloco tipo PHP funcionavam perfeitamente.
Isto já garante que vamos rodar no XOOPS com certeza.

2 - Agora olhando o arquivo formdhtmltextarea.php

Na linha informada, era uma variável pronta e o que não podemos fazer era apenas deixar escapar o HTML de forma errada. Neste caso o escape era aspas simples.
Para ficar mais fácil de mostrar, quebrei cada imagem em uma linha no editor apenas para facilitar a visualização.


$ret = "
<iframe src='http://imageshack.us/iframe.php?txtcolor=111111&type=blank&size=30' scrolling='no' allowtransparency='true' frameborder='0' width='280' height='70'>Update your browser for ImageShack.us!
url 
email 
imgsrc 
image 
code 
quote

\n";


Na verdade o código usado foi do formato HTML e só mudamos o escape de HTML em aspas simples. Antes estava com aspas dupla. E voa lá, está funcionando em qualquer lugar onde utilizar o editor, incluindo a área administrativa.
Observação: Eu não sei se isto pode ter alguma implicação na segurança, mas creio que não.

Era isto mesmo [pergunta]

fbs777  Ocasional   Postagens: 22

Era isto mesmo [pergunta]

Perfeita Gisa_Iagami

Agora vendo o código iframe que você colocou vi onde estava o problema aqui. Como eu disse antes, tentei usando aspas simples mas não funcionou.
O detalhe é que eu pensei que só precisava de aspas simples na definição da URL para validar o //; o resto das definições eu deixei com aspas duplas normal.
Agora vi que você colocou todos os valores do iframe em aspas simples, e com todos os valores em aspas simples, o resultado é este aqui:



O detalhe curioso é que até o iframe feito para PHP usa aspas duplas em todos os campos, mas para utilizar no XOOPS precisa de todos os campos em aspas simples...

Luix  Iniciante   Postagens: 1

olá Fábio,

O detalhe curioso é que até o iframe feito para PHP usa aspas duplas em todos os campos, mas para utilizar no XOOPS precisa de todos os campos em aspas simples...

Esse detalhe curioso tem uma lógica.

No XOOPS praticamente todos os valores usam aspas simples porque ficam todos dentro de variáveis e estas já usam as aspas duplas.

Exemplo: $ret = "...";

As aspas são delimitadores do conjunto, então se utilizar sempre aspas duplas ou sempre simples vai acontecer de encerrar o conjunto de dados antes da hora, que conforme concluímos era o que estava acontecendo com você.

Exemplo: $ret = ""; (modo errado)
Neste exemplo, o conteúdo da variávei ficou: $ret = "
Gislaine  Ocasional   Postagens: 36

Pô Luis[x], gostei mesmo da tua empolgação é isto tudo que tu falou mesmo

Agora que esta ideia do Fábio é excelente é, rapaiz, vai quebrar um galhão. Coisa bem simples mas muito útil para não sobrecarregar o server com downloads de imagens no conta do seu host.XOOPS

  Pesquisa avançada






Entrada

Codinome:


Senha:





Perdeu a senha?  |Cadastre-se!


Quem nos visita
Há 29 visitantes neste momento... (20 na seção Fóruns)

Associados: 0
Anônimos: 29

outros...

Banner XOOPS Cube