Foros del Web » Programando para Internet » PHP »

Problema con Variables y POST

Estas en el tema de Problema con Variables y POST en el foro de PHP en Foros del Web. Buenas, pues os explico... Tengo un formulario con muchísimos checkbox que se crean con un while y cada uno con nombre diferente ... Código PHP: ...
  #1 (permalink)  
Antiguo 29/07/2008, 06:46
Avatar de Pedro_valencia  
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 82
Antigüedad: 16 años, 3 meses
Puntos: 6
Problema con Variables y POST

Buenas, pues os explico...

Tengo un formulario con muchísimos checkbox que se crean con un while y cada uno con nombre diferente ...

Código PHP:
name="email'.$numero_emails.'" 
El nombre es email seguido de 1 número que va aumentando cada vez que se repite el while.

Ej:

email0, email1, email2, etc...

Y ahora quiero que se envie un email al email dado por una variable que contiene la información pasada por el metodo POST del formulario.

Y no sé como hacerlo... :S


Código PHP:
//envía el mensaje
for ($i $numero_emails$i >= 0$i--) {
$mail AQUÍ IRIA EL CONTENIDO DE CADA value DE CHECKBOX DEL FORMULARIO;
mail($mail,$asunto,$mensaje,$encabezado) or die;
echo 
'Web recomendada a '.$mail.'<br />';
}
echo 
'<div class="aprobado1">Has recomendando la web a '.$numero_emails.' contacto/s</div>'
¿Cómo lo hago?
  #2 (permalink)  
Antiguo 29/07/2008, 07:44
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Problema con Variables y POST

Un foreach() de la variable post, y si ese nombre empieza por mail es un mail, y así hasta que se terminen, pero no es mejor pasar un array por post?¿ y ya está ?
__________________
Francesc Jimenez
  #3 (permalink)  
Antiguo 29/07/2008, 09:25
Avatar de Pedro_valencia  
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 82
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Problema con Variables y POST

MMM... No te entiendo, será porque estoy ahora ya con dolor de cabeza :S

¿Puedes poner cómo para que vea a lo que te refieres?

Y sino pues pondré más código para que veais a lo que me refiero.
  #4 (permalink)  
Antiguo 30/07/2008, 06:28
Avatar de Pedro_valencia  
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 82
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Problema con Variables y POST

He puesto esto:

Código PHP:
$arr = array($_POST['email0']);
for (
$i $numero_emails$i >= 0$i--) {
$arr[] = $_POST['email'.$i];
}
foreach(
$arr as $v) {
mail($v,$asunto,$mensaje,$encabezado) or die;
echo 
'Web recomendada a '.$v;

Pero excede los límites de memoria...

Fatal error: Allowed memory size of 52428800 bytes exhausted (tried to allocate 4194304 bytes) in /home/clickp2p/domains/clickp2p.com/public_html/secciones/recomendar_accion.php on line 16

La línea 16 es :

Código PHP:
$arr[] = $_POST['email'.$i]; 
Seguramente eso este mal pero no suelo utilizar arrays y foreach en mi sitio.

¿Cómo lo hago?

Lo que quiero es recoger los $_POST enviados desde el formulario y que envie el email a todos los $_POST recogidos.

Salu2
  #5 (permalink)  
Antiguo 30/07/2008, 07:23
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Problema con Variables y POST

Escribe una lista de todas las variables,si las variables las recibe bien?

Prueba en poner esto al principio del script:
Código PHP:
    @ignore_user_abort();
    @
set_magic_quotes_runtime(0);
    @
set_time_limit(0); 
Si no funciona es posible que sea por la funcion mail() , intenta hacer un sleep() después de cada envió, pero consulta información de envío de mail masivo en PHP.

A cuanta gente debe enviarse el mail?¿
__________________
Francesc Jimenez
  #6 (permalink)  
Antiguo 30/07/2008, 07:26
Avatar de Pedro_valencia  
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 82
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Problema con Variables y POST

Pues según...

Porque el script que he creado se conecta a los servidores de hotmail y recoge la lista de contactos y con un foreach la muestra y ya el usuario selecciona a que contactos quiere enviar el email.

Yo las pruebas las estoy haciendo con mi msn que son 362 contactos.

Vamos 362 emails...

Nada sigue dando el error de exceso de memoria, el código del archivo que envia el email es este:

Código PHP:
<?
    
@ignore_user_abort();
    @
set_magic_quotes_runtime(0);
    @
set_time_limit(0);  
//indica el asunto del mensaje
$asunto "Ey!, Mira esto vas a flipar";

//indica que el mail se envía en formato HTML

$encabezado "From:".$username."\nReply-To".$username."\n";
$encabezado .= "X-Mailer:PHP/".phpversion()."\n";
$encabezado .= "Mime-Version: 1.0\n";
$encabezado .= "Content-Type: text/html";
$mensaje "Buenas, ".$username." te ha enviado este email para recomendarte la web <a href='http://www.clickp2p.com'>CLICKP2P.COM</a>, Una web donde podrás descargar Los últimos estrenos de cine (Incluso antes de que esten en el cine), Juegos para tus consolas, Series, Música y mucho más!";
$mensaje .= "<a href='http://www.clickp2p.com/registro/'>¡Entra ya y registrate!</a>";


$arr = array($_POST['email0']);
for (
$i $numero_emails$i >= 0$i--) {
$arr[] = $_POST['email'.$i];
}

foreach(
$arr as $v) {
mail($v,$asunto,$mensaje,$encabezado) or die;
echo 
'Web recomendada a '.$v;
sleep(10);
}

echo 
'<div class="aprobado1">Has recomendando la web a '.$numero_emails.' contactos</div>';
echo
'<div class="clearpadd"></div>';
echo 
'<div class="duda1">Has ganado '$numero_emails*.' puntos de experiencia</div>';
?>

Última edición por Pedro_valencia; 30/07/2008 a las 07:41
  #7 (permalink)  
Antiguo 30/07/2008, 08:00
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Problema con Variables y POST

$arr[] = $_POST['email'.$i]; <-- l.20 esta vació el $arr[] pon $arr[$i] o lo que sea

No entiendo muy bien lo que haces con el código, pero los mails los recibe bien?¿ revisa en el foro, hay la solución de enviar varios mails en php, y te explica el porque falla... busca: mail masivo
__________________
Francesc Jimenez
  #8 (permalink)  
Antiguo 31/07/2008, 05:54
Avatar de Pedro_valencia  
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 82
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Problema con Variables y POST

Lo pongo así $arr[] porque según habia leído es lo mismo que array_push vamos que añade 1 elemento al array.


Voy a buscar sobre el envio de mails masivos.

Salu2 ;)

EDITO: He puesto para probar esto:

Código PHP:
$arr = array($_POST['email0']);
for (
$i $numero_emails$i >= 0$i--) {
$arr[$i] = $_POST['email'.$i];
}
foreach(
$arr as $v) {
echo 
'Web recomendada a '.$v;

Pero tras un rato solo me descarga el index.php :S

y si quito el $i da exceso de memoria....

¿Qué hago?

Última edición por Pedro_valencia; 31/07/2008 a las 06:30
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 01:48.