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>

Pin It on Pinterest