Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Enviar valor del $_POST[];

Estas en el tema de Enviar valor del $_POST[]; en el foro de Frameworks y PHP orientado a objetos en Foros del Web. HOLA EL ERROR QUE TENGO ES EL SIGUIENTE TENGO UNA CLASE EN DONDE TENGO MI FORMULARIO DONDE EL USUARIO SE REGISTRA ES EL SIGUIENTE: <input ...
  #1 (permalink)  
Antiguo 02/10/2009, 01:03
 
Fecha de Ingreso: mayo-2009
Ubicación: Stgo. Pinotepa Nacional Oaxaca
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Enviar valor del $_POST[];

HOLA EL ERROR QUE TENGO ES EL SIGUIENTE TENGO UNA CLASE EN DONDE TENGO MI FORMULARIO DONDE EL USUARIO SE REGISTRA ES EL SIGUIENTE:
<input name="txtNombre" type="text" id="txtNombre" tabindex="1" size="50" value="<?php echo $n ?>"> </td>
</tr>
<tr>
<td class="Format1">Direcci&oacute;n:</td>
<td>
<textarea name="txtDireccion" id="txtDireccion" cols="40" rows="3" tabindex="2" value="<?php echo $d ?>">
</textarea> </td>
</tr>
<tr>
<td class="Format1">Tel&eacute;fono:</td>
<td>
<input name="txtTelefono" type="text" id="txtTelefono" tabindex="3" value="<?php echo $t ?>"> </td>
</tr>
<tr>
<td class="Format1">Email: </td>
<td>
<input name="txtEmail" type="text" id="txtEmail" size="50" tabindex="4" value="<?php echo $e ?>"> </td>
</tr>


Y EN OTRA CLASE ES DONDE TENGO LAS VARIABLES PARA MANDARLAS POR MAIL QUE ES LA SIGUIENTE:

class C
{
private $nombre;
private $direccion;
private $telefono;
private $email;
private $poblacion;
private $asunto;
private $comentario;

public function Contact($n,$d,$t,$e,$p,$a,$c)
{
$this->nombre = $n;
$this->direccion = $d;
$this->telefono = $t;
$this->email = $e;
$this->poblacion = $p;
$this->asunto = $a;
$this->comentario = $c;
}
$mail->Subject = $asunto;

$ip = $this->getRealIpAddr();

$msg = "------------------------------- \n <br />";
$msg.= " Comentarios \n <br />";
$msg.= "------------------------------- \n <br />";
$msg.= "NOMBRE: ".$nombre."\n <br />";
$msg.= "DIRECCIÓN: ".$direccion."\n <br />";
$msg.= "EMAIL: ".$email."\n <br />";
$msg.= "TELÉFONO: ".$telefono."\n <br />";
$msg.= "POBLACIÓN: ".$poblacion."\n <br />";
$msg.= "ASUNTO: ".$asunto."\n <br />";
$msg.= "HORA: ".date("h:i:s a ")."\n <br />";
$msg.= "FECHA: ".date("D, d M Y")."\n <br />";
$msg.= "IP: ".$ip."\n <br />";
$msg.= "------------------------------- \n\n <br />";
$msg.= $comentarios."\n\n";
$msg.= "------------------------------- \n <br />";

$mail->Body = $msg;

Y CUANDO MANDO A LLAMAR A LA CLASE DEL FORMULARIO LE PASO LOS SIGUIENTES PARAMENTROS
Código A:
Ver original
  1. $Con = new C($_POST["txtNombre"],$_POST["txtDireccion"],$_POST["txtTelefono"],$_POST["txtEmail"],$_POST["txtPoblacion"],$_POST["txtAsunto"],$_POST["txtComentario"]);

ME DICE LO SIGUIENTE:

Notice: Undefined variable: email in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\MIWEB\paqL\C.php on line 86

PODRIAN AYUDARME PORFAVORE!!!!!
  #2 (permalink)  
Antiguo 02/10/2009, 09:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar valor del $_POST[];

Tienes algunos errores, en primera tu funcion constructora se debería llamar __construct, segundo cierras el bloque de la clase y luego pones código directo en el cuerpo de la clase, eso es un error, el código como tal debe de ir en métodos o en funciones de la clase, no puede ir directo en el cuerpo de la clase.

Saludos.
  #3 (permalink)  
Antiguo 02/10/2009, 13:01
 
Fecha de Ingreso: mayo-2009
Ubicación: Stgo. Pinotepa Nacional Oaxaca
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Respuesta: Enviar valor del $_POST[];

Hola si eso me falto es que copie mal pero mi clase esta asi:
Cita:
public function setenviar()
{
// primero hay que incluir la clase phpmailer para poder instanciarun objeto de la misma
include_once("includes/class.phpmailer.php");
include_once("includes/class.smtp.php");
//instanciamos un objeto de la clase phpmailer al que llamamos por ejemplo mail
$mail = new phpmailer();

//definimos las propiedades y llamamos a los métodos
//correspondientes del objeto mail

//con plugindir le indicamos a la clase phpmailer donde se
//encuentra la clase smtp que como he comentado al principio de
//este ejemplo va a estar en el subdirectorio includes
$mail->plugindir = "includes/";

//con la propiedad mailer le indicamos que vamos a usar un
//servidor smtp
$mail->mailer = "smtp";

//asignamos a host el nombre de nuestro servidor smtp
$mail->host = "ssl://smtp.gmail.com";

//le indicamos que el servidor smtp requiere autenticación
$mail->smtpauth = true;

//le decimos cual es nuestro nombre de usuario y password
$mail->username = "correo_gmail.com";
$mail->password = "pass";

//indicamos cual es nuestra dirección de correo y el nombre que
//queremos que vea el usuario que lee nuestro correo
$mail->from = $email;
$mail->fromname = $nombre;

//el valor por defecto 10 de timeout es un poco escaso dado que voy a usar
//una cuenta gratuita, por tanto lo pongo a 30
$mail->timeout=30;

//indicamos cual es la dirección de destino del correo
$mail->addaddress("correo_gmail.com");

//asignamos asunto y cuerpo del mensaje
//el cuerpo del mensaje lo ponemos en formato html, haciendo
//que se vea en negrita
$mail->subject = $asunto;

$ip = $this->getrealipaddr();

$msg = "------------------------------- \n <br />";
$msg.= " comentarios \n <br />";
$msg.= "------------------------------- \n <br />";
$msg.= "nombre: ".$nombre."\n <br />";
$msg.= "direcciÓn: ".$direccion."\n <br />";
$msg.= "email: ".$email."\n <br />";
$msg.= "telÉfono: ".$telefono."\n <br />";
$msg.= "poblaciÓn: ".$poblacion."\n <br />";
$msg.= "asunto: ".$asunto."\n <br />";
$msg.= "hora: ".date("h:i:s a ")."\n <br />";
$msg.= "fecha: ".date("d, d m y")."\n <br />";
$msg.= "ip: ".$ip."\n <br />";
$msg.= "------------------------------- \n\n <br />";
$msg.= $comentarios."\n\n";
$msg.= "------------------------------- \n <br />";

$mail->body = $msg;

//definimos altbody por si el destinatario del correo no admite email con formato html
$mail->altbody = "mensaje de prueba mandado con phpmailer en formato solo texto";

//se envia el mensaje, si no ha habido problemas
//la variable $exito tendra el valor true
$exito = $mail->send();

//si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho
//para intentar enviar el mensaje, cada intento se hara 5 segundos despues
//del anterior, para ello se usa la funcion sleep
$intentos=1;
while ((!$exito) && ($intentos < 5))
{
sleep(5);
//echo $mail->errorinfo;
$exito = $mail->send();
$intentos=$intentos+1;
}
if(!$exito)
{
echo "problemas enviando correo electrónico a ".$valor;
echo "<br/>".$mail->errorinfo;
}
else
{
echo "mensaje enviado correctamente";
$this->setagregar();
}
  #4 (permalink)  
Antiguo 02/10/2009, 15:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar valor del $_POST[];

Pues si las propiedades las tienes en la clase no las puedes leer asi simple, por ejemplo $nombre tienes que usar $this->nombre también para leerlas.

Saludos.
  #5 (permalink)  
Antiguo 02/10/2009, 18:22
 
Fecha de Ingreso: mayo-2009
Ubicación: Stgo. Pinotepa Nacional Oaxaca
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Respuesta: Enviar valor del $_POST[];

Hola upssss si lo siento se me olvido eso pero ya esta solucionado eso pero ahora me manda las siguientes advertencias cuando envio el correo electrÓnico:

Cita:
warning: Include_once(includes/class.smtp.php) [function.include-once]: Failed to open stream: No such file or directory in c:\archivos de programa\apache software foundation\apache2.2\htdocs\miweb\paql\includes\cl ass.phpmailer.php on line 460
y el siguiente:

Cita:
warning: Include_once() [function.include]: Failed opening 'includes/class.smtp.php' for inclusion (include_path='.;c:\php5\pear') in c:\archivos de programa\apache software foundation\apache2.2\htdocs\miweb\paql\includes\cl ass.phpmailer.php on line 460
la lÍnea 460 de la clase phpmailer es la siguiente:

Cita:
include_once($this->plugindir . "class.smtp.php");
porfavore ayuda!!!!!!!!!!!
  #6 (permalink)  
Antiguo 04/10/2009, 13:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar valor del $_POST[];

Eso te indica que no puede encontrar la clase class.smtp.php, verifica que exista en el directorio includes/class.smtp.php ya que asi lo tienes definido.

Saludos.
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 04:37.