Foros del Web » Programando para Internet » PHP »

Formulario de contacto php (error correo .info)

Estas en el tema de Formulario de contacto php (error correo .info) en el foro de PHP en Foros del Web. Hola. Tengo un problema con un formulario de contacto. Resulta que es el sistema que utilizo siempre pero en este caso me da un problema ...
  #1 (permalink)  
Antiguo 18/01/2010, 18:25
 
Fecha de Ingreso: febrero-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Formulario de contacto php (error correo .info)

Hola.
Tengo un problema con un formulario de contacto.
Resulta que es el sistema que utilizo siempre pero en este caso me da un problema por que al correo que tiene que enviar los datos es un .info osea [email protected]
Cuando utilizo un .com siempre va bien pero con el .info no funciona.
Por que puede ser, que solucion veis.
os adjunto el codigo del formulario y el codigo de envio.php.


Código HTML:
<form METHOD="GET" action="envio.php">


		  <p style="margin-top: 0; margin-bottom: 5px">Nombre:</p>
    <p style="margin-top: 5px; margin-bottom: 5px">
      <input TYPE="text" NAME="nombre" SIZE="33"></p>

	  <p style="margin-top: 0; margin-bottom: 5px">Correo Electrónico :</p>
      <p style="margin-top: 5px; margin-bottom: 5px">
      <input TYPE="text" NAME="email" SIZE="33" ></p>

	  <p style="margin-top: 0; margin-bottom: 5px">Telefono:</p>
    <p style="margin-top: 5px; margin-bottom: 5px">
      <input TYPE="text" NAME="url" SIZE="33"></p>


	  <p style="margin-top: 0; margin-bottom: 5px">Comentarios:</p>
    <p style="margin-top: 5px; margin-bottom: 5px">
      <textarea rows="6" name="comentarios" cols="35"></textarea></p>

	  <input TYPE="submit" VALUE="ENVIAR">

          <div id="additional_navigations"></div>

        </div>
		</form> 
------------------------------------------------------------------------
codigo envio.php
-------------------------------------------------------------------


Código PHP:
<?
/* aqui se incializan variables de PHP */
if (phpversion() >= "4.2.0") {
if ( 
ini_get('register_globals') != ) {
$supers = array('_REQUEST',
'_ENV',
'_SERVER',
'_POST',
'_GET',
'_COOKIE',
'_SESSION',
'_FILES',
'_GLOBALS' );

foreach( 
$supers as $__s) {
if ( (isset($
$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__sEXTR_OVERWRITE );
}
unset(
$supers);
}
} else {
if ( 
ini_get('register_globals') != ) {

$supers = array('HTTP_POST_VARS',
'HTTP_GET_VARS',
'HTTP_COOKIE_VARS',
'GLOBALS',
'HTTP_SESSION_VARS',
'HTTP_SERVER_VARS',
'HTTP_ENV_VARS'
);

foreach( 
$supers as $__s) {
if ( (isset($
$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__sEXTR_OVERWRITE );
}
unset(
$supers);
}
}

/* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */

if($email=="")
{
/* reclama si no se ha rellenado el campo email en el formulario */
echo "No ingresaste la dirección de correo electrónico";
exit();
}

/* aquí se especifica la pagina de respuesta en caso de envío exitoso */
$respuesta="http://www.google.com";
// la respuesta puede ser otro archivo, en incluso estar en otro servidor

/* AQUÍ ESPECIFICAS EL CORREO AL CUAL QUEREIS QUE SE ENVÍEN LOS DATOS
DEL FORMULARIO, SI QUIERES ENVIAR LOS DATOS A MÁS DE UN CORREO,
LOS PUEDES SEPARAR POR COMAS */
$para ="[email protected]";

/* AQUI ESPECIFICAS EL SUJETO DEL EMAIL */
$sujeto "Formulario de contacto pagina web";

/* aquí se construye el encabezado del correo*/ 
$encabezado "From: $nombre <$email>";
$encabezado .= "\nReply-To: $email";
$encabezado .= "\nX-Mailer: PHP/" phpversion();

/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;

/* las siguientes líneas arman el mensaje */
$mensaje .= "NOMBRE = $nombre\n";
$mensaje .= "TU EMAIL = $email\n";
$mensaje .= "TU TELEFONO= $url\n";
$mensaje .= "COMENTARIOS = $comentarios\n";
$mensaje .= "TU DIRECCION IP = $ip\n";

/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
if(!mail($para$sujeto$mensaje$encabezado))
{
echo 
"<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";
}

?>

Mis mas sinceras disculpas

Última edición por elmasgayu; 19/01/2010 a las 15:52
  #2 (permalink)  
Antiguo 19/01/2010, 00:03
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 9 meses
Puntos: 19
Respuesta: Formulario de contacto php (error correo .info)

ese codigo es impresentable, por favor usa la etiqueta HIGHLIGHT para mostrar tu codigo, y existe algo que se llama TABULACION... no me dan ganas ni de leer el titulo con eso ahi!
  #3 (permalink)  
Antiguo 19/01/2010, 15:55
 
Fecha de Ingreso: febrero-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Formulario de contacto php (error correo .info)

Cita:
Iniciado por korg1988 Ver Mensaje
ese codigo es impresentable, por favor usa la etiqueta HIGHLIGHT para mostrar tu codigo, y existe algo que se llama TABULACION... no me dan ganas ni de leer el titulo con eso ahi!
Mis mas sinceras disculpas korg1988.

Ya esta modificado, Creo que ya lo puse de la forma correcta.


Me podéis ayudar con la pregunta
  #4 (permalink)  
Antiguo 19/01/2010, 22:07
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 9 meses
Puntos: 19
De acuerdo Respuesta: Formulario de contacto php (error correo .info)

Bueno en primer lugar no se por que tenes en el codigo toda esa ridicules de preguntar que version es, para usar variables globales que estan hiper mega deprecadas!!

Anda a lo basico! a lo que necesitas hacer puntulamente!! y luego vas complejizandolo, pero de a poco! No se puede trabajar en ese lio!

Primero, TODAS LAS ETIQUETAS Y ATRIBUTOS HTML van en minuscula!! (Por sentido comun de organizacion y limpieza)

Con respecto al codigo php, tu codigo reducido, a lo basico que necesitas... No mas que esto... quedaria de la siguiente forma


Código PHP:
Ver original
  1. <?php
  2.  
  3. if (empty ($_POST['email']))
  4. {
  5.     echo "No ingresaste la dirección de correo electrónico";
  6.     exit ();
  7. }
  8.  
  9. $respuesta = "http://www.google.com";
  10. $asunto = "Formulario de contacto pagina web";
  11.  
  12. $ip = $_SERVER['REMOTE_ADDR'];
  13. $cabeceras = "From: {$_POST['nombre']} <{$_POST['email']}>";
  14.  
  15. /* las siguientes líneas arman el mensaje */
  16. $mensaje .= "NOMBRE = {$_POST['nombre']}\n";
  17. $mensaje .= "TU EMAIL = {$_POST['email']}\n";
  18. $mensaje .= "TU TELEFONO= {$_POST['url']}\n";
  19. $mensaje .= "COMENTARIOS = {$_POST['comentarios']}\n";
  20. $mensaje .= "TU DIRECCION IP = $ip\n";
  21.  
  22. /* aqui se intenta enviar el correo, si no se
  23. tiene éxito se da un mensaje de error */
  24. if (! mail ($para, $asunto, $mensaje, $cabeceras))
  25. {
  26.     echo "<h1>No se pudo enviar el Mensaje</h1>";
  27.     exit ();
  28. }
  29. else
  30. {
  31.     header ("Location: $respuesta");
  32. }
  33.  
  34. ?>

Observa el uso de variables Superglobales $_POST... Cuando usas variables que vienen de un formulario tenes que recojerlas con $_POST, y cuando son variables de la url, recogerlas con $_GET

En php esta deprecado usar $variables simples para recojer estos datos..

Etiquetas: contacto, correo, info, formulario
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 06:37.