Foros del Web » Programando para Internet » PHP »

Problema con formularios

Estas en el tema de Problema con formularios en el foro de PHP en Foros del Web. Hola a todos! A ver is me podéis echar una mano con un problemilla que tengo. Hemos hecho un landing page en HTML5 para una ...
  #1 (permalink)  
Antiguo 14/10/2014, 05:16
Avatar de talayika  
Fecha de Ingreso: octubre-2014
Ubicación: Limbo
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Problema con formularios

Hola a todos!

A ver is me podéis echar una mano con un problemilla que tengo.
Hemos hecho un landing page en HTML5 para una oferta de un cliente y lleva un sencillo formulario de contacto. Al probarlo en nuestro servidor ha funcionado perfectamente, pero al subir el landing al servidor donde el cliente tiene alojada la web principal no funciona. Al hablar con el proveedor de hosting del cliente nos dice que su web es de Joomla y trabaja con la versión de PHP 5.2.17 y que no la pueden cambiar porque daría problemas para la web principal de Joomla.

La pregunta es, ¿hay forma de hacer funcionar el formulario del landing sin cambiar la versión PHP del servidor?

Gracias por adelantado!!
  #2 (permalink)  
Antiguo 14/10/2014, 05:18
Avatar de garciasanchezdani  
Fecha de Ingreso: noviembre-2011
Mensajes: 429
Antigüedad: 13 años
Puntos: 51
Respuesta: Problema con formularios

Hola @talayika , echa un vistazo a las trazas del servidor, para saber qué está sucediendo.
También, mira desde el navegador la petición que se realiza cuando envías el formulario, así como la respuesta del servidor (códigos de respuesta, mensaje, etc.).

Saludos, Daniel :)
__________________
Diseño Web Jaén
  #3 (permalink)  
Antiguo 14/10/2014, 05:46
Avatar de talayika  
Fecha de Ingreso: octubre-2014
Ubicación: Limbo
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problema con formularios

Gracias por la rapidez garciasanchezdani!

En realidad cuando intentamos enviar el form desde el landing no hay error visible. Sale el mensaje de "Su formulario se ha enviado con éxito", pero no llega nunca al correo de destino. Al probarlo en un servidor distinto si funciona. El problema es que no tenemos acceso al panel del hosting, tan solo accesos FTP para poder subir el landing. Y desde la empresa de hosting me dicen que ellos no pueden cambiar la versión PHP.

¿Hay alguna forma de hacerlo funcionar con la versión que ya tiene el host?
  #4 (permalink)  
Antiguo 14/10/2014, 06:00
Avatar de garciasanchezdani  
Fecha de Ingreso: noviembre-2011
Mensajes: 429
Antigüedad: 13 años
Puntos: 51
Respuesta: Problema con formularios

Es que lo primero que tendrías que hacer es saber qué está pasando ahí, y para eso necesitas conocer la respuesta del servidor...
Quizás sea cuestión de autenticación smtp...
__________________
Diseño Web Jaén
  #5 (permalink)  
Antiguo 14/10/2014, 06:25
Avatar de talayika  
Fecha de Ingreso: octubre-2014
Ubicación: Limbo
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problema con formularios

Ese es el problema, que el servidor de host lo único que me dice sin más información es que el formulario delo landing trabaja con una versión de PHP distinta a la 5.2.17 y que ellos no la van a cambiar.

Este es el código PHP del form del landing:

<?php
if (isset($_POST['action'])) { //

$my_email = '[email protected]'; //

if ($_POST['action'] == 'add') {
$name = trim(strip_tags(addslashes($_POST['name'])));
$email = trim(strip_tags(addslashes($_POST['email'])));
$subject = trim(strip_tags(addslashes($_POST['subject'])));
$message = trim(strip_tags(addslashes($_POST['message'])));
$pattern = '/^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/';

if ($email != '' && $message != '') {
if (preg_match($pattern, $email)) {
if ($name != '') $headers = 'From: ' . $name . "\r\n";
else $headers = 'From: ' . $email . "\r\n";

mail($email, $name, $subject, $message, $my_email);

echo 'success|<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button>Su mensaje ha sido enviado con éxito.</div>';
} else {
echo 'error|<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button>Por favor, introduzca un email válido.</div>';
}
} else {
echo 'error|<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button>Por favor rellene todos los campos requeridos.</div>';
}
}
} else { // Submit form false
header('Location: index.html');
}
?>
  #6 (permalink)  
Antiguo 14/10/2014, 06:52
Avatar de garciasanchezdani  
Fecha de Ingreso: noviembre-2011
Mensajes: 429
Antigüedad: 13 años
Puntos: 51
Respuesta: Problema con formularios

Hola de nuevo, pregunta por las credenciales de tu servidor de correo, y prueba a enviarlo por smtp.
En esta web explican cómo: http://blog.domitienda.com/como-envi...icado-con-php/
__________________
Diseño Web Jaén
  #7 (permalink)  
Antiguo 14/10/2014, 07:58
Avatar de talayika  
Fecha de Ingreso: octubre-2014
Ubicación: Limbo
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problema con formularios

Gracias de nuevo!

Intentaré la solución que me comentas si el servidor de hosting me facilita las credenciales smtp.
Igual es demasiado pedir, pero el archivo php como ves es muy standar y no lo controlo demasiado. Me podrías decir cómo debería quedar ese archivo configurado con SMTP (en caso de que me lo faciliten), respetando los mismos campos que se solicitan en el formulario??

Gracias
  #8 (permalink)  
Antiguo 14/10/2014, 12:20
 
Fecha de Ingreso: diciembre-2008
Mensajes: 8
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema con formularios

El problema propablemente radique, como ya lo explicaron, en la conexión el server de correo. Según tu script para enviar el mail, se conecta a un servidor local (sendmal daemon), y éste no tiene nada que ver con la versión de php.

Puedes usar una librería como phpmailer o swift que son mucho mas fáciles de configurar, incluso, si estás manejando una cuenta de gmail, cualquier de éstas dos librerias se pueden conectar a la cuenta y mandar el mail desde allí, así no tendrías esos problemas.

Saludos
  #9 (permalink)  
Antiguo 15/10/2014, 10:07
Avatar de talayika  
Fecha de Ingreso: octubre-2014
Ubicación: Limbo
Mensajes: 5
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problema con formularios

Gracias Scod!

Como ya he dicho no tengo mucha experiencia en PHP... Me podrías decir cómo configurar ese formulario con alguna de las librerías que mencionas? ¿Qué código cambiar? ¿dónde colocar esas librerías dentro del servidor a través de FTP?... Igual suena demasiado novato pero necesito no meter la pata con esto. Graciass!!

Etiquetas: formulario, formularios, 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 22:04.