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

Este debate contiene 2 respuestas, tiene 2 mensajes y lo actualizó  kabayo hace 7 años, 7 meses.

  • Autor
    Publicaciones
  • #21049

    AndresF
    Participante

    <p>Soy nuevo ene l foro; Estoy desarrollando un sitio web con el tema por defecto de wordpress 3.1,</p>
    <p>*ya creado la pagina personalizada de registro con su debido formulario, es funcional registra usuarios, pero cuando un usuario comete algún error la validación se hace en el registro de usuarios por defecto de wordpress.</p>
    <p>Quisiera hacer la validación en mi plantilla personalizada de registro de usuarios y que no me direccione a la platilla por defecto de woprdpress en su validacion…</p>
    <p>al estilo del plugin Theme My Login no lo hago con este porque lo quiero hacer mas personalizado y que yo pueda manipular la plantilla …</p>
    <p>Soy un usuario promedio, respecto a wordpress se html, css, y php basico
    </p>

  • #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 = "[email protected]";
    $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>

  • #51790

    kabayo
    Participante

    No te olvides de modificar la linea

    $to = "[email protected]";

    poniendo tu dire de mail.

El foro ‘Programación’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest

Ir al contenido