Comunidad de diseño web y desarrollo en internet online

Problema con AS y PHP

Citar            
MensajeEscrito el 02 Mar 2009 05:07 pm
Hola!
Tengo un problema con Action Script y PHP, el funcionamiento de esto seria asi..:
Desde el .swf se rellenan 3 campos ( titulo, texto y autor ) y al apretar aceptar estos 3 campos se envian a un .php donde este los guarda en un archivo .txt, es simple, peroo...cuando le doy aceptar en la etiqueta dinamica donde tendria que decir si los datos se guardaron correctamente o no, dice: "Undefined" , y no pasa nada, no se crea el archivo...

Les muestro mi codigo para que lo vean

Codigo AS en el boton Aceptar:

Código :

on(release){
   if((texto.text != "") && (titulo.text!="") && (firma.text!="")){
      var nuevo:LoadVars = new LoadVars();
      
      nuevo.onLoad = function(){
         estado.text = nuevo.estado;
      }
      
      nuevo.titulo = titulo.text;
      nuevo.texto = texto.text;
      nuevo.firma = firma.text;
      
      nuevo.sendAndLoad("nuevo.php",nuevo,"POST");
      
      estado.text = "";      
   }
   else{
      estado.text = "Complete todos los Campos.";
   }
}


Codigo del archivo nuevo.php:

Código :

<?php
   $Contenido = $_POST['titulo'].'&'. $_POST['texto'].'&'. $_POST['firma'];

   $pf = fopen("temas.txt", "w");
   
   if (fwrite($pf, $Contenido) === flase){
      echo "estado=ERROR:El archivo no se puede esribir.";
   }else{
      echo "estado=Los datos fueron guardados exitosamente";
   }
      
   fclose($pf);
?>





NOTA:los permisos de escritura de la carpeta estan bien


gracias y saludos

Por nykos

Claber

370 de clabLevel

3 tutoriales

 

msie7
Citar            
MensajeEscrito el 02 Mar 2009 08:29 pm
prueba con:

Código PHP :

<?php
   $Contenido = $_POST['titulo'].'&'. $_POST['texto'].'&'. $_POST['firma'];

   $pf = fopen("temas.txt", "w");
   
   if (fwrite($pf, $Contenido) === flase){
      //Regreso de variables con "&"
      echo "&estado=ERROR:El archivo no se puede esribir.";
   }else{
      echo "&estado=Los datos fueron guardados exitosamente";
   }
      
   fclose($pf);
?>

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 02 Mar 2009 08:35 pm
Hola!
Modifique lo que me dijiste pero sigue sin funcionar, me sigue diciendo "Undefined"...

Por nykos

Claber

370 de clabLevel

3 tutoriales

 

msie7
Citar            
MensajeEscrito el 02 Mar 2009 08:37 pm
Intenta esto:

Código ActionScript :

on(release){
   if((texto.text != "") && (titulo.text!="") && (firma.text!="")){
      var nuevo:LoadVars = new LoadVars();
      
      nuevo.onLoad = function(){
         //cambiado por this
         estado.text = this.estado;
      }
      
      nuevo.titulo = titulo.text;
      nuevo.texto = texto.text;
      nuevo.firma = firma.text;
      
      nuevo.sendAndLoad("nuevo.php",nuevo,"POST");
      
      estado.text = "";      
   }
   else{
      estado.text = "Complete todos los Campos.";
   }
}

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 02 Mar 2009 08:43 pm
Nop....sigue sin funcionar :S

Por nykos

Claber

370 de clabLevel

3 tutoriales

 

msie7
Citar            
MensajeEscrito el 02 Mar 2009 08:49 pm
por las dudas aviso que al archivo .php le di permiso 666 y a la carpeta donde estan todos los archivos .swf y el archivo .php tiene permiso 755

Lo raro es que cuando lo pruebo localmente me dice "Los datos fueron guardados exitosamente" , me fijo en la carpeta y no creo ningun archivo .txt :S
Pero cuando lo pruebo en el servidor sigue diciendo undefined...

Por nykos

Claber

370 de clabLevel

3 tutoriales

 

msie7
Citar            
MensajeEscrito el 02 Mar 2009 09:34 pm
No uses on(releas), programa la ccion de boton desde el fotograma.

Código ActionScript :

boton.onReleas = function()
{
//Las acciones que tenias
}


No declares el loadVars dentro del codigo del boton, declaralo afuera, porque si lo declaras adentro se puede borrar ya que solo funcionaria hasta que se deje de ejecutar la funcion.

quedaria algo asi:

Código ActionScript :

var nuevo:LoadVars = new LoadVars(); 
nuevo.onLoad = function(){ 
       //cambiado por this 
       estado.text = this.estado; 
};
boton.onRelease = function()
{
   if((texto.text != "") && (titulo.text!="") && (firma.text!="")){        
      nuevo.titulo = titulo.text; 
      nuevo.texto = texto.text; 
      nuevo.firma = firma.text; 
      estado.text = "";
      nuevo.sendAndLoad("nuevo.php",nuevo,"POST"); 
   } 
   else{ 
      estado.text = "Complete todos los Campos."; 
   } 
};


tu segundo problema, el del php, lo corriges asi:

Código PHP :

<?php 
   $Contenido = $_POST['titulo'].'&'. $_POST['texto'].'&'.$_POST['firma']; 
 //a+ si no existe crea el archivo y puede escribir en el
   $pf = fopen("temas.txt", "a+"); 
    
   if (fwrite($pf, $Contenido) === flase){ 
      //Regreso de variables con "&" 
      echo "&estado=ERROR:El archivo no se puede esribir."; 
   }else{ 
      echo "&estado=Los datos fueron guardados exitosamente"; 
   }        
   fclose($pf); 
?>


ademas te dejo este link Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 02 Mar 2009 10:24 pm
Hola.
Ya hice las modificaciones, pero sigue diciendome "undefined", no es un problema con la comunicacion entre el .php y el .swf ???
o del servidor??

porque localmente me dice que los datos fueron guardados aunque me fijo y no se creo ningun .txt , pero en el servidor no funciona...
vos lo probaste en tu servidor y te funciona?

Por nykos

Claber

370 de clabLevel

3 tutoriales

 

msie7
Citar            
MensajeEscrito el 02 Mar 2009 10:40 pm
No, la verdad no he probado nada, pero deberia funcionar, puede que tu error sea el mismo que el de esta persona.

Intenta tambien probando tus urls sin usar flash.

Mientras prueba esto:

Código PHP :

<?php  
   $Contenido = $_POST['titulo'].'&'. $_POST['texto'].'&'.$_POST['firma'];  
   $pf = fopen("temas.txt", "a+");  
     
   if (fwrite($pf, $Contenido) === false)
   {  
      //Regreso de variables con "&"  
      echo "&estado=ERROR:El archivo no se puede esribir.";  
   }else{  
      echo "&estado=Los datos fueron guardados exitosamente";  
   }         
   fclose($pf);  
?>


suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.