Saltar al contenido
Underc0de /foro

[SOLUCIONADO] Al validar no me funciona el POST

Iniciado por Rebeca, Junio 29, 2021, 05:13:46 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Avatar de Rebeca
Junio 29, 2021, 05:13:46 PM Ultima modificación: Julio 07, 2021, 02:44:05 PM por AXCESS
Hola a todos, quiero validar dos campos, anda muy bien , el tema es que una vez validado no me manda al post...

dejo mi form_
Código: html5
<form action="PrimerPost.php" method="POST" enctype="multipart/form-data" id="form"> 
<div class="container fondo">
<div class="row">
<div class="mb-3 fondo">

  <label  class="form-label"><b>Nombre Completo</b></label>
  <input type="tetx" class="form-control" id="name" name="cl_NomCompleto"  placeholder="Nombre Completo">
</div>

<div class="mb-3">
  <label  class="form-label"><b>DNI</b></label>
  <input type="text" class="form-control" id="cldne" name="cl_DnIE" placeholder="Su DNI">
</div>
<br>

<br>
</div>

<button type="submit" type="button" class="btn btn-success">Seguir</button>
<p class="warnings" id="warnings"></p>
</form>
<br>
<script src="publicar.js"></script>


y el código de validación con JavaScript.
Código: javascript


const nombre = document.getElementById("name")
const cldne = document.getElementById("cldne")
const form = document.getElementById("form")
const parrafo =document.getElementById("warnings")

    form.addEventListener("submit", e=>{
        e.preventDefault()
        let warnings =""
        parrafo.innerHTML=""
        if(nombre.value.length <4){
           
            warnings +=`El nombre es muy corto <br>`
            entrar= true
        }

        if(cldne.value.length<8){
            warnings +=`El nombre es muy corto <br>`
            entrar= true
        }
        if(entrar){
            parrafo.innerHTML= warnings
        }else{
            //this.submit();
            //document.forms.submit();
            $form.submit();
        }
    })





Posrqie no manda a "PrimerPost.php" ..... 

Sinceramente no lo se hacer , lo he sacado de youtube y anda bien pero no se encvia el form... :(
Gracias nuevamente !
Saludos
rebe
WhatsApp Telegram

4 respuestas

Avatar de Lautaro Villarreal Culic'
Hola Rebe como andas?
Tenes el archivo PrimerPost.php?

Avatar de WHK
Hola, reemplaza "$form.submit();" por "e.currentTarget.submit();" y nos cuentas.

Saludos.
- Los enlaces son solo para miembros. Registrate o iniciá sesión - Los enlaces son solo para miembros. Registrate o iniciá sesión

Avatar de Rebeca
Hola Disculpen  la demora al contestar, ...

el archivo .primerpost.php es:
Código: php

session_start();
include("../config.php");
$cone=conectar();
$ClEmail =$_SESSION['email'];
$ClNomCompleto = $_POST['ClNomCompleto'];
$ClDnIE = $_POST['ClDnIE'];
$duplicado="";

if($ClNomCompleto  === '' || $ClDnIE=== ''){/*COMPROBAMOS QUE LOS DATOS NO LLEGUEN NULOS */
   
header("Location:../iniedenind.php");

}
/* COMPROBAMOS QUE EL EMAIL NO ESTE DUPLICADO */
    $registros=mysqli_query($cone,"SELECT ClDnIE FROM alumnos WHERE ClDnIE='$ClDnIE'") or die("Problemas en el select:".mysqli_error($cone));
    while ($reg=mysqli_fetch_array($registros)){ /* PRIMER WHILE */
   echo  $duplicado=$reg['ClDnIE'];
    }//echo "email duplicado";
   
    if($duplicado==$ClDnIE){
       
        header('Location:PrFormA.php?VaDup="Y"');
   
    }else{

       
            $registros=mysqli_query($cone,"SELECT user_id FROM users WHERE email='$ClEmail'") or die("Problemas en el select:".mysqli_error($cone));
            while ($reg=mysqli_fetch_array($registros)){ /**SEGUNDO WHILE */
            $id_alumnos=$reg['user_id'];
        }

        $query = "INSERT INTO   alumnos (ClNomCompleto,ClDnIE,ClEmail)  VALUES ('$ClNomCompleto','$ClDnIE','$ClEmail')";
        $res = mysqli_query($cone, $query);
       
        $publico="SIP";
       
        $query = "UPDATE  users SET UserPubli='$publico' WHERE email='$ClEmail'";
        $res = mysqli_query($cone, $query);
   header('Location:SeFormB.php');
}


?>



Ahora modifique el script , como no me anduvo hice lo siguiente.:

Código: javascript
<script>
  document.addEventListener("DOMContentLoaded", function() {
  document.getElementById("formulario").addEventListener('submit', validarFormulario);

});

function validarFormulario(evento) {
  evento.preventDefault();
  var usuario = document.getElementById('clN').value;
  if(usuario.length == 0) {

   swal("Nombre Vacio");
    //alert('No has escrito nada en el usuario');

    return;
  }
  var clave = document.getElementById('clE').value;
  if (clave.length < 8) {
    swal("Faltan Numeros");
   // alert('La clave no es válida');
    return;
  }
  this.submit();
}
</script>



Lo que me molesta y creo que a varios, son ventanas emergentes ... en lo personal me molestan.. prefiero un div de error .. pero no un "alert"
Tampoco se pintarlo en la pagina html, este ultimo una vez que valida si pasa a primer post.php
Estoy viendo muchos videos de javascript... pero en los videos es como que siempre si olvidan de algo... :)

Gracias todos,
Saludos
ReB.

Avatar de Rebeca
Solucionado.!!
Saludos a todos.
rebe

¿Te quedó una duda sobre Dudas y pedidos generales?

Preguntala y te responde la comunidad (y el asistente Underc0de IA si nadie llega antes). Es gratis y tarda un minuto.

Ya tengo cuenta
Guardamos tu pregunta en este navegador: después de entrar la publicás con un clic.
Grupo de WhatsApp