PHP - Validar dato cargado

 
Vista:

Validar dato cargado

Publicado por Javier (12 intervenciones) el 21/04/2020 00:01:20
Buenas tardes.
Tengo un formulario que me carga los datos en una tabla de la base de datos.
La validación la estoy realizando con JavaScript, y no con PHP, para no estar mandando datos cada vez que quiero validar. Esta validación la realicé con una función que la llamé ValidaDatos(). Esta misma la invoco desde el formulario desde onsubmit="return ValidaDatos()"
La cuestión es que necesito validar el nombre de usuario con los ya cargados en la tabla. Es decir que si el nombre de usuario ya fue cargado me lo valide en la función ValidaDatos().
Desde ya les agradezco.
Les copio el código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?php
#Verificamos que esté abierta la sesión
session_start();
if (empty($_SESSION["usuario"])) {
    # Lo redireccionamos al formulario de inicio de sesión
    header("Location: Index_Adm.php");
    # Y salimos del script
    exit();
}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 
 <head>
  <title>CAFIRA - Alta de Repositor</title>
  <link href= "https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet" />
 
<SCRIPT LANGUAGE="JavaScript" type="text/javascript">
function ValidaDatos(){
var Error=0;
var Clave= document.FrmAltaRepo.LbClave.value;
var ConfClave= document.FrmAltaRepo.LbConfClave.value;
var Mail= document.FrmAltaRepo.LbMail.value;
 
if (document.FrmAltaRepo.LbNombre.value==null || document.FrmAltaRepo.LbNombre.value=="" ||
	document.FrmAltaRepo.LbEmpresa.value==null || document.FrmAltaRepo.LbEmpresa.value=="" ||
	document.FrmAltaRepo.LbDomicilio.value==null || document.FrmAltaRepo.LbDomicilio.value=="" ||
	document.FrmAltaRepo.LbCP.value==null || document.FrmAltaRepo.LbCP.value=="" ||
	document.FrmAltaRepo.LbLocalidad.value==null || document.FrmAltaRepo.LbLocalidad.value=="" ||
	document.FrmAltaRepo.LbProvincia.value==null || document.FrmAltaRepo.LbProvincia.value=="" ||
	document.FrmAltaRepo.LbTelefono.value==null || document.FrmAltaRepo.LbTelefono.value=="" ||
	document.FrmAltaRepo.LbMail.value==null || document.FrmAltaRepo.LbMail.value=="" ||
	document.FrmAltaRepo.LbUsuario.value==null || document.FrmAltaRepo.LbUsuario.value=="" ||
	document.FrmAltaRepo.LbClave.value==null || document.FrmAltaRepo.LbClave.value=="" ||
	document.FrmAltaRepo.LbConfClave.value==null || document.FrmAltaRepo.LbConfClave.value=="") {
	alert("Por favor ingrese los datos necesarios");
	return false;
} else if(Clave !== ConfClave){
	alert ("La clave ingresada no coincide con la confirmada");
	return false;
}
 
if (Error==1) {
	alert("Por favor ingrese los datos necesarios");
	return false;
} else if (Error==2) {
	alert ("La clave ingresada no coincide con la confirmada");
	return false;
} else if (Error==3) {
	alert ("El usuario ya se encuentra registrado");
	return false;
}
 
}
</SCRIPT>
 
 </head>
 
<body bgcolor="#FFFFFF" leftmargin="12" topmargin="12" marginwidth="12" marginheight="12">
 
 
 
<p><h3 align="center">Alta de Repositor</h3> </p>
 
<table width="500" border="0" align="center" cellpadding="3" cellspacing="0">
<FORM name="FrmAltaRepo" action="Inserta_Repositor.php"   method="POST" onsubmit="return ValidaDatos()">
          <tr>
            <td width="180" align="right" class="verdana10negro" ><strong>Nombre
              y Apellido</strong></td>
            <td><input name="LbNombre" value="<?php echo isset($_POST['LbNombre']) ? $_POST['LbNombre'] : ''; ?>" type="text" id="nombre" size="33" >
              <strong>*</strong> </td>
          </tr>
          <tr>
            <td width="120" align="right" class="verdana10negro" ><strong>Empresa</strong></td>
            <td> <input name="LbEmpresa" value="<?php echo isset($_POST['LbEmpresa']) ? $_POST['LbEmpresa'] : ''; ?>" type="text" id="empresa" size="33" >
              * </td>
          </tr>
          <tr>
            <td align="right"  class="verdana10negro"><strong>Domicilio</strong></td>
            <td > <input name="LbDomicilio" value="<?php echo isset($_POST['LbDomicilio']) ? $_POST['LbDomicilio'] : ''; ?>" type="text" id="domicilio" size="33" >
              * </td>
          </tr>
          <tr>
            <td align="right"  class="verdana10negro"><strong>Cod.
              Post.</strong></td>
            <td > <input name="LbCP"  type="text" id="cp" size="9" onKeypress="if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" value="<?php echo isset($_POST['LbCP']) ? $_POST['LbCP'] : ''; ?>">
              * </td>
          </tr>
          <tr>
            <td align="right"  class="verdana10negro"><strong>Localidad</strong></td>
            <td > <input name="LbLocalidad" value="<?php echo isset($_POST['LbLocalidad']) ? $_POST['LbLocalidad'] : ''; ?>" type="text" id="localidad" size="33" >
              *</td>
          </tr>
          <tr>
            <td align="right"  class="verdana10negro"><strong>Provincia</strong></td>
            <td > <input name="LbProvincia" value="<?php echo isset($_POST['LbProvincia']) ? $_POST['LbProvincia'] : ''; ?>" type="text" id="provincia" size="33" >
              * </td>
          </tr>
          <tr>
            <td align="right" class="verdana10negro"><strong>Teléfono</strong></td>
            <td><input name="LbTelefono" value="<?php echo isset($_POST['LbTelefono']) ? $_POST['LbTelefono'] : ''; ?>" type="text" id="telefono" size="20" onKeypress="if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;">
              *</td>
          </tr>
          <tr>
            <td align="right"  class="verdana10negro"><strong>E-Mail</strong></td>
            <td ><input name="LbMail" value="<?php echo isset($_POST['LbMail']) ? $_POST['LbMail'] : ''; ?>" type="text" id="mail" size="33">
              *</td>
          </tr>
          <tr>
            <td align="center" colspan="2"><strong></strong></td>
          </tr>
 
          <tr>
            <td align="right"  class="verdana10negro"><strong>Usuario</strong></td>
 
            <td ><input name="LbUsuario" value="<?php echo isset($_POST['LbUsuario']) ? $_POST['LbUsuario'] : ''; ?>" type="text" id="usuario" size="33" />
              * </td>
          </tr>
          <tr>
            <td align="right"  class="verdana10negro"><strong>Contraseña</strong></td>
            <td ><input name="LbClave" value="<?php echo isset($_POST['LbClave']) ? $_POST['LbClave'] : ''; ?>" type="password" id="clave" size="33" />
              * </td>
          </tr>
          <tr>
            <td align="right"  class="verdana10negro"><strong>Conf. Contraseña</strong></td>
            <td ><input name="LbConfClave" value="<?php echo isset($_POST['LbConfClave']) ? $_POST['LbConfClave'] : ''; ?>" type="password" id="clave" size="33" />
              * </td>
          </tr>
          <tr>
            <td align="center" colspan="2"><strong></strong></td>
          </tr>
          <tr>
            <td colspan="2" align="center"  class="verdana10negro">
			 <input name="BtGrabar" type="submit" id="grabar" value="Grabar" class="boton" >
             <input name="Btcancelar" type="reset" id="cancelar" value="Cancelar" class="boton">
            </td>
          </tr>
  </FORM>
        </table>
 
</body>
 
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Validar dato cargado

Publicado por Julio (830 intervenciones) el 21/04/2020 08:32:32
Hola.

Veo que defines una variable Error en JavaScript con valor 0, pero no veo luego dónde le cambias el valor a 1, 2 o 3 para que te saques los errores que quieres. De todas formas, si quieres comprobar que un usuario ya está en la base de datos, tendrás en algún momento que solicitar todos los usuarios a la base de datos o, con el usuario introducido, solicitar a la base de datos si existe un usuario con ese nombre.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar dato cargado

Publicado por Javier (12 intervenciones) el 21/04/2020 14:44:20
Hola. Te copié el código incompleto. Te lo paso nuevamente.
Si entiendo que tengo que pedir los datos a la tabla. Pero me surge el siguiente problema. Una vez que escribí el nombre de usuario en el formulario, necesito buscar en la tabla si existe (mediante php) y si existe crear darle el valor 3 a la variable Error que la tengo declarada en JavaScript. El onSubmite me ejecuta primero la la función ValidaDatos(). Necesitaría que el onSubmit primero me ejecute una función en php que me busque si está cargado el usuario (para darle el valor 3 a Error si es que no existe) y después que me ejecute la funcion ValidaDatos(). Entiendo que puedo hacer toda la validación con php, pero estaría enviando datos cada vez que oprimo el botón enviar.
Se entiende? Quisiera trabajar lo menos posible con el servidor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<SCRIPT LANGUAGE="JavaScript" type="text/javascript">
function ValidaDatos(){
var Error=0;
var Clave= document.FrmAltaRepo.LbClave.value;
var ConfClave= document.FrmAltaRepo.LbConfClave.value;
var Mail= document.FrmAltaRepo.LbMail.value;
 
if (document.FrmAltaRepo.LbNombre.value==null || document.FrmAltaRepo.LbNombre.value=="" ||
	document.FrmAltaRepo.LbEmpresa.value==null || document.FrmAltaRepo.LbEmpresa.value=="" ||
	document.FrmAltaRepo.LbDomicilio.value==null || document.FrmAltaRepo.LbDomicilio.value=="" ||
	document.FrmAltaRepo.LbCP.value==null || document.FrmAltaRepo.LbCP.value=="" ||
	document.FrmAltaRepo.LbLocalidad.value==null || document.FrmAltaRepo.LbLocalidad.value=="" ||
	document.FrmAltaRepo.LbProvincia.value==null || document.FrmAltaRepo.LbProvincia.value=="" ||
	document.FrmAltaRepo.LbTelefono.value==null || document.FrmAltaRepo.LbTelefono.value=="" ||
	document.FrmAltaRepo.LbMail.value==null || document.FrmAltaRepo.LbMail.value=="" ||
	document.FrmAltaRepo.LbUsuario.value==null || document.FrmAltaRepo.LbUsuario.value=="" ||
	document.FrmAltaRepo.LbClave.value==null || document.FrmAltaRepo.LbClave.value=="" ||
	document.FrmAltaRepo.LbConfClave.value==null || document.FrmAltaRepo.LbConfClave.value=="") {
	alert("Por favor ingrese los datos necesarios");
	Error=1;
	return false;
} else if(Clave !== ConfClave){
	alert ("La clave ingresada no coincide con la confirmada");
	Error=2;
	return false;
}
 
if (Error==1) {
	alert("Por favor ingrese los datos necesarios");
	return false;
} else if (Error==2) {
	alert ("La clave ingresada no coincide con la confirmada");
	return false;
} else if (Error==3) {
	alert ("El usuario ya se encuentra registrado");
	return false;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Validar dato cargado

Publicado por Julio (830 intervenciones) el 21/04/2020 14:52:54
Sinceramente, me parece complicarse la vida. Comentas que te gustaría trabajar lo mínimo posible con el servidor. Bien, pero para validar necesitas al servidor para buscar los datos en la base de datos. Ya está, no necesitas luego JavaScript para nada. Es decir:

1- Tienes un nombre de usuario
2- Buscas si ese nombre de usuario existe en la base de datos (a través de PHP)
3- Haces un if para comprobar si existe o no existe

¿Por qué utilizar JavaScript para hacer el paso 3 si se arregla con un simple if en PHP? Y si no quieres hacer un if en PHP, tendrás que pasarle igualmente el usuario o el dato de si existe a JavaScript desde PHP, lo cual es utilizar el servidor igualmente. Cada vez que pulses el botón, vas a enviar datos al servidor sí o sí. Necesitas saber el usuario y eso lo extraes desde el servidor.




Independientemente de lo anterior. ¿Eres consciente de lo que estás haciendo aquí?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
alert("Por favor ingrese los datos necesarios");
Error=1;
return false;
} else if(Clave !== ConfClave){
alert ("La clave ingresada no coincide con la confirmada");
Error=2;
return false;
}
 
if (Error==1) {
alert("Por favor ingrese los datos necesarios");
return false;
} else if (Error==2) {
alert ("La clave ingresada no coincide con la confirmada");
return false;
} else if (Error==3) {
alert ("El usuario ya se encuentra registrado");
return false;
}

O sea, haces un alert que muestra "Por favor ingrese los datos necesarios" para asignar luego a Error el valor 1 y devolver false, para luego hacer lo mismo con el valor 2. Y después de esto haces la comprobación de si el error es 1, 2 o 3 para mostrar los mismos alert que antes. ¡Nunca vas a llegar a esta segunda comprobación! No sé si lo ves.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar dato cargado

Publicado por Javier (12 intervenciones) el 21/04/2020 20:00:28
Si. Es verdad. Entiendo lo que me decís. La verdad que soy nuevo incursionando en esto. Estoy tratando de hacer cosas básicas para ir aprendiendo. Ya me susucribí al blog. Me parece muy bueno.
Que me aconsejarías para validar el formulario???

Hay algun ejemplo sencillo para validar el formulario?

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Validar dato cargado

Publicado por Julio (830 intervenciones) el 21/04/2020 20:09:40
Gracias por la suscripción. Precisamente hace poco publiqué sobre ello.

Funciones básicas para validar datos: https://programacionbasica.es/como-validar-datos-de-un-formulario-en-php-funciones-basicas/

Utilidades para validar datos: https://programacionbasica.es/como-validar-datos-de-un-formulario-en-php-utilidades/

Y no estaría mal que leyeras también el de seguridad de los datos en formularios: https://programacionbasica.es/como-controlar-la-seguridad-en-los-formularios/

Espero que te puedan ser de utilidad.

Básicamente, piensa que cuando recibes un dato de un formulario, lo vas a procesar normalmente en PHP, así que no te preocupes si utilizas o no el servidor y empieces a liarte con JavaScript. Al final casi casi segurísimo que vas a tener que pasar por código PHP, así que el servidor se va a utilizar.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar dato cargado

Publicado por Javier (12 intervenciones) el 21/04/2020 20:22:01
Muchas gracias Julio. Voy a leer lo que me pasaste.
Cualquier consulta se te puede contactar? Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Validar dato cargado

Publicado por Julio (830 intervenciones) el 21/04/2020 20:28:14
Sí claro, utiliza el formulario de contacto de la web y me llegará un mail.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar