Pués tengo una especie de programilla que utiliza la función implode antes de pasar el array vía sesión (lo hice así para evitarme lios), pero cual es mi sorpresa cuando veo que cada dos veces que recargo la página (es un formulario) da error y no entiendo el porqué.
Si alguién se ha topado alguna vez con ese problema, yo desde luego no entiendo. Dejo el código, aunque es un simple implode(bueno varios) entre un lio del demonio:
Código PHP:
<?
session_start();
include('./cabeza.php');
?>
<html>
<head>
<title>Juego de preguntas</title>
</head>
<script language="JavaScript">
var inicio;
var fin;
var nume;
function calcular(){
fin = new Date();
var nume = Math.round((fin-inicio)/1000);
document.forms[0].tiempo.value=nume;
}
</script>
<body onload="inicio=new Date();">
<link rel="stylesheet" href="./zoneCopper.css" type="text/css">
<form action="c.php" onsubmit="calcular()" method="post">
<input type="hidden" name="tiempo" />
<?
include('config.php');
$tabla="preguntas";
$result = mysql_query("SELECT * FROM $tabla ORDER BY Rand() LIMIT 20");
$cont1=-1;
unset($correcta);
unset($id);
$td=mysql_num_fields($result);
while ($registro = mysql_fetch_row($result))
{
$cont=-1;$cont1++;
$conta=4;
$cadena=rand(4,7);
while ($conta<7)
{
$ara=rand(4,7);
if (!ereg($ara,$cadena))
{
$cadena.=".$ara";
$conta++;
}
}
$ran=explode(".",$cadena);
foreach($registro as $clave)
{
$cont++;
$num=($cont>=4) ? $ran[$cont-4] : $cont;
$matriz[$cont1][$num]=htmlspecialchars($clave);
switch($cont)
{
case "4":
$correcta[$cont1]=$ran[$cont-4]-3;break;
case "5":
$inc1[$cont1]=($ran[$cont-4]-3);break;
case "6":
$inc2[$cont1]=($ran[$cont-4]-3);break;
case "7":
$inc3[$cont1]=($ran[$cont-4]-3);break;
case "0":
$id[$cont1]=$matriz[$cont1][$num];break;
}
}
}
$correcta=implode(".",$correcta);
$inc1=implode(".",$inc1);
$inc2=implode(".",$inc2);
$inc3=implode(".",$inc3);
$id=implode(".",$id);
$_SESSION["respuestas"]= $correcta;
$_SESSION["idp"]= $id;
$_SESSION["inc1"]= $inc1;
$_SESSION["inc2"]= $inc2;
$_SESSION["inc3"]= $inc3;
?>
<table class="forumline" align="center"width="95%"><?
for ($i=0;$i<20;$i++)
{?>
<tr><td class="row1"><?
print "\n<center><br>Enviada por:<b>".$matriz[$i][1]."</b>\n<br>Tema:<b>".$matriz[$i][2]."\n</b>\n<br>Pregunta:<br><b><span style=\"color:#FFFFFF\">".$matriz[$i][3]."</span></b><br><br>\n</center></td></tr>\n<tr><td class=\"row2\" align=\"left\" style=\"padding:20px;\">\n<br>";
for ($j=4;$j<8;$j++)
{
if ($matriz[$i][$j]!="")
{
print"\n";?>
<input align="left" name="<?=$i?>" type="radio" value="<?=$j?>"> <?=$matriz[$i][$j]?>
<br><?
}
}?>
<br></td></tr><?
}
?>
<tr>
<td align="center"><br /><br />
<input style="{
background: #000000; color:#9999AA; font:11px Verdana,Arial,Helvetica,sans-serif}" type="submit" value="Responder!"/><br /><br />
</td></tr>
</form>
</table>
</BODY>
El error sale aquí
http://elotrositio.tuarrobanet.com/a.php
Salu2 ;)