Foros del Web » Programando para Internet » PHP »

funcion mail de php no me funciona...

Estas en el tema de funcion mail de php no me funciona... en el foro de PHP en Foros del Web. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <form method="post" action="enviar.php"> nombre <input name="Nombre" type="text"><br> apellidos <input name="Apellidos" type="text"><br> email<input name="email" type="text"><br> ...
  #1 (permalink)  
Antiguo 30/05/2008, 13:11
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 5 meses
Puntos: 0
funcion mail de php no me funciona...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>


<body>

<form method="post" action="enviar.php">

nombre <input name="Nombre" type="text"><br>

apellidos <input name="Apellidos" type="text"><br>

email<input name="email" type="text"><br>

telefono<input name="Telefono" type="text">
<br>

direccion <input name="Direccion" type="text"><br>

codigo postal <input name="Ciudad" type="text"><br>

Ciudad<input name="Codigo postal" type="text"><br>
comentarios<br>
<textarea name="comentarios" cols="30" rows="6"> </textarea><br>

<input value="Enviar" name="Enviar" type="submit"> <input id="Reset" value="Borrar" name="Reset" type="reset">
</body>
</html>
</form>

enviar.php

<?
$nombre = $_REQUEST["nombre"];
$apellidos = $_REQUEST["apellidos"];
$remitente = $_REQUEST["email"];
$telefono = $_REQUEST["telefono"];
$direccion = $_REQUEST["direccion"];
$codigo = $_REQUEST["codigo"];
$mensaje = $_REQUEST["comentarios"];
mail("[email protected]", "Comentarios desde mi pagina", $mensaje, "From: $remitente");
?>

Me da este error....

Notice: Undefined index: nombre in c:\var\internet\dominios\dominio.com\enviar.php on line 2

Notice: Undefined index: apellidos in c:\var\internet\dominios\dominio.com\enviar.php on line 3

Notice: Undefined index: telefono in c:\var\internet\dominios\dominio.com\enviar.php on line 5

Notice: Undefined index: direccion in c:\var\internet\dominios\dominio.com\enviar.php on line 6

Notice: Undefined index: codigo in c:\var\internet\dominios\dominio.com\enviar.php on line 7

Última edición por nightduke; 30/05/2008 a las 13:52
  #2 (permalink)  
Antiguo 30/05/2008, 13:15
 
Fecha de Ingreso: enero-2008
Mensajes: 163
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: funcion mail de php no me funciona...

el problema esque los nombres de tus text field empiesan con mayuscula seria $nombre=$_RESQUEST['Nombre'];
$apellido=$_RESQUEST['Apellidos'];
etc. por eso no los reconoce
  #3 (permalink)  
Antiguo 30/05/2008, 14:04
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: funcion mail de php no me funciona...

Muchas gracias lo he modificado envia pero solo recibo la linea de comentarios....

<?
$nombre = $_REQUEST["Nombre"];
$apellidos = $_REQUEST["Apellidos"];
$remitente = $_REQUEST["Email"];
$telefono = $_REQUEST["Telefono"];
$direccion = $_REQUEST["Direccion"];
$codigo = $_REQUEST["Codigo"];
$mensaje = $_REQUEST["Comentarios"];
mail("[email protected]", "Comentarios desde mi pagina", $mensaje, "From: $remitente")
or die ("Su mensaje no se envio.");

echo "<p>Hemos recibido la siguiente informaci&oacute;n:<p>";
echo $mensaje;
echo "<p><br><p>Muy pronto nos pondremos en contacto con usted.<p>";
?>

Texto que aparece despues de darle a enviar.
Hemos recibido la siguiente información:

7




Muy pronto nos pondremos en contacto con usted.

No llegan los datos que han puesto en el formulario, nombre, apellidos,etc...

Hay alguna forma de obligar de que todos los campos del formulario esten rellenos.

¿Se puede añadir con copia este email a la direccion suministrada?

Gracias
  #4 (permalink)  
Antiguo 30/05/2008, 14:17
 
Fecha de Ingreso: enero-2008
Mensajes: 163
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: funcion mail de php no me funciona...

mira te pondre algo que hice yo
Código HTML:
<form name="form1" method="post" action="comentariosysugerencias.php">
    <table width="400" border="1" align="center" bgcolor="#EFEFEF" bordercolor="#DCDCDC">
                <tr>
                  <td>
                    <table width="400" border="0" align="center">
                      <tr>
                        <td width="102" class="txtnegron"><div align="right">Nombre:</div></td>
                        <td width="288"><input type="text" name="nombre" id="nombre"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right">Apellido:</div></td>
                        <td><input type="text" name="apellido" id="apellido"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right">Tel&eacute;fono:</div></td>
                        <td><input type="text" name="telefono" id="telefono"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right">Ciudad:</div></td>
                        <td><input type="text" name="ciudad" id="ciudad"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right">Correo:</div></td>
                        <td><input type="text" name="correo" id="correo"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right" >Asunto:</div></td>
                        <td><input type="text" name="asunto" id="asunto"></td>
                      </tr>
                      <tr>
                        <td valign="top" class="txtnegron"><div align="right" >Comentario:</div></td>
                        <td><textarea name="comentario" id="comentario" cols="30" rows="5"></textarea></td>
                      </tr>
                    </table>
                    </td>
                    </tr>
                    </table>
<p align="center">
                              <input type="submit" name="button" id="button" value="Enviar">
                            </p>
              </form> 
comentariosysugerencias.php

Código PHP:
<?php 

$nombre
=$_POST['nombre'];
$apellido=$_POST['apellido'];
$telefono=$_POST['telefono'];
$head="From: ".$nombre." ".$apellido."<".$_POST['correo'].">";
$ciudad=$_POST['ciudad'];
$comentario=$_POST['comentario'];
$asunto=$_POST['asunto'];
$dest="[email protected]";
$msg=$nombre."\n";
$msg=$msg.$apellido."\n";
$msg=$msg.$telefono."\n";
$msg=$msg.$ciudad."\n";
$msg=$msg.$comentario."\n";
if(
mail($dest,$asunto,$msg,$head)){
    
$aviso="Su correo ha sido enviado";
}else{
    
$aviso="No se ha podido enviar su correo";
}
echo 
$aviso;
?>
Con respecto a lo que te habia dicho de las mayusculas no me habia fijado que tu tienes en email y comentarios van sin mayusculas las demas si espero te sirva
Si ai forma de obligar que llenen todos los campos solamente verifica si todos los REQUEST tienen algo si ai alguno que no tiene nada lo redireccionas para la pagina donde llenan los datos y asi tendran q escribir todo espero sirva esto
  #5 (permalink)  
Antiguo 30/05/2008, 14:53
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 85
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: funcion mail de php no me funciona...

Cita:
Iniciado por bleckfala Ver Mensaje
mira te pondre algo que hice yo
Código HTML:
<form name="form1" method="post" action="comentariosysugerencias.php">
    <table width="400" border="1" align="center" bgcolor="#EFEFEF" bordercolor="#DCDCDC">
                <tr>
                  <td>
                    <table width="400" border="0" align="center">
                      <tr>
                        <td width="102" class="txtnegron"><div align="right">Nombre:</div></td>
                        <td width="288"><input type="text" name="nombre" id="nombre"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right">Apellido:</div></td>
                        <td><input type="text" name="apellido" id="apellido"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right">Tel&eacute;fono:</div></td>
                        <td><input type="text" name="telefono" id="telefono"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right">Ciudad:</div></td>
                        <td><input type="text" name="ciudad" id="ciudad"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right">Correo:</div></td>
                        <td><input type="text" name="correo" id="correo"></td>
                      </tr>
                      <tr>
                        <td class="txtnegron"><div align="right" >Asunto:</div></td>
                        <td><input type="text" name="asunto" id="asunto"></td>
                      </tr>
                      <tr>
                        <td valign="top" class="txtnegron"><div align="right" >Comentario:</div></td>
                        <td><textarea name="comentario" id="comentario" cols="30" rows="5"></textarea></td>
                      </tr>
                    </table>
                    </td>
                    </tr>
                    </table>
<p align="center">
                              <input type="submit" name="button" id="button" value="Enviar">
                            </p>
              </form> 
comentariosysugerencias.php

Código PHP:
<?php 

$nombre
=$_POST['nombre'];
$apellido=$_POST['apellido'];
$telefono=$_POST['telefono'];
$head="From: ".$nombre." ".$apellido."<".$_POST['correo'].">";
$ciudad=$_POST['ciudad'];
$comentario=$_POST['comentario'];
$asunto=$_POST['asunto'];
$dest="[email protected]";
$msg=$nombre."\n";
$msg=$msg.$apellido."\n";
$msg=$msg.$telefono."\n";
$msg=$msg.$ciudad."\n";
$msg=$msg.$comentario."\n";
if(
mail($dest,$asunto,$msg,$head)){
    
$aviso="Su correo ha sido enviado";
}else{
    
$aviso="No se ha podido enviar su correo";
}
echo 
$aviso;
?>
Con respecto a lo que te habia dicho de las mayusculas no me habia fijado que tu tienes en email y comentarios van sin mayusculas las demas si espero te sirva
Si ai forma de obligar que llenen todos los campos solamente verifica si todos los REQUEST tienen algo si ai alguno que no tiene nada lo redireccionas para la pagina donde llenan los datos y asi tendran q escribir todo espero sirva esto

en vez de poner:

$msg=$msg.$apellido."\n";
$msg=$msg.$telefono."\n";
$msg=$msg.$ciudad."\n";

seria mas correcto poner:

$msg.=$apellido."\n";
$msg.=$telefono."\n";
$msg.=$ciudad."\n";
  #6 (permalink)  
Antiguo 30/05/2008, 14:54
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: funcion mail de php no me funciona...

Ya lo he conseguido con este codigo.

<?
$nombre = $_REQUEST["nombre"];
$apellidos = $_REQUEST["apellidos"];
$remitente = $_REQUEST["correo"];
$telefono = $_REQUEST["telefono"];
$direccion = $_REQUEST["direccion"];
$codigo = $_REQUEST["codigo"];
$mensaje = $_REQUEST["comentarios"];
mail("[email protected]", "Comentarios desde mi pagina",$mensaje = "$nombre\n $apellidos\n $remitente\n $telefono\n $direccion\n $codigo\n $mensaje", "From: $remitente")
or die ("Su mensaje no se envio.");
// En caso de que cualquier línea tenga más de 70 caracteres, habría
// que usar wordwrap()
$mensaje = wordwrap($mensaje, 70);

echo "<p>Hemos recibido la siguiente informaci&oacute;n:<p>";
echo $mensaje;
echo "<p><br><p>Muy pronto nos pondremos en contacto con usted.<p>";
?>

No veo la parte de request a la que te refieres.

Se puede añadir al email que aparezca:

nombre:nombre que pongan
apellido:el que pongan
etc

Sin poner email envia igual....

Uf como me va a costar aprender php
  #7 (permalink)  
Antiguo 30/05/2008, 15:02
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 85
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: funcion mail de php no me funciona...

Cita:
Iniciado por nightduke Ver Mensaje
Ya lo he conseguido con este codigo.

<?
$nombre = $_REQUEST["nombre"];
$apellidos = $_REQUEST["apellidos"];
$remitente = $_REQUEST["correo"];
$telefono = $_REQUEST["telefono"];
$direccion = $_REQUEST["direccion"];
$codigo = $_REQUEST["codigo"];
$mensaje = $_REQUEST["comentarios"];
mail("[email protected]", "Comentarios desde mi pagina",$mensaje = "$nombre\n $apellidos\n $remitente\n $telefono\n $direccion\n $codigo\n $mensaje", "From: $remitente")
or die ("Su mensaje no se envio.");
// En caso de que cualquier línea tenga más de 70 caracteres, habría
// que usar wordwrap()
$mensaje = wordwrap($mensaje, 70);

echo "<p>Hemos recibido la siguiente informaci&oacute;n:<p>";
echo $mensaje;
echo "<p><br><p>Muy pronto nos pondremos en contacto con usted.<p>";
?>

No veo la parte de request a la que te refieres.

Se puede añadir al email que aparezca:

nombre:nombre que pongan
apellido:el que pongan
etc

Sin poner email envia igual....

Uf como me va a costar aprender php
mi recomendación es que ahora le agregues un captcha
  #8 (permalink)  
Antiguo 30/05/2008, 15:18
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: funcion mail de php no me funciona...

¿Algun captcha facil?

Hay alguna manera que salga en el email
nombre: el que pongan
Apellidos: el que pongan
Etc...

Muchas gracias
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 21:30.