El mismo formulario de contacto funciona en un hosting, pero en otro no >:(

  • Autor Autor UnLionel
  • Fecha de inicio Fecha de inicio
UnLionel

UnLionel

Zeta
Social Media
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Hola betas. Estoy hace dos días atascado con un formulario de contacto que compré en codecanyon, es este mismo ContactPLUS+ - PHP Contact Form Preview - CodeCanyon.

Resulta que modifiqué mil cosas, el correo nunca llegaba al famoso soporte@dominio.com, ni siquiera pasaba del submit. Hoy se me ocurrió subir exactamente los mismos ficheros a otro sitio que tengo alojado en otro hosting y ¡Tarán! Si funciona ¿Qué puede pasar?

Ambos hostings son pagos, con todas las funciones habilitadas.
En el que no anda es en donweb.com, y en el que lo probé y si anda es el de miwep.com.mx

Estoy bastante frustrado a esta altura, porque es un trabajo para un cliente que debí haber terminado el lunes 😡😛8::topsy_turvy:. Inclusive probé con otro formulario viejo y pasa lo mismo, en el sitio que tengo alojado en donweb.com no funciona, pero en miwep.com.mx si.
 
revisaste la version php que tienes instalada en el hosting?
 
As mirado el tema de los smtp port en el hosting, que estén activados?
Y bueno, si no pasa del submit también puede ser lo que dice eydenmelo, el php.
Pero es raro que siendo un hosting de pago no tenga versiones actuales de php. También se me ocurre que el problema lo tenga el hosting, puedes enviar un correo al soporte técnico del hosting.

Suerte 😉! Si se me ocurre algo más te digo!
 
Sugiero pruebes la manera tradicional de enviar datos de un formulario de contacto, pero esta vez tomando los campos de los input del formulario que no te funciona, integrándolo a la función mail. Tal vez te funcione así. De verdad es un problema extraño.
 
buenas tardes, tengo el mismo problema. Resulta que cambié de hosting y el formulario no me funciona, del host de Donweb me pasaron un ejemplo (nombre, mail, mensaje), lo adapté al mio que tiene unos 10 campos y no funciona... he probado de varias formas y nada.
Transcribo código para el que me pueda dar una mano:

Formulario:
HTML:
<form action="gracias.php" method="post" id="form_atuel" onSubmit="MM_validateForm('nombre','','R','email','','RisEmail','telefono','','R','reservation-form__pick-up-date-input','','R','reservation-form__drop-off-date-input','','R','mensaje','','R');return document.MM_returnValue">

<div class="reservation-form__more">

<div class="reservation-form__line reservation-form__set reservation-form__pick-up">
                                      
<div class="reservation-form__pick-up-location reservation-form__location">
<div class="reservation-form__field-inner">
                                      
<input type="text" name="nombre" value="<?php echo $nombre; ?>" size="40" class="reservation-form__date-wrapper" aria-required="true" aria-invalid="false" placeholder="Nombre" id="nombre" required/>                                                </div>
</div>
<div class="reservation-form__pick-up-location reservation-form__location">
<div class="reservation-form__field-inner">

<input type="text" name="email" value="<?php echo $email; ?>" size="40" class="reservation-form__date-wrapper" aria-required="true" aria-invalid="false" placeholder="Correo" id="email" required/>                                                 
</div>
</div>
</br></br>
<div class="reservation-form__line reservation-form__car">
<div class="reservation-form__field-inner">
                                    
<select class="reservation-form__car-select" id="reservation-form__car-select" name="autos">
<option></option>
<option selected><?php echo $vehiculo; ?></option>
<option>Chevrolet Classic 4ptas. CD-A/A-D/H-AirBags-ABS</option>
<option>Chevrolet Agile 5ptas. CD-A/A-D/H-AirBags-ABS</option>
<option>Chevrolet Spin full. 7 personas-AirBags-ABS </option>
<option>Toyota Hilux 4x4. Doble Cabina. Full.</option>

</select>
<div class="reservation-form__car-select-label" id="reservation-form__car-select-label">Eliga un auto</div>
</div>
</div></br></br>
<div class="reservation-form__pick-up-location reservation-form__location">
<div class="reservation-form__field-inner">

<input type="text" name="telefono" value="" size="40" class="reservation-form__date-wrapper" aria-required="true" aria-invalid="false" placeholder="Teléfono" id="telefono" required/>                                                 
</div>
</div>

<div class="reservation-form__pick-up-time reservation-form__time">
                                                <div class="reservation-form__field-inner"></div>
</div>
</div>

</br>
<div class="reservation-form__pick-up-location reservation-form__location">
<div class="reservation-form__field-inner">
                                  
<select name="lugarentrega" class="reservation-form__pick-up-location-select" data-placeholder="Lugar de entrega" id="lugarentrega" required/>
<option>Lugar de entrega:</option>                                                                                                                                                                        <option>San Rafael - Aeropuerto</option>
<option>San Rafael - Centro</option>
<option>San Rafael - Terminal de Bus</option>
<option>San Rafael - Valle Grande</option>
<option>Mendoza - Aeropuerto</option>
<option>Mendoza - Centro</option>
<option>Mendoza - Terminal de Bus</option>
<option>Malargüe - Valle de Las Leñas</option>
<option>Malargüe - Centro</option>
<option>General Alvear - Centro</option>
<option>Tunuyán - Centro</option>
<option>Otro (Indicar en Consulta)</option>
</select>

</div>
</div>
<div class="reservation-for
m__pick-up-date reservation-form__date">
<div class="reservation-form__field-inner">
                      

</div></br>
</div>
<div class="reservation-form__pick-up-time reservation-form__time">
                                              
</br></div>
</div>
<div class="reservation-form__line reservation-form__set reservation-form__drop-off">
<div class="reservation-form__drop-off-location reservation-form__location">
<div class="reservation-form__field-inner">

<select name="lugardevolucion" class="reservation-form__drop-off-location-select"data-placeholder="Lugar de devolución" id="lugardevolucion" required/>
<option>Lugar de devolución:</option>                                                            <option>San Rafael - Aeropuerto</option>
<option>San Rafael - Centro</option>
<option>San Rafael - Terminal de Bus</option>
<option>San Rafael - Valle Grande</option>
<option>Mendoza - Aeropuerto</option>
<option>Mendoza - Centro</option>
<option>Mendoza - Terminal de Bus</option>
<option>Malargüe - Valle de Las Leñas</option>
<option>Malargüe - Centro</option>
<option>General Alvear - Centro</option>
<option>Tunuyán - Centro</option>
<option>Otro (Indicar en Consulta)</option>
                                                                                                            </select>
</div>
</div>
<div class="reservation-form__drop-off-date reservation-form__date">
<div class="reservation-form__field-inner">



</div>
</div>
<div class="reservation-form__drop-off-time reservation-form__time">
</div>
</div>
                                      
<div class="reservation-form__line reservation-form__car">
<div class="reservation-form__field-inner">
                                    
<select class="reservation-form__car-select" data-placeholder="Adicional" id="adicional" name="adicional" required/>
<option></option>
<option selected>Adicional:</option> 
<option style="padding:3px;">Cadenas para Nieve</option>
<option style="padding:3px;">Porta equipaje</option>
<option style="padding:3px;">Silla para bebe</option>
<option style="padding:3px;">GPS</option>

</select>
<!--<div class="reservation-form__car-select-label" id="reservation-form__car-select-label">Adicional</div>-->
</div>
</div>

</br>
<div class="reservation-form__pick-up-location reservation-form__location">
<div class="reservation-form__field-inner">

<input type="text" name="mensaje" value="" size="40" class="reservation-form__date-wrapper" aria-required="true" aria-invalid="false" placeholder="Su consulta" id="mensaje" required/>                                                </div>
</div>

<div class="reservation-form__line reservation-form__set reservation-form__pick-up">
<div class="reservation-form__line reservation-form__required-notice">
  <div class="reservation-form__field-inner">
<div class="reservation-form__required-notice-box">Por favor, complete todos los campos.</div>
</div>
</div>
<div class="reservation-form__line reservation-form__submit">
<div class="reservation-form__field-inner">
<input type="submit" class="reservation-form__submit-button" id="reservation-form__submit-button" value="Consultar" />
                                              
<circle class="path" cx="24" cy="24" r="20" fill="none" stroke="#fff" stroke-width="4">
  <animate attributeName="stroke-dasharray" attributeType="XML" from="1,200" to="89,200" values="1,200; 89,200; 89,200" keyTimes="0; 0.5; 1" dur="1.5s" repeatCount="indefinite" />
  <animate attributeName="stroke-dashoffset" attributeType="XML" from="0" to="-124" values="0; -35; -124" keyTimes="0; 0.5; 1" dur="1.5s" repeatCount="indefinite" />
  <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0 24 24" to="360 24 24" dur="3s" repeatCount="indefinite"/>
</circle>
</svg>
</div>
</div>

</form>


Y el php:

PHP:
<?php
/**
* @version 1.0
*/

require("class.phpmailer.php");
require("class.smtp.php");

// Valores enviados desde el formulario
if ( !isset($_POST["nombre"]) || !isset($_POST["email"])  || !isset($_POST["autos"]) || !isset($_POST["telefono"]) || !isset($_POST["lugarentrega"]) || !isset($_POST["lugardevolucion"]) || !isset($_POST["adicional"]) || !isset($_POST["mensaje"]) ){
    die ("Es necesario completar todos los datos del formulario");
}
$nombre = $_POST["nombre"];
$email = $_POST["email"];
$autos = $_POST["autos"];
$telefono = $_POST["telefono"];
$lugarentrega = $_POST["lugarentrega"];
$lugardevolucion = $_POST["lugardevolucion"];
$adicional = $_POST["adicional"];
$mensaje = $_POST["mensaje"];

// Datos de la cuenta de correo utilizada para enviar vía SMTP
$smtpHost = "XXXXXX.ferozo.com";  // Dominio alternativo brindado en el email de alta
$smtpUsuario = "no-reply@XXXX.ferozo.com";  // Mi cuenta de correo
$smtpClave = "XXXXXX";  // Mi contraseña

// Email donde se enviaran los datos cargados en el formulario de contacto
$emailDestino = "info@marcelodg7.com.ar";

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
$mail->IsHTML(true);
$mail->CharSet = "utf-8";
// VALORES A MODIFICAR //
$mail->Host = $smtpHost;
$mail->Username = $smtpUsuario;
$mail->Password = $smtpClave;


$mail->From = $email; // Email desde donde envío el correo.
$mail->FromName = $nombre;
$mail->AddAddress($emailDestino); // Esta es la dirección a donde enviamos los datos del formulario

$mail->Subject = "Enviado desde DG7"; // Este es el titulo del email.

$mensajeHtml = nl2br($mensaje);
$mail->Body = "{$mensajeHtml} <br /><br /><br />"; // Texto del email en formato HTML
$mail->AltBody = "{$mensaje} \n\n Formulario de DG7"; // Texto sin formato HTML
// FIN - VALORES A MODIFICAR //

$estadoEnvio = $mail->Send();
if($estadoEnvio){
    echo "El correo fue enviado correctamente.";
} else {
    echo "Ocurrió un error inesperado.";
}

--
Los únicos valores que llegan son el email, nombre y el mensaje
HELP!

---
SOLUCIONADO:
Ya encontré la solución para el que le sirva:
Insertar CODE, HTML o PHP:
<?php


require("class.phpmailer.php");
require("class.smtp.php");

// Valores enviados desde el formulario
if ( !isset($_POST["nombre"]) || !isset($_POST["email"]) || !isset($_POST["telefono"])  || !isset($_POST["asunto"])  || !isset($_POST["mensaje"]) ) {
    die ("Es necesario completar todos los datos del formulario");
}





$nombre = $_POST["nombre"];

$email = $_POST["email"];

$telefono = $_POST["telefono"];

$asunto = $_POST["asunto"];

$mensaje = $_POST["mensaje"];

$destinatario = "info@tudominio.com";

// Datos de la cuenta de correo utilizada para enviar vía SMTP
$smtpHost = "XXXXX.ferozo.com";  // Dominio alternativo brindado en el email de alta
$smtpUsuario = "no-reply@XXXXX.ferozo.com";  // Mi cuenta de correo
$smtpClave = "XXXXX";  // Mi contraseña

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Port = 587;
$mail->IsHTML(true);
$mail->CharSet = "utf-8";

// VALORES A MODIFICAR //
$mail->Host = $smtpHost;
$mail->Username = $smtpUsuario;
$mail->Password = $smtpClave;


$mail->From = $email; // Email desde donde envío el correo.
$mail->FromName = $nombre;
$mail->AddAddress($destinatario); // Esta es la dirección a donde enviamos los datos del formulario

$mail->Subject = "Formulario desde el Sitio Web"; // Este es el titulo del email.
$mensajeHtml = nl2br($mensaje);
$mail->Body = "
<html>

<body>

<h1>Recibiste un nuevo mensaje desde el formulario de contacto</h1>

<p>Informacion enviada por el usuario de la web:</p>

<p>nombre: {$nombre}</p>

<p>email: {$email}</p>

<p>telefono: {$telefono}</p>

<p>asunto: {$asunto}</p>

<p>mensaje: {$mensaje}</p>

</body>

</html>

<br />"; // Texto del email en formato HTML
$mail->AltBody = "{$mensaje} \n\n "; // Texto sin formato HTML
// FIN - VALORES A MODIFICAR //

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

$estadoEnvio = $mail->Send();
if($estadoEnvio){
    echo "El correo fue enviado correctamente.";
} else {
    echo "Ocurrió un error inesperado.";
}

?>

De más está decir, o no, que el formulario HTML o PHP debe tener los campos arriba mencionados.
Se pueden agregar la cantidad de campos que necesiten.
Espero les sirva.
 
Última edición:
Atrás
Arriba