Foros del Web » Programando para Internet » PHP »

Página en blanco en php después de un formulario

Estas en el tema de Página en blanco en php después de un formulario en el foro de PHP en Foros del Web. Buenas tardes, no soy mucho de preguntar mis dudas y más de solucionarlas pero estoy un poco harto de esto. Tengo un formulario en el ...
  #1 (permalink)  
Antiguo 18/04/2015, 13:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años, 6 meses
Puntos: 0
Página en blanco en php después de un formulario

Buenas tardes, no soy mucho de preguntar mis dudas y más de solucionarlas pero estoy un poco harto de esto. Tengo un formulario en el cuál le mando los datos a un php y resulta que me hace todo perfecto y me llega el correo bien, pero la pantalla se queda en blanco. Si actualizo la página me envia otro correo sin datos y si me pone un mensaje que se ha enviado correctamente. Será una tonteria el error pero me tiene harto -.-.

Dejo mi código:

En el html:
<form action="contacto.php" method="post">

<label for="name">Nombre:</label>
<input name="nombre" type="text" required id="nombre" placeholder="Nombre" />

<label for="email">Email:</label>
<input type="email" name="email" placeholder="Email" required />

<label for="website">Asunto:</label>
<input type="text" name="asunto" placeholder="Asunto" required />

<label for="mensaje">Mensaje:</label>
<textarea name="mensaje" cols="40" rows="6" required id="mensaje" ></textarea>

<button class="submit" value="enviar_comentario" type="submit">Enviar</button>

</form>

En el php:

<?php

$header = 'From: ' . $_POST['email'] . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Nombre " . $_POST['nombre'] . "\r\n";
$mensaje .= "Su e-mail es: " . $_POST['email'] . " \r\n";
$mensaje .= "Asunto " . $_POST['asunto'] . "\r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'correoi.com';
$asunto = 'Asunto del mail recibido de la app';

mail($para, $asunto, utf8_decode($mensaje), $header);


echo 'Mensaje enviado correctamente';
?>

Gracias por la ayuda prestada.
  #2 (permalink)  
Antiguo 18/04/2015, 13:34
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 8 meses
Puntos: 67
Respuesta: Página en blanco en php después de un formulario

Pruebalo asi, creo que el problema son por las comillas

Código PHP:
Ver original
  1. $header = 'From: ' . $_POST['email'] . "\r\n";
  2. $header .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
  3. $header .= 'Mime-Version: 1.0' . "\r\n";
  4. $header .= 'Content-Type: text/plain';
  5.  
  6. $mensaje = "Nombre " . $_POST['nombre'] . "\r\n";
  7. $mensaje .= "Su e-mail es: " . $_POST['email'] . "\r\n";
  8. $mensaje .= "Asunto " . $_POST['asunto'] . "\r\n";
  9. $mensaje .= "Mensaje: " . $_POST['mensaje'] . "\r\n";
  10. $mensaje .= "Enviado el " . date('d/m/Y', time());
  11.  
  12. $para = 'correoi.com';
  13. $asunto = 'Asunto del mail recibido de la app';
  14.  
  15. mail($para, $asunto, utf8_decode($mensaje), $header);
  16.  
  17.  
  18. echo 'Mensaje enviado correctamente';

Saludos.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #3 (permalink)  
Antiguo 18/04/2015, 13:41
Avatar de baccxus  
Fecha de Ingreso: mayo-2005
Ubicación: Panama city, Panama, Panama
Mensajes: 870
Antigüedad: 19 años, 5 meses
Puntos: 17
Respuesta: Página en blanco en php después de un formulario

Debes programar un IF que le indique a tu script que una vez verificados los datos y enviado el email, muestre el mensaje y además te envíe donde le indiques, puede ser donde estabas o la página de inicio o donde quieras.

Saludos
__________________
Al final del día hablar es gratis, codificar no lo es
  #4 (permalink)  
Antiguo 18/04/2015, 13:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Página en blanco en php después de un formulario

Gracias a los por responder. Todavía no he probado nada pero se me ha ocurrido probar el código con solo eso en los archivos y funciona perfectamente. Ya que el index.html es bastante largo, es el único formulario que hay y no tiene cosas cosas complejas.

Ya probaré lo que dijisteis tambien.
  #5 (permalink)  
Antiguo 18/04/2015, 13:56
 
Fecha de Ingreso: abril-2015
Mensajes: 27
Antigüedad: 9 años, 7 meses
Puntos: 1
Respuesta: Página en blanco en php después de un formulario

te lo date fácil si lo estas haciendo en DW vas a "comportamientos del servidor" (Ctrl+F9, si no lo tienes abierto o "Ventana>Comportamientos del servidor") dos click en tu inserción de registro y al final donde dice "Tras insertar, ir a" una url de archivo o buscar uno qe puedes previamente crear
y listo

ahora si no es asi

agrega esto en el body y modificalo a gusto

Código PHP:
<div id="contenido">
  <
div id="apDiv1"><table width="427" height="293" border="0">
    <
tr>
      <
td><h1 align="center">Registro exitoso!</h1></td>
    </
tr>
    <
tr>
      <
td><h3 align="center">El registro a sido exitoso</h3></td>
    </
tr>
    <
tr>
    </
tr>
    <
tr>
      <
td><div align="center">
        <
form name="form1" method="post" action="index.php"//EN IDEX.PHP MODIFICALO POR LA PAG QUE QUIERES VOLVER POR EJEMPLO AL INICIO O AL FORMULARIO//
    
<div id="content">
        <
ul class="buttons">
            <
li><input type="submit" id="TU IDE DEL SUBMIT" name="submit"  value="VOLVER" /></li>
        </
ul>
        <
ul class="buttons">
        </
ul>
    </
div>
        </
form>
      </
div></td>
    </
tr>
  </
table></div
ESTA UN POCO DESORDENADO POR QUE ES EL QUE ES UNA COPIA DEL QUE ESTOY HACIENDO

Última edición por ariki; 18/04/2015 a las 13:57 Razón: desordenado

Etiquetas: formulario, formulariocontacto, html
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 14:38.