Foros del Web » Programando para Internet » PHP »

Problema: No recibe las variables POST

Estas en el tema de Problema: No recibe las variables POST en el foro de PHP en Foros del Web. Hola a todos, bueno, pues despues de una serie de pruebas ya me canse y no he logrado poner a trabajar un codigo que tengo, ...
  #1 (permalink)  
Antiguo 16/08/2006, 20:13
Avatar de Ciberdanny  
Fecha de Ingreso: marzo-2005
Ubicación: Distrito Federal
Mensajes: 208
Antigüedad: 19 años, 1 mes
Puntos: 1
Problema: No recibe las variables POST

Hola a todos, bueno, pues despues de una serie de pruebas ya me canse y no he logrado poner a trabajar un codigo que tengo, y es que, se trata de enviar un mail con php a una cuenta de correo que viene de un formulario (ademas de otros datos), con la ayuda que recibi en un post anterior logre obtener de la base de datos la informacion que necesito para enviarla por correo.

El caso es que estoy usando este script:

Código PHP:
<?php
include('class.smtp.inc');
header('Content-Type: text/plain');

$hoy date ("d F Y");

$message "\t\t\t$hoy\n\n";

$message $message "$variable1'\n";
$message $message "$variable2\n";
$message $message "$variable3";

$params['host'] = 'no de host';
$params['port'] = --;
$params['helo'] = '-----------';
$params['auth'] = TRUE;
$params['user'] = '--------------';
$params['pass'] = '-----------';

$send_params['recipients'] = array($variable1);
$send_params['headers'] = array('From: "nombre" <mail>','To: $variable1, 'SubjectRecordando contrase&#241;a');
$send_params['from'] = '-------------------';
$send_params['body'] = $message;
if(
is_object($smtp smtp::connect($params)) AND $smtp->send($send_params))
{
Header("Location: ok.htm"); 
exit;
}
else
{
Header("Location: error.htm");
exit;
}
mysql_free_result($result)
?>
El problema es que donde dice $variable1 (en la parte donde se crean los headers del mail y donde se indica a donde se enviará) no me recibe los datos que vienen del formulario (espero explicarme), osea, si yo subsituyo $variable1 por una direccion de correo si recibo el correo bien, pero si le pongo $variable1 no lo recibo pero me redirecciona a "ok.php" y la cuenta que envia los mails recibe de regreso esos correos que no se enviaron diciendo "error postmaster dns, etc" ¿que esta pasando?

Ya intente indicando: $variablle=$_POST['variable']; o substituyendo $variable1 por $_POST['variable'] pero me manda a error

¿alguna idea de que estara pasando? o como le hago para que se envie el mail al correo que el formulario le enviua a este script?

Bueno, se despide el agotado.

Gracias.
__________________
www.eris.com.mx

Última edición por Ciberdanny; 16/08/2006 a las 20:36 Razón: Favor de encerrar código
  #2 (permalink)  
Antiguo 16/08/2006, 22:23
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Cita:
pero me manda a error
¿qué error? ¿que la variable no existe?
Poné por favor los mensajes de error.

saludos.
  #3 (permalink)  
Antiguo 17/08/2006, 09:32
Avatar de Ciberdanny  
Fecha de Ingreso: marzo-2005
Ubicación: Distrito Federal
Mensajes: 208
Antigüedad: 19 años, 1 mes
Puntos: 1
el error

Ok, gracias por tu respuesta y te comento:

Cuando mencone que me manda a error me dice lo siguiente:

Cuando le substituyo $variable1 por el Email directamente me manda a la pagina ok.htm y el mail lo manda bien.

Cuando le pongo en lugar el correo directamente le pongo $variable1 para que reciba el mail del formulario otra vez manda a la pagina ok.htm pero el correo que utilizo para enviar estos correos recibe de regreso el mensaje diciendo "el correo [email protected] (es el sitio donde esta alohada la pagina) no pudo recibir el mensaje

Cuando le pongo en lugar de $variable1 le pongo $_POST['variable'] me dice "parse error on line 23" o a veces dice "parse error tstring"')", algo asi me dice.

Pues muchas gracias por tu ayuda, espero me puedas orientar que esta pasando ya que nunca me habia pasado.

Gracias de nuevo.
__________________
www.eris.com.mx
  #4 (permalink)  
Antiguo 17/08/2006, 09:57
 
Fecha de Ingreso: mayo-2005
Ubicación: Mexico DF
Mensajes: 27
Antigüedad: 18 años, 10 meses
Puntos: 0
Tienes un error en las comillas

Código:
$send_params['headers'] = array('From: "nombre" <mail>','To: $variable1, 'Subject: Recordando contraseña');

el fomato de array debiera ser

Código:
array('item1','item2','item3');
Y como puedes ver precisamente en el 'To: $variable1,' estas poniendo la coma sin poner la comilla que cierra.
  #5 (permalink)  
Antiguo 17/08/2006, 10:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
y otra cosa cuando usas comillas simples (') las variables dentro no se procesan, si no se imprimen tal cual, para que PHP expanda o sustituya las variables debes de usar (") dos comillas ejemplo:
Código PHP:
$nombre "Juan";
echo 
'Mi nombre es $nombre'// imprime Mi nombre es $nombre
echo "Mi nombre es $nombre"// imprime Mi nombre es Juan 
  #6 (permalink)  
Antiguo 17/08/2006, 10:45
Avatar de Ciberdanny  
Fecha de Ingreso: marzo-2005
Ubicación: Distrito Federal
Mensajes: 208
Antigüedad: 19 años, 1 mes
Puntos: 1
De acuerdo OK, ya quedooooo

Hola amigos.

Pues ya hice las pruebas con lo que mencionaron y HA QUEDADO PERFECTO, pues si, el problema estaba en las comillas y de las dos respuestas pude sacar la solucion, ahora el mensaje ya se envia correctamente y todo salio bien. La explicacion del amigo GatorV me hacia falta. gracias.

Estas comillas...


Bueno, muchisimas gracias por su ayuda!!!


Saludos!!!
__________________
www.eris.com.mx
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 08:30.