PHP - validar e insertar datos bd

 
Vista:
sin imagen de perfil

validar e insertar datos bd

Publicado por Pablo (10 intervenciones) el 21/09/2017 07:04:32
Hola, necesito una ayuda, no se como hacer para que después de validar el o los campos de un formulario, si las validaciones son correctas me envíe los datos a la pagina requerida y me guarde los datos en la base de datos mysql, y si no son correctos no me permita enviarlos? como se podría hacer, en código php si es posible.

Muchas gracias
Saludos

Acá dejo como lo tengo hecho:

esta seria la primer pagina:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<head>
<title>Problema</title>
</head>
<body>
<h1>Alta Nombres</h1>
 
 
<form action="" method="post">
Ingrese nombre:
<input type="text" name="nombre"><br>
<input type="submit" value="Registrar">
</form>
 
</body>
</html>

esta la segunda pagina, donde tendría que aparecer el dato:

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
<html>
<head>
</head>
<body>
 
<?php
 
 
if($_POST){
 
$conexion=mysqli_connect("localhost","root","","pruebas") or
    die("Problemas con la conexión");
 
$nombre=$_POST['nombre'];
 
$registros=mysqli_query($conexion,"select nombre
                        from prueba where nombre='".$nombre."'") or
  die("Problemas en el select:".mysqli_error($conexion));
 
 
if ($reg=mysqli_fetch_array($registros))
{
 echo "El nombre <b>".$nombre."</b> ya fue elegido por otro usuario.";
     exit();
 
}
 
mysqli_query($conexion,"INSERT INTO prueba(nombre) VALUES ('$nombre')");
 
 
   echo "Registro Exitoso! <br><br> Usuario: <b>".$nombre."</b>";
   exit();
 
 
mysqli_close($conexion);
 
}
 
?>
 
 
</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 facundo

validar e insertar datos bd

Publicado por facundo (185 intervenciones) el 21/09/2017 16:55:52
Hola pablo, el codigo lo tenes hecho, lo demas se basa en logica basica (no tiene nada que ver con el codigo)... mira..

vos tenes esto:
1
2
3
4
5
if ($reg=mysqli_fetch_array($registros))
{
 echo "El nombre <b>".$nombre."</b> ya fue elegido por otro usuario.";
     exit();
}

Lo que estas diciendo es... si se encuentra ese registro.... entonces mostrar "el nombre ya fue elegido" y sino...... sino no lo pusiste(else).... osea... si NO encuentra ese registro simplemente no va a mostrar el mensaje ese, y va a proseguir con el codigo que hay abajo, por lo tanto va a hacer el insert !!

lo que tendrias que hacer es decir.... si el registro existe, entonces mostrar "usuario existe" y sino (osea si no existe) hacer el insert....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if ($reg=mysqli_fetch_array($registros))
{
 echo "El nombre <b>".$nombre."</b> ya fue elegido por otro usuario.";
     exit();
 
} else {
 
mysqli_query($conexion,"INSERT INTO prueba(nombre) VALUES ('$nombre')");
 
 
   echo "Registro Exitoso! <br><br> Usuario: <b>".$nombre."</b>";
   exit();
 
 
mysqli_close($conexion);
       }

Entendiste?
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