Respuesta a: Plantilla personalizada de plantilla de registro validacion en la misma plantill

Inicio Foros WordPress Programación Plantilla personalizada de plantilla de registro validacion en la misma plantill Respuesta a: Plantilla personalizada de plantilla de registro validacion en la misma plantill

#51789

kabayo
Participante

La verdad nunca lo probe aún pero deebria funcionar.
Crea una plantilla de pagina de tu theme con este codigo dentro:


<?php
// funciones para chequeo
function ValidarDatos($campo){
//Posibles cabeceras a utilizar por un spammer
$badHeads = array(
"Content-Type:",
"MIME-Version:",
"Content-Transfer-Encoding:",
"Return-path:",
"Subject:",
"From:",
"Envelope-to:",
"To:",
"bcc:",
"cc:"
);

foreach($badHeads as $valor){
if(strpos(strtolower($campo), strtolower($valor)) !== false){
header("HTTP/1.0 403 Forbidden");
exit();
}
}
}
/* Anti Spammers */
foreach ($HTTP_POST_VARS as $valor) {
ValidarDatos($valor);
}
foreach ($HTTP_GET_VARS as $valor) {
ValidarDatos($valor);
}
/* Fin del antispammer */

function checkmail($mailachequear) {
list ($casilla, $host) = split ("@", $mailachequear);
if (ereg("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*$", $mailachequear) || (getmxrr($host, $mxhostarr)) ) {
return true;
} else {
return false;
}
}

function largo($cadena, $min, $max) {
if(strlen ($cadena) < $min || strlen ($cadena) > $max) {
return false;
} else {
return true;
}
}
?>
<p>Complete el siguiente formulario:</p>

<?php
if($_POST['enviar']=="Enviar") {
//comprobaciones
$nombreyapellido = $_POST['nombreyapellido'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$coment = $_POST['coment'];

if(!checkmail($email)){
$err = 1;
}
if(!largo($nombreyapellido, 3, 60)) {
$err = 1;
}
if(!largo($tel, 3, 20)) {
$err = 1;
}
if(!largo($coment, 3, 500)) {
$err = 1;
}

if($err != 1) {
$to = "mail@tudominio.com";
$from = "$nombreyapellido <$email>";
$asunto = "Formulario de consulta";
$msg .="-----------------n";
$msg .="Nombre y Apellido: $nombreyapellido n";
$msg .="Teléfono: $teln";
$msg .="E-mail: $emailn";
$msg .="Consulta: ";
$msg .="$comentn";
$msg .="n";
$msg .="n";
$msg .= date("d-m-Y h:i:s")."n";
$msg .="***** Fin formulario ******n";
mail($to, $asunto , $msg, "From: $fromnReply-To: $fromn");
echo "<div id="gracias"><p>Gracias por enviarnos su consulta. Le responderemos a la brevedad.</p></div>";
} else {
unset($_POST['enviar']);
}

if($err == 1) {
echo "<div class="error">";
echo "<p>Verifique que todos los campos estén correctos.</p>";
echo "</div>";
unset($err);
}
}

if($_POST['enviar']!="Enviar") {
?>
<form action="<?php echo $PHP_SELF; ?>" method="post">
<fieldset>

<legend>Formulario de consulta</legend>
<dl>
<dt><label for="nombreyapellido" class="nombreyapellido">Nombre y Apellido</label></dt><dd><input type="text" id="nombreyapellido" name="nombreyapellido" value="<?php echo $nombreyapellido; ?>" /></dd>
<dt><label for="tel" class="tel">Teléfono</label></dt><dd><input type="text" id="tel" name="tel" value="<?php echo $tel; ?>" /></dd>
<dt><label for="email" class="email">E-mail</label></dt><dd><input type="text" id="email" name="email" value="<?php echo $email; ?>" /></dd>
<dt><label for="coment" class="coment">Consulta</label></dt><dd><textarea id="coment" name="coment" cols="40" rows="8"><?php echo $coment; ?></textarea></dd>

</dl>
<p class="boton"><input type="submit" id="enviar" name="enviar" value="Enviar"/></p>
</fieldset>
</form>
<?php
}
?>

</div>

Centro de preferencias de privacidad

Cookies imprescindibles

Se usan para saber si ya aceptaste nuestras políticas y para servir más rápidos los contenidos.

gpdr, wpSGCacheBypass

Cookies de terceros

Usamos cookies de terceros en las que se almacenan externamente para conocer tus usos de navegación, si ya estás suscrito al boletín y los elementos compartidos en redes sociales

cfduit_, intercom-id, intercom-lou, mailerlite:language, mailerlite:webform, _ga, _gid

Pin It on Pinterest