Ver Mensaje Individual
  #53 (permalink)  
Antiguo 20/07/2007, 10:44
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Desafio : Tres en Raya

Bien, anduve revisando el problema que mencionas, pero no hallaba la solucion. Al llamar a mi script de esta manera:

http://www.myokram.info/fdw/index.ph...i:0;i:2;i:0;}}

Efectivamente devuelve un tablero vacio con su jugada. Asi que pense que el problema estaba en mi script, pero...

Me di cuenta de que tu script realiza sus jugadas y las marca usando valores de texto (strings), mientras que el mio marca usando valores numericos (int), fijate en esta parte de la respuesta que me envias:

a:3:{i:0;a:3:{i:0;i:0;i:1;i:0;i:2;i:2;}i:1;a:3:{i: 0;i:0;i:1;s:1:"1";i:2;i:0;}i:2;a:3:{i:0;i:0;i:1;i:0;i:2;i:0;}}

Realmente desconozco el significado exacto de eso, pero mi script esperaria una respuesta como:

a:3:{i:0;a:3:{i:0;i:0;i:1;i:0;i:2;i:2;}i:1;a:3:{i: 0;i:0;i:1;i:1;i:2;i:0;}i:2;a:3:{i:0;i:0;i:1;i:0;i:2;i:0;}}

El problema estaba en que yo recibia el tablero de esta forma:
Código PHP:
$board = (!empty($_GET['tablero'])) ? unserialize($_GET['tablero']) : null
Y como tus respuestas llevan comillas (\") porque sus valores son strings, el tablero que me pasabas no podia ser unserializado asi nomas, y por lo tanto mi script empezaba con un tablero nuevo.... El valor de $_GET['tablero'] era:

a:3:{i:0;a:3:{i:0;i:0;i:1;i:0;i:2;i:2;}i:1;a:3:{i: 0;i:0;i:1;s:1:\"1\";i:2;i:0;}i:2;a:3:{i:0;i:0;i:1;i:0;i:2;i:0;}} //Fijate en los slashes

Lo solucione cambiando la forma de recibir el tablero a:

Código PHP:
$board = (!empty($_GET['tablero'])) ? unserialize(stripslashes($_GET['tablero'])) : null
Asi ya no deberia haber mas problemas . Seria bueno que al marcar alguna casilla usaras la funcion intval(), para que asi no generes campos de tipo string

Un saludo,

Última edición por okram; 20/07/2007 a las 10:52