evitar el uso de iframes

Iniciado por Cuasar, 20 Agosto 2015, 20:10 PM

0 Miembros y 1 Visitante están viendo este tema.

Cuasar

Hola como estan?.
Bueno les comento.

tengo un proyecto en PHP es una galería de vídeos esta todo funcionando perfecto pero no logro evitar el uso de un Iframe. Explico por qué:

En mi Web incluyo esta que es .PHP
En el HTML tengo


<form  class="combo" action="PHP/vid_pros.php" target="iframe1" method="GET">


$clavebuscadah=mysql_query("SELECT id_video,titulo,link,im FROM videos WHERE prot =1 AND año='1'",$conexion);


echo "<div class='cont-listado'>";
while($row = mysql_fetch_array($clavebuscadah))
{

echo "<form class='item' action='PHP/vid_pros.php' target='iframe1' metod='GET'>";
echo "<input type='hidden' value='".$row['id_video']."' name='id'>";
echo "<input class='im' type='image' src='imagenes/".$row['im']."'>";
echo "<h4 class='mini-vid' >".utf8_encode($row['titulo'])."</h4>";
echo "</form>";

}


echo "</div>";
mysql_close($conexion);


Y su cierre


<input class="item" id="btn" type="submit" value="Ver Video" />
</form>


Como verán estoy cargando todo un combo con los datos de una base de datos
El tema que este formulario me envía la la pagina vid_pros-php.

Esta los que hace es consultar a la base de datos según el id del vídeo y le asigna el src que figura en la base


<?php
$Dato
=$_GET['id'];

if(isset(
$_GET['id'])){
$Dato=$_GET['id'];
}
if(isset(
$_GET['capitulos'])){
$Dato=$_GET['capitulos'];
}

if (
$Dato != "0"){
include ("cn.php");


$clavebuscadah=mysql_query("SELECT link,titulo FROM vid WHERE id_video =$Dato ",$conexion);

while($row mysql_fetch_array($clavebuscadah)){

$ventana1 "<article />";
$titulo "<center><h3 color='blue'  class='tit-video'>".utf8_encode($row['titulo'])."</h3></center><br>";
$link "<center><video id='vid' src=".$row['link']."controls autoplay ></center><br>";
$ventana2 "</article>";


echo $ventana1;
echo $titulo;
echo $link;
echo $ventana2;
}
}
?>




Hasta aca todo funciona porque la idea es que el video se cargue en una parte de la web y no en otra ventana.

Pero esto lo logre solo usando un iframe que cargue a pros_vid-php   sin usar un iframe no se me ocurre de que forma evitar que el formulario me saque de la web y carge lo que le pido solo en un sector de la web sea un div o lo que sea.
Agradeceré su ayuda.

MinusFour

No es necesario usar frames para evitar la redireccion de la pagina. Puedes usar AJAX para recibir la informacion y actualizarla.

Cuasar

alguna sugerencia para implementarlo?

casi te diría que ni se lo que es AJAX jeje ley algo en algún momento pero no mucho.

podría por ejemplo actualizar la info de un div en partícular?

engel lex

puedes hacerlo facilmente con jquery, pero aquí un tutorial con las bases para que sepas que es y como se usa
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

MinusFour

Pues puedes usar .load() con jQuery para eso:

Código (javascript) [Seleccionar]

$(function(){
   $('#btn').on('click', function(e){
       e.preventDefault();
       var videoId = $('input[name=id]').val();
       $('divAcargar').load('PHP/vid_pros.php?id=' + videoId);
   });
});


Te sugeriria que te pusieras a leer y a investigar.

Cuasar

si con jquery pero no sabia como hacerlo.

voy a probar esto que me dices MinusFour

muchas gracias vere si funciona y te cuento.

Gracias a todos!!!