Por lo que he leido, el uso de frames ya es obsoleto, pero es usado en casos muy específicos. Y creo que es mi caso... Y ahora tengo problemas con estos frames.
Tengo mi página principal donde tengo definidos mis frames, que son dos; el primer frame contiene un form con el cual envio un dato numérico X validado con un captcha; el segundo frame recibe el dato y debe de refrescarse X veces.
Primero probé enviar el dato X sin el captcha y si lo envia y recibe sin problemas. El problema es que, cuando trato de hacerlo validando con el captcha, pasa el dato, pero la validación no se puede hacer en el frame destino, y por ende no puedo ejecutar el ciclo con el cual refrescaré las X veces el segundo frame y seguir con mis pruebas. He probado varias formas, como, validar el captcha en mi frame de envio, pero no se ejecuta; y si hago la validación en el frame destino, la cadena de validación que se genera siempre me marca erronea.
Este es mi pagina principal:
Código HTML:
<html> <head> <title>home.php</title> </head> <FRAMESET rows="35%,*" > <FRAME SRC="imp_datos.php" name="enviar" > <FRAME SRC="proc_calc.php" name="recibir" > </FRAMESET><noframes></noframes> </html>
Código HTML:
<form name="form1" method="POST" action="proc_calc.php" target="recibir" > <img src="php_captcha.php"> Escribir cadena.<br> <input name="number" type="text" id=\"number\"> Número de exámenes.<br> <input type="text" name="num" id="text" tabindex="0" /> <input name="Submit" type="submit" value="Consultar"> </form>
Código PHP:
<?php
header("Expires: Tue, 01 Jul 2001 06:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
session_start();
set_time_limit(0); // Deshabilita el tiempo máximo de espera determinado en 30s del explorador.
$tiempo_micro[1]= microtime();
$q_espacios = explode(" ",$tiempo_micro[1]);
$tiempo_[1]= $q_espacios[1]+$q_espacios[0];
?>
<script language="javascript">
function focuson()
{ document.form1.number.focus()}
function check()
{
if(document.form1.number.value==0)
{
alert("Debes de escibir la cadena");
document.form1.number.focus();
return false;
}
}
</script>
<?php
$nex = $_POST['num'];
if(isset($_REQUEST['Submit']))
{
$key=substr($_SESSION['key'],0,5);
$number = $_REQUEST['number'];
if($number!=$key)
{
echo '<center><font face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000">Cadena Incorrecta, intenta de nuevo!</font></center>';
}
else
//******************************************************************************************************************************************
{
/* echo '<center><font face="Verdana, Arial, Helvetica, sans-serif" color="#66CC00">
Cadena valida!</font></center>'; */
function tiempo($segundos)
{
$minutos=$segundos/60;
$horas=floor($minutos/60);
$minutos2=$minutos%60;
$segundos_2=$segundos%60%60%60;
if($minutos2<10)$minutos2='0'.$minutos2;
if($segundos_2<10)$segundos_2='0'.$segundos_2;
if($segundos<60)
{ /* segundos */
$resultado= round($segundos,5).' Segundos';
}
elseif($segundos>60 && $segundos<3600)
{/* minutos */
$resultado= $minutos2.':'.round($segundos_2,2).' Minutos';
}else
{/* horas */
$resultado= $horas.':'.$minutos2.':'.round($segundos_2,2).' Horas';
}
return $resultado;
}
$nex1 = $nex;
$entrada = $nex * 70;
$tamano_KB = $entrada;
$entrada1 = $entrada;
$descarga = "http://sandisk.es/Assets/Image/DigitalAudioPlayers/Sansac100_1GB_white_case_ca.jpg";
for ($i=1; $i <= $nex; $i++)
{
$descarga;
}
}
//******************************************************************************************************************************************
}
$tiempo_micro[2] = microtime();
$q_espacios= explode(" ",$tiempo_micro[2]);
$tiempo_[2] =$q_espacios[1]+$q_espacios[0];
$tiempo_utilizado = number_format(($tiempo_[2]-$tiempo_[1]),10, "." ,",");
$velocidad = ($tamano_KB/$tiempo_utilizado);
$velocidad = round(($velocidad / 1024),2);
$segundos = $tiempo_utilizado;
echo '<center>Se descargaron '.$nex.' exámenes. ('.$entrada.' Kb)<br></center>';
echo '<center>Tiempo de conexión: '.tiempo($segundos).'<br>Velocidad: '.$velocidad.' Kb/s </center>';
?>
Espero haberme dado a entender y alguien pueda comentar al respecto.
Saludos.