¿Formulario de contacto con PHP?

  • Autor Autor likepop
  • Fecha de inicio Fecha de inicio
likepop

likepop

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, ¿cómo están?

Hoy recurro a ustedes para consultarles cómo probar un formulario de contacto desde una landing con PHP.
La cuestión es que ya tengo el código, pero me gustaría poder testearlo. Actualmente no cuento con un hosting, por lo que no puedo subirlo a internet.

¿Conocen alguna forma en la que pueda probar código php sin la necesidad de un hosting pago?

No conozco ningún hosting gratis "bueno" en el que pueda testear esto, si conocen alguno acepto recomendaciones 😀

Gracias!

Dejo el código PHP por las dudas:

Insertar CODE, HTML o PHP:
<?php

if(isset($_POST['submit'])){
    $name = $_POST['name'];
    $mailFrom = $_POST['email'];
    $message = $_POST['message'];

    $mailTo = "miEmail@email.com";
    $headers = "De: ".$mailFrom;
    $txt = "Has recibido un mail de ".$name."\n\n".$message;

    mail($headers, $mailTo, $txt);
    header("Location: index.html?mailsend");
}
 
El codigo funciona bien. Si quieres hosting gratuitos, prueba el de webhost
 
Muchas gracias por la rápida respuesta.

Lo probaré al hosting y te comento que tal 🙂
 
Si tienes windows utiliza XAMPP, te provee un servidor lo más parecido a un hosting y ahi puedes desarrollar y probar cosas.

pst: tu código es inseguro, atacantes pueden utilizar ese código para hacer envíos de mail masivo ya que estas usando la funcion mail y no validas los strings que vienen por post.

Saludos
 
Si tienes windows utiliza XAMPP, te provee un servidor lo más parecido a un hosting y ahi puedes desarrollar y probar cosas.

pst: tu código es inseguro, atacantes pueden utilizar ese código para hacer envíos de mail masivo ya que estas usando la funcion mail y no validas los strings que vienen por post.

Saludos

Gracias por esa info! No se me había ocurrido lo de los atacantes, pero tienes mucha razón. Buscaré acerca de ese tema para solucionarlo. Gracias!!
 
Yo uso la app Ampps durante el proceso de desarrollo y luego contrato un VPS por horas en Vultr para hacer las pruebas. Si bien es cierto que probar en local sale gratis, a veces el código puede dar errores al colocarlo en el servidor online y es una pérdida de tiempo evitable.

Lo que yo te recomiendo es que hagas las pruebas en un VPS, a poder ser el mismo que vas a usar, tanto para probar como por el precio. No valen la pena los dolores de cabeza cuando un VPS LAMP barato sale por $0.007/hora y puedes cerrarlo cuando quieras 😉
 
@Son Lux ¿Crees que este código sea más correcto?

Lo estuve retocando un poco ya que usaba unas clases para que se llamara desde el index, pero al final lo cambié por alerts para que resultara más fácil y no tener que cambiar mi index.html a php.

PHP:
<?php
    // Check For Submit
    if(filter_has_var(INPUT_POST, 'submit')){
        // Get Form Data
        $name = htmlspecialchars($_POST['name']);
        $email = htmlspecialchars($_POST['email']);
        $message = htmlspecialchars($_POST['message']);

        // Check Required Fields
        if(!empty($email) && !empty($name) && !empty($message)){
            // Passed
            // Check Email
            if(filter_var($email, FILTER_VALIDATE_EMAIL) === false){
                // Failed
                alert('Por favor, utiliza un mail válido');
            } else {
                // Passed
                $toEmail = 'miEmail@email.com';
                $subject = 'Landing X - '.$name;
                $body = '<h2>Formulario de Contacto</h2>
                    <h4>Name</h4><p>'.$name.'</p>
                    <h4>Email</h4><p>'.$email.'</p>
                    <h4>Message</h4><p>'.$message.'</p>
                ';

                // Email Headers
                $headers = "MIME-Version: 1.0" ."\r\n";
                $headers .="Content-Type:text/html;charset=UTF-8" . "\r\n";

                // Additional Headers
                $headers .= "From: " .$name. "<".$email.">". "\r\n";

                if(mail($toEmail, $subject, $body, $headers)){
                    // Email Sent
                    alert('Tu mensaje ha sido enviado con éxito');
                } else {
                    // Failed
                    alert('Tu mensaje no ha podido ser enviado');
                }
            }
        } else {
            // Failed
            alert('Por favor rellena todos los campos antes de enviar el mensaje. Gracias!');
        }
    }
?>

Yo uso la app Ampps durante el proceso de desarrollo y luego contrato un VPS por horas en Vultr para hacer las pruebas. Si bien es cierto que probar en local sale gratis, a veces el código puede dar errores al colocarlo en el servidor online y es una pérdida de tiempo evitable.

Lo que yo te recomiendo es que hagas las pruebas en un VPS, a poder ser el mismo que vas a usar, tanto para probar como por el precio. No valen la pena los dolores de cabeza cuando un VPS LAMP barato sale por $0.007/hora y puedes cerrarlo cuando quieras 😉

Wow, eso del VPS no tenía ni idea. Que barato que es! Le echaré un vistaso. Gracias!!
 
Yo uso hostinger para probar php :# o tmn webhost000 o algo asi
 
Has probado laragon?
 
Muchas gracias por sus respuestas!!

Al final terminé utilizando AJAX + PHP. Para así, ya que es una landing, podía mostrar un popup sin refrescar la página una vez enviado el mensaje.

Para probarlo utilicé el hosting que me recomendaron: 000webhost. Es un poco lento, pero sirve para casos como este.

Muchas gracias a todos de verdad!
 
Atrás
Arriba