Foros del Web » Programando para Internet » PHP »

Problema básico formulario PHP

Estas en el tema de Problema básico formulario PHP en el foro de PHP en Foros del Web. Buenos días! Estoy aprendiendo en este mundillo y me ha tocado hacer un formulario super básico, he mirado tutoriales, foros y googles varios y ni ...
  #1 (permalink)  
Antiguo 10/07/2013, 20:42
 
Fecha de Ingreso: julio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Pregunta Problema básico formulario PHP

Buenos días!
Estoy aprendiendo en este mundillo y me ha tocado hacer un formulario super básico, he mirado tutoriales, foros y googles varios y ni modo. Si alguien me puede ayudar a encontrar el (los) error(es) lo agradecería enormemente.

el código que falla es
Código PHP:
<?php 

$nombre 
$_POST['nombre'];
$mail $_POST['email'];
$telefono $_POST['telefono'];

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

$mensaje "Mensaje de " $nombre ", telefono " $telefono " \r\n";
$mensaje .= "con e-mail es: " $mail " \r\n";
$mensaje .= "mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Mensaje del la web';

mail($para$asuntoutf8_decode($mensaje), $header);

echo 
'Enviado, gracias';
?>
Está entre su body y su doctype.

y el html es

Código HTML:
<form id="formulario" name="contacto" method="post" action="send.php">

<label><p><span>Nombre y apellidos*</span></p>
		<input name="nombre" type="text" id="nombre" size="100%" maxlength="50" />
        </label>

<label><p><span>Email*</span></p>
	<input name="email" type="text" id="email"  size="100%" maxlength="70" />
    </label>

<label><p><span>Tel&eacute;fono</span></p>
	<input name="telefono" type="number" id="telefono" size="100%" maxlength="14" />
    </label>
<p><span>Escribe sobre qu&eacute; quieres obtener informaci&oacute;n</span></p>
<textarea name="mensaje" cols="100" rows="15" id="mensaje"></textarea>
<p><label>
	    <input type="submit" name="Submit" value="Enviar" />
    </label>
</p><p style="size:small;">No se almacenan tus datos, sólo se usaran para contactarte</p></p></form>
    </div> 
En serio que llevo horas atascado y no lo veo
Gracias!
  #2 (permalink)  
Antiguo 10/07/2013, 20:59
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: Problema básico formulario PHP

Sería interesante que nos dijeras que error te marca...
  #3 (permalink)  
Antiguo 10/07/2013, 22:24
Avatar de vesper_metal90  
Fecha de Ingreso: enero-2013
Mensajes: 103
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Problema básico formulario PHP

Y que problema tienes
  #4 (permalink)  
Antiguo 11/07/2013, 05:22
 
Fecha de Ingreso: julio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Problema básico formulario PHP

El problema es que al darle a enviar se queda todo en blanco (sin mensaje de confirmación ni nada), en la barra de direcciones pone http://**/send.php pero no llega ningún email.
Antes salía parte del código php en pantalla y mail(****) or die ("mensaje error"); pero quité el or die pensando en que estaba mal (y el mensaje de error lo había puesto yo)
  #5 (permalink)  
Antiguo 11/07/2013, 07:58
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: Problema básico formulario PHP

Revisa el log de errores o habilita el reporteo de errores usando ini_set('display_errors', 'On'); y error_reporting(-1); para poder ver todos los errores.
  #6 (permalink)  
Antiguo 11/07/2013, 10:09
Avatar de agarcia_skynet  
Fecha de Ingreso: julio-2013
Ubicación: Uruguay
Mensajes: 12
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Problema básico formulario PHP

Buen día !! primeramente en PHP verifica si el $_POST halla sido enviado
desde el formulario, ya que de lo contrario se puede enviar en masa,

tan solo entrando al navegador a send.php y darle F5 osea un F5 = a un envió de
E-mail y eso no queremos, cierto? usa al el código:

Código PHP:
<?php  

if ($_POST) {

$nombre $_POST['nombre']; 
$mail $_POST['email']; 
$telefono $_POST['telefono']; 

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

$mensaje "Mensaje de " $nombre ", telefono " $telefono " \r\n"
$mensaje .= "con e-mail es: " $mail " \r\n"
$mensaje .= "mensaje: " $_POST['mensaje'] . " \r\n"
$mensaje .= "Enviado el " date('d/m/Y'time()); 

$para '[email protected]'
$asunto 'Mensaje del la web'

if (
mail($para$asuntoutf8_decode($mensaje), $header)) { 

$enviado 'E-mail Enviado, gracias'

echo 
$enviado;
exit(); 

}else{ 

$error 'Error, vuelve a intentarlo.'

echo 
$error;
exit();



}else{

$error 'No puedes enviar E-mail desde aca, porfavor usa los link correctamente.'

echo 
$error;
exit(); 

}
?>
Luego sobre si realmente quieres enviar un E-mail vía (Intranet)

Antes que nada, asegúrate de tener un servidor SMTP ya que requieres de ese servicio para poder enviar E-mail mediante php.

Si tienes Servicio SMTP Activo prueba lo siguiente:

Ve a PHP.ini (Archivo de Configuracion de PHP)

y busca las siguientes lineas:

Código:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
sendmail_from = [email protected]
Donde dice: SMTP no apuntes a localhost (apunta tu IP local)

Ejemplo: 192.168.1.x (dependiendo la configuración TCP/IP)

Si tienes DHCP activo, desactiva-lo y usa IP estática.

Luego en: smtp_port deja el puerto 25, revisa que tengas habilitado dicho puerto en el firewall si lo tienes activo, y si usas router también.

En: sendmail_from coloca tu E-mail (Ejemplo) [email protected]

Pero desde luego si tienes un Dominio en Intranet, de lo contrario puedes enviar E-mail igualmente pero el remitente lo tienes que asignar en una variable de PHP, para que al destinatario no le llegue: tu_nombre@tu_ip

------------------------------------------------------------------

Lo explico detalladamente para que tengas los conceptos necesarios sobre el "enviar E-mail" pero no es nada complicado, hay formas sencillas y similares.

Saludos.

Última edición por agarcia_skynet; 11/07/2013 a las 10:45
  #7 (permalink)  
Antiguo 11/07/2013, 20:28
 
Fecha de Ingreso: julio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Problema básico formulario PHP

Vale, probé y seguía saliendo en blanco, así que probé en otros dos ftp a los que tengo acceso y el error que daba es

No puedes enviar E-mail desde aca, porfavor usa los link correctamente.

La web originaria está en flash y yo estoy haciendo la versión para móviles, de modo que no están los archivos en el directorio raíz (por si pudiera ser parte del fallo) si no en la carpeta "movil"

No hay archivo php.ini =/

Probé display_errors "1" display_startup_errors "0" report_memleaks y track_errors
aún sin saber muy bien qué estaba haciendo u.u Sigue igual.

La versión en flash envía el formulario sin problemas y me consta que hay archivos php funcionando

Etiquetas: basico, formulario, html, principiante
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 23:24.