Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dae galera!
Eu tô com o seguinte problema:
Preciso passar um iframe pro mysql. Depois vou apenas recuperá-lo e exibir o video do Youtube. Já fiz isso com o iframe do Google Maps, mas com o Youtube não ta rolando. O servidor bloqueia antes de tratar a string, então usar o "escape_string", "htmlspecialchars", "str_replace", nada adianta, pq o servidor pega o POST antes dele ser tratado.
Como eu posso resolver isso?
Já experimentei colar o link do Youtube e depois retirar as aberturas de tag "<" daí funciona, mas como o tratamento da string vem depois de pegar o POST o servidor bloqueia.
Afff!!! Se alguém tiver uma saída ou uma sugestão ou um tutorial, qualquer coisa é bem vinda! Valeu!!!
Vitor, a tag html <iframe>, você deixa na aplicação, coloca só o link no banco de dados e chama ele dentro do iframe na hora de mostrar.
<?php
$url = 'http://www.youtube.com/watch?v=jHmvS5CMmRk&feature=g-vrec';
$embed = substr($url, 31, 11);
// Salva o embed e URL no banco
/* Exibir o vídeo e miniatura */
?>
<img src="http://i1.ytimg.com/vi/<?php echo $resp->embed?>/default.jpg" alt="" width="200" />
<iframe width="420" height="315" src="http://www.youtube.com/embed/<?php echo $resp->embed?>" frameborder="0" allowfullscreen></iframe>
A princípio é isso, mas é claro que eu não vou te postar o código inteiro... Se você quiser, depois do trabalho eu explico aqui.
Minha sugestão é salvar somente o id do vídeo no banco, ai com isso você lista ele na sua aplicação dentro da url do player no iframe..
Ex.: (De um site de notícias que desenvolvi)
while($uNoticia = mysql_fetch_assoc($query)) {
$uVideoURL = $uNoticia['uVideoURL'];
echo '<iframe width="235" height="174" src="http://www.youtube.com/embed/'.$uVideoURL.'?rel=0&showinfo=0&wmode=transparent" frameborder="0" allowfullscreen></iframe>';
}
Desse modo funciona corretamente sem nenhum problema..
>
Minha sugestão é salvar somente o id do vídeo no banco, ai com isso você lista ele na sua aplicação dentro da url do player no iframe..
Ex.: (De um site de notícias que desenvolvi)
while($uNoticia = mysql_fetch_assoc($query)) {
$uVideoURL = $uNoticia['uVideoURL'];
echo '<iframe width="235" height="174" src="http://www.youtube.com/embed/'.$uVideoURL.'?rel=0&showinfo=0&wmode=transparent" frameborder="0" allowfullscreen></iframe>';
}
Desse modo funciona corretamente sem nenhum problema..
Isso ai, mas desse modo limita apenas para videos do youtube.
O título do post é Salvar HTML no Banco de Dados - IFRAME do YOUTUBE.
Então dei a solução para o youtube.
Se for para outros sites de vídeos ai deve ter um tratamento para verificar qual é e mostar o iframe correto.
Obrigado pelas respostas pessoal!
Eu não tinha me dado conta dessa questão que o link do iframe gerado pelo Youtube é o mesmo que se pega lá em cima..
Hehehe... Mancada básica.
Acho que não me ocorreu isso porque estava me focando no fato de que o iframe do Google Maps eu consigo passar sem dar falha, copiando todo o script gerado...
Mas valeu. Vou testar aqui essas dicas, mas pelo que foi dito aqui não tem erro. Vai funcionar...
Obrigado!!!
Só pra avisar... Está resolvido, seguindo as dicas passadas aqui. Detalhe: passar o código TODO, como copiado lá no Youtube, funciona somente no WAMP e semelhantes, conforme as configurações estabelecidas.
Eae vitor beleza?
o que você quer é exibir um video determinado usando iframe?
se for esse o caso, dá pra você salvar sim apenas a url do video e passá-la para o iframe, se não for essa a finalidade, você pode descrever qual o resultado final que você espera e talvez haja uma maneira mais simples de chegar lá.