Foros del Web » Programando para Internet » PHP »

Enviar arrays

Estas en el tema de Enviar arrays en el foro de PHP en Foros del Web. Pos veran yo tengo un array y la quiero mandar.Mire las Faqs y ahy venia pero ami no me sale . me sale -a -% ...
  #1 (permalink)  
Antiguo 20/07/2003, 05:24
 
Fecha de Ingreso: junio-2003
Mensajes: 150
Antigüedad: 20 años, 9 meses
Puntos: 0
Enviar arrays

Pos veran yo tengo un array y la quiero mandar.Mire las Faqs y ahy venia pero ami no me sale . me sale
-a
-%
-3

y aqui el codigo:
Código PHP:
$nombre trim($nombre);
    
$email trim($email);
    
$titulo trim($titulo);
    
$contenido trim($contenido);

    if(empty(
$nombre)) {
          
$error[] = "Y tu nombre???";
    }
    if(
$email != "") {
         if (!
ereg("^[^@]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,}$"$email)) {
            
$error[] = "Tu e-mail no es valido, si quieres no lo pongas";
        }
    }
    if(empty(
$titulo)) {
          
$error[] = "Te falto el titulo!";
    }
    if(empty(
$contenido)) {
        
$error[] = "Ja, y el contenido de la noticia";
    }

    if(
$error) {
    
    function 
array_envia($array) {

    
$tmp serialize($array);
    
$tmp urlencode($tmp);

    return 
$tmp;
    
}
$error=array_envia($error);
echo <<<HTML
<form action="error.php" method="GET" name="formulario">
   <input name="error" type="hidden" value="$error">
   </form>
HTML; 
y luego la recivo:
Código PHP:
<?
function array_recibe($url_array) {
    
$tmp stripslashes($url_array);
    
$tmp urldecode($tmp);
    
$tmp unserialize($tmp);
    echo 
$tmp;

   return 
$tmp;
}


$array=$_GET['error'];
 
// el método de envio usado. (en el ejemplo un link genera un GET. En el formulario se usa POST podria ser GET tambien ...)

$array=array_recibe($array);

for(
$i 0$i sizeof($array); $i++) {
          echo 
"- $error[$i]<br>";}
        
                
?>
como puedo hacer q me salgan los errores?y no los simbolos?
  #2 (permalink)  
Antiguo 20/07/2003, 09:39
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Bueno, creo que el problema es que estas usando serialize y unserialize en el momento equivocado dentro de tu código...

El orden correcto (creo) que debe ser así...

Primera parte
1.- Creas el array
2.- lo serializas

Segunda parte
3.- lo unserializas
4.- Ya es un array de nuevo
5.- Luego, a cada elemento le haces los stripslashes y demás...


Lo ULTIMO que deberías hacerle al array es serializarlo

Y lo PRIMERO que le debes hacer al dato serializado es unserializarlo

El problema es que despues de serializarlo lo estas alterando, y antes de convertirlo lo sigues alterando...

De esa forma, cuando usas el unserialize, ya no reconoce el formato...
__________________
Manoloweb
  #3 (permalink)  
Antiguo 20/07/2003, 12:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El array que has deserializado lo has guardado en $array, no en $error. Haz echo $array[$i].

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 20/07/2003, 12:36
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Bueno... y tambien eso...

__________________
Manoloweb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:46.