Foros del Web » Programando para Internet » PHP »

Enviar mail desde php

Estas en el tema de Enviar mail desde php en el foro de PHP en Foros del Web. Tengo un pequeño script que para mi es un gran script que me paso MWS, y necesito darle una pequeña solucion al problema que tengo ...
  #1 (permalink)  
Antiguo 08/08/2007, 07:05
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Enviar mail desde php

Tengo un pequeño script que para mi es un gran script que me paso MWS, y necesito darle una pequeña solucion al problema que tengo y es que no consigo que me envie por mail los datos...

el scritp es este a ver si hay alguien que me pueda decir o añadir que debo hacer...

Código PHP:
echo'</table>';

echo
'<form action="entrar.php" method="post" name="formulario" id="formulario" onsubmit="document.formulario.boton.value=\'Un momento por favor\';document.formulario.boton.disabled=true;">
<table width="98%" border="0" cellspacing="0" cellpadding="0" class="texto">
<tr><td>Comentarios</td><td><label><textarea name="comentarios" cols="32" rows="10"></textarea></label></td></tr>
<tr><td>&nbsp;</td><td><div align="center" class="volver"><input name="boton" type="submit" onclick="return checkPw(this)" value="Enviar Presupuesto"></div></td></tr>
</table></form>'
;
//////////////////
}}//fin de funcion imprime

function email($comentarios)
    {
$destinatario "[email protected]"
$asunto "Asunto Web";
    
$cuerpo '


Comentarios: '
.$comentarios.'

Perfiles Seleccionados:
'


for (
$i=0;$i<$this->num_productos;$i++)
{
    if(
$this->array_id_prod[$i]!=0)
    {
    
$cuerpo.='Referencia:'.$this->array_referencia_prod[$i].' -> Id: '.$this->array_id_prod[$i].'';
    }
}

$headers "From: Nombre<[email protected]>\r\n"

if(
mail($destinatario,$asunto,$cuerpo,$headers))
    {
    echo
'<br><br><div class="textobold"><b>Un momento, generando documento...</b></div>';
    echo
'
    <script language="JavaScript">
    var pagina="confirmacion.php"
    function redireccionar() 
    {location.href=pagina} 
    setTimeout ("redireccionar()", 1000);
    </script>
    '
;
    }
    else
    {
    echo
"<center><br><br><br><b>La información no pudo ser enviada, intente nuevamente por favor....</b>";
        echo
'
    <script language="JavaScript">
    var pagina="javascript:history.back(-1);"
    function redireccionar() 
    {location.href=pagina} 
    setTimeout ("redireccionar()", 2500);
    </script>
    '
;
    }

y el codigo de entrar.php es este...

Código PHP:
<?php
include("lib_carrito.php");
if((
$comentarios==""))
 {
 echo
"<font face=arial size=3><b>Olvidó ingresar algún dato, un momento por favor...</b></font>";
 echo
"<font face=arial size=3>Si su navegador no lo redirige automáticamente <a href=javascript:history.back(-1)>clic acá</a></font>";
 echo
'
 <script language="JavaScript">
 var pagina="javascript:history.back(-1);"
 function redireccionar() 
 {location.href=pagina} 
 setTimeout ("redireccionar()", 2500);
 </script>'
;//a cambio de este javascript puedes usar un header location
 
}
 else
{

}
?>
Alguna sugerencia o detectan donde está el error que tengo???

Gracias
  #2 (permalink)  
Antiguo 08/08/2007, 08:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Enviar mail desde php

Cual es el error que tienes?

Saludos.
  #3 (permalink)  
Antiguo 08/08/2007, 12:01
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

me da el siguiente error

Código:
Fatal error: Call to undefined method carrito::email() in /home/dasdf/public_html/cliente/entrar.php on line 17
que es esta linea.. pero yo creo qeu la tengo bien..

Código:
$_SESSION["ocarrito"]->email($_POST["comentarios"]);
  #4 (permalink)  
Antiguo 08/08/2007, 12:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Enviar mail desde php

Te esta diciendo que la funcion carrito no tiene ningun metodo email. Necesitas revisar la definicion de tu clase carrito para verificar que tengas la funcion email.

Saludos.
  #5 (permalink)  
Antiguo 08/08/2007, 12:23
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

si la tengo...

En el inicio de mi problema lo e expuesto... falta algo en esa fuction?
  #6 (permalink)  
Antiguo 09/08/2007, 14:52
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

O como sería posible enviar los datos por mail desde el formulario???
  #7 (permalink)  
Antiguo 18/08/2007, 03:53
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

La funcion de mail es esta no?

Código PHP:
function email($comentarios)
    {
$destinatario "[email protected]"
$asunto "Presupuesto Web";
    
$cuerpo '


Comentarios: '
.$comentarios.'

Perfiles Seleccionados:
'


for (
$i=0;$i<$this->num_productos;$i++)
{
    if(
$this->array_id_prod[$i]!=0)
    {
    
$cuerpo.='Referencia:'.$this->array_referencia_prod[$i].' -> Id: '.$this->array_id_prod[$i].'';
    }
}

$headers "From: Suministros Hidraulicos Marcos<[email protected]>\r\n"

if(
mail($destinatario,$asunto,$cuerpo,$headers))
    {
    echo
'<br><br><div class="textobold"><b>Un momento, generando documento...</b></div>';
    echo
'
    <script language="JavaScript">
    var pagina="confirmacion.php"
    function redireccionar() 
    {location.href=pagina} 
    setTimeout ("redireccionar()", 1000);
    </script>
    '
;
    }
    else
    {
    echo
"<center><br><br><br><b>La información no pudo ser enviada, intente nuevamente por favor....</b>";
        echo
'
    <script language="JavaScript">
    var pagina="javascript:history.back(-1);"
    function redireccionar() 
    {location.href=pagina} 
    setTimeout ("redireccionar()", 2500);
    </script>
    '
;
    }

Como podria arreglarlo...
  #8 (permalink)  
Antiguo 23/08/2007, 11:56
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

Hola, alquien puede explicarme cual es mi fallo?
  #9 (permalink)  
Antiguo 01/09/2007, 02:28
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

no consigo detectar donde estoy cometiendo el fallo... alguien puede ayudarme?
  #10 (permalink)  
Antiguo 01/09/2007, 06:03
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 19 años, 9 meses
Puntos: 0
Re: Enviar mail desde php

Si tienes la función en la clase, ¿tienes incluida la clase en el fichero donde haces lo de $_SESSION["ocarrito"]->email($_POST["comentarios"]); para que detecte el método?

include ('ruta clase carrito.php)

Suerte.
__________________
Uno para todos y todos para uno
  #11 (permalink)  
Antiguo 01/09/2007, 11:12
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

Bueno el formulario me lleva a esta pagina por action post...


Código PHP:
<?
include("lib_carrito.php");
if((
$comentarios==""))
    {
    echo
"<font face=arial size=3><b>Olvidó ingresar algún dato, un momento por favor...</b></font>";
    echo
"<font face=arial size=3>Si su navegador no lo redirige automáticamente <a href=javascript:history.back(-1)>clic acá</a></font>";
    echo
'
    <script language="JavaScript">
    var pagina="javascript:history.back(-1);"
    function redireccionar() 
    {location.href=pagina} 
    setTimeout ("redireccionar()", 2500);
    </script>'
;
    }
    else
    {
$_SESSION["ocarrito"]->email($_POST["comentarios"]);

}
?>
Esto es lo que me dices?
  #12 (permalink)  
Antiguo 01/09/2007, 14:21
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 19 años, 9 meses
Puntos: 0
Re: Enviar mail desde php

Efectivamente eso era lo que te decía que podía ser la causa del fallo. Si no lo es, siento no poder ayudarte.

Ánimo.
__________________
Uno para todos y todos para uno
  #13 (permalink)  
Antiguo 01/09/2007, 14:41
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

Entonces cual puede ser el problema?
  #14 (permalink)  
Antiguo 01/09/2007, 23:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Enviar mail desde php

No veo que llames a session_start() en la pagina donde llamas a $_SESSION["ocarrito"]->email($_POST["comentarios"]);

Necesitas llamar a session_start() para poder acceder a las variables de session.

Saludos.
  #15 (permalink)  
Antiguo 02/09/2007, 08:49
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

Si en lib_carrito.php llamo a la sesion:

//inicio la sesión
session_start();
//si no esta creado el objeto carrito en la sesion, lo creo
if (!isset($_SESSION["ocarrito"])){
$_SESSION["ocarrito"] = new carrito();
}
  #16 (permalink)  
Antiguo 20/09/2007, 14:39
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

Como Seria Posible Solucinar Mi Problema?
  #17 (permalink)  
Antiguo 20/09/2007, 15:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Re: Enviar mail desde php

prueba en vez de usar !isset prueba con empty que te devuelve true si no está definida de lo contrario devuleve false

saludos
__________________
*La amistad se multiplica cuando se divide*
  #18 (permalink)  
Antiguo 20/09/2007, 18:20
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Enviar mail desde php

Debug a full... Alguno de estos tiene que ser el problema
Código PHP:
echo '¿Está definida la variable?' . (isset($_SESSION["ocarrito"]) ? 'Sí' 'No');
echo 
'¿Es un objeto?' . (is_object($_SESSION["ocarrito"]) ? 'Sí' 'No');
if (
phpversion() >= 5)
echo 
'¿Es un objeto "carrito"?' . ($_SESSION["ocarrito"] instanceof carrito 'Sí' 'No');
else
echo 
'¿Es un objeto "carrito"?' . (is_a($_SESSION["ocarrito"],'carrito') ? 'Sí' 'No');
if (
phpversion() >= 5)
echo 
'¿Existe el método?' . (method_ exists("carrito",'email') ? 'Sí' 'No');
else
echo 
'¿Existe el método?' . (method_ exists($_SESSION["ocarrito"],'email') ? 'Sí' 'No'); 
  #19 (permalink)  
Antiguo 21/09/2007, 12:43
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

No lo entiendo muy bien lo que mequereis decir...
  #20 (permalink)  
Antiguo 21/09/2007, 12:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Enviar mail desde php

Te esta diciendo que pongas ese codigo que te dio justo antes de tu llamada a $_SESSION['ocarrito']->email()...

Saludos.
  #21 (permalink)  
Antiguo 24/09/2007, 16:37
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

Y dejarlo asi?

Código PHP:
<?
include("lib_carrito.php");
if((
$comentarios==""))
    {
    echo
"<font face=arial size=3><b>Olvidó ingresar algún dato, un momento por favor...</b></font>";
    echo
"<font face=arial size=3>Si su navegador no lo redirige automáticamente <a href=javascript:history.back(-1)>clic acá</a></font>";
    echo
'
    <script language="JavaScript">
    var pagina="javascript:history.back(-1);"
    function redireccionar() 
    {location.href=pagina} 
    setTimeout ("redireccionar()", 2500);
    </script>'
;
    }
    else
    {
    echo 
'¿Está definida la variable?' . (isset($_SESSION["ocarrito"]) ? 'Sí' 'No');
echo 
'¿Es un objeto?' . (is_object($_SESSION["ocarrito"]) ? 'Sí' 'No');
if (
phpversion() >= 5)
echo 
'¿Es un objeto "carrito"?' . ($_SESSION["ocarrito"] instanceof carrito 'Sí' 'No');
else
echo 
'¿Es un objeto "carrito"?' . (is_a($_SESSION["ocarrito"],'carrito') ? 'Sí' 'No');
if (
phpversion() >= 5)
echo 
'¿Existe el método?' . (method_ exists("carrito",'email') ? 'Sí' 'No');
else
echo 
'¿Existe el método?' . (method_ exists($_SESSION["ocarrito"],'email') ? 'Sí' 'No');
$_SESSION["ocarrito"]->email($_POST["comentarios"]);

}
?>
  #22 (permalink)  
Antiguo 24/09/2007, 18:50
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Enviar mail desde php

No, la idea no es dejarlo sino encontrar porque no funciona... Todas las opciones que se me ocurrieron por la que no andase están ahí, hay que ver cual es y porqué pasa
  #23 (permalink)  
Antiguo 25/09/2007, 06:35
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Enviar mail desde php

Pfff, yo esque no entiendo nada de programacion de php...
o como podria ponerlo para que me diga que errores pueden ser?
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 12:54.