Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2004, 04:07
Avatar de yoseman
yoseman
 
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Error con implode cada par de reloads

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?>">&nbsp;&nbsp;&nbsp;&nbsp;<?=$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 ;)
__________________
[+]
[+]

Última edición por yoseman; 30/08/2004 a las 04:20