Voy a tratar de explicar el problema lo mas resumido posible. Tengo un contador de visitas que hice en AS3 y PHP. Lo hice siguiendo un videotutorial de YouTube.
El problema surge que cuando lo pruebo en servidor local, me da el siguiente error:
undefined
TypeError: Error #2007: El valor del parámetro text debe ser distinto de null.
at flash.text::TextField/set text()
at CreaTexto()
at MethodInfo-190()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
El "undefined" lo tengo por un trace que le hago a la variable que deberia volver de php. Pero el archivo sigue sumando, es decir que el php deberia funcionar bien. Hice la prueba en servidor tambien y no muestra nada.
Estoy con una clase de texto que cree para hacer los textos de la pagina, tambien he probado con textos dinamicos que trae el mismo flash, pero igualmente siguen los problemas. Les dejo el codigo:
En la linea de tiempo de flash:
Código ActionScript :
function contador() { var variableURL:URLVariables = new URLVariables(); var varEnvio:URLRequest = new URLRequest("./php/contador.php"); varEnvio.method = URLRequestMethod.POST; varEnvio.data = variableURL; var varLoader:URLLoader = new URLLoader(); varLoader.dataFormat = URLLoaderDataFormat.VARIABLES; varLoader.addEventListener(Event.COMPLETE, envioCompleto); variableURL.requestCode = "add1"; varLoader.load(varEnvio); function envioCompleto(event:Event):void { var countVar = event.target.data.phpCountVar; trace(countVar); var contador_txt:CreaTexto = new CreaTexto(countVar,cuadro,20,50,0,0,"0x000000"); cuadro.addChild(contador_txt); cuadro.cuenta_txt.text = countVar; } }
Y el codigo de php:
Código PHP :
<?php if ($_POST['requestCode'] == "add1") { $txtDatabase = "contador.txt"; $currentNumber = file_get_contents($txtDatabase,true); $fh = fopen($txtDatabase,'w') or die("No puedo abrir el archivo"); $newNumber = $currentNumber + 1; $data = "$newNumber"; fwrite($fh, $data); fclose(fh); print "phpCountVar=$newNumber"; } ?>
He intentado reemplazar el "print" por "echo" en php pero el resultado es el mismo. Ejecutando la pagina php desde mi servidor local, imprime esto:
Notice: Undefined index: requestCode in C:\wamp\www\pruebas\2012\php\contador.php on line 2
Pero, si esta mal el php ¿porque el txt sigue sumando de a uno?. Si vuelvo a inicializar la variable de php, pierdo el valor que trae del txt ¿no?.
En cuanto al fla, ¿puede ser el hecho de que tenga funciones anidadas que de error?, porque el ejemplo que vi no estaba todo el codigo dentro de la funcion. Yo llamo a la funcion "contador()" una linea antes de definirla. Pero tambien le he cambiado de lugar y el resultado es el mismo.
Tambien intente colocar a todos los archivos en la misma carpeta del fla, pero todo igual.
Agradezco cualquier tipo de ayuda que pueda guiarme.
Muchas gracias.
STARLANCER
