Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Validar form desde DB

Estas en el tema de Validar form desde DB en el foro de PHP en Foros del Web. Saludos, de seguro que este tema es muy aburrido para mucho pero necesito de vuestra ayuda. Tengo el formulario: Código PHP: < form name = "registro"  ...
  #1 (permalink)  
Antiguo 21/03/2016, 01:48
 
Fecha de Ingreso: enero-2003
Ubicación: Lima
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 0
Validar form desde DB

Saludos, de seguro que este tema es muy aburrido para mucho pero necesito de vuestra ayuda.

Tengo el formulario:

Código PHP:
<form name="registro" method="post" action="guardar.php">
    
Nombre: <input type="text" name="nombre" />
    
Email: <input type="text" name="email" />
    <
input type="submit" name="enviar" value="Registrar" />
</
form
Y el siguiente codigo en guardar.php
Código:
<?php 
	require('conexion.php');
	
	$nombre=$_POST['nombre'];
	$email=$_POST['email'];
	
	$query="INSERT INTO datos (nombre, email) VALUES ('$nombre','$email')";
	$resultado=$mysqli->query($query);
	
?>
<html>
<head>
<title>Guardado</title>
</head>
<body>
<?php  if($resultado>0){
	echo ("Datos guardados");
		}else{
	echo ("No se guardaron los datos");
}
?>
</body>
</html>
EL formulario trabaja bien, guarda el nombre y el correo en la DB, lo que quiero hacer es que el formulario valide con la base de datos si es que el correo ya esta registrado y muestre un mensaje de error o uno de confirmación según si el correo esta registrado o no.

Muchas gracias por ayudarme.

JoSoDi
  #2 (permalink)  
Antiguo 22/03/2016, 04:21
liranan
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Validar form desde DB

La verdad que es un tema bastante sencillo, estoy seguro de que hay muchos tutoriales y foros donde puedes encontrar la respuesta.

Lo que preguntas es tan fácil como hacer una consulta con los valores introducidos y comprobar si devuelve algún resultado, si es así, es que ese nombre ya está en la base de datos y entonces deberás mostrarle al usuario un mensaje de error.

Código PHP:
$result $mysqli->query("SELECT nombre FROM datos WHERE nombre='$nombre' OR email='$email'");
if(
$result->num_rows 0){
    
//ERROR: Ya existe alguien con ese nombre o ese email
}else{
    
//CORRECTO: Puedes completar el registro

  #3 (permalink)  
Antiguo 22/03/2016, 11:21
 
Fecha de Ingreso: enero-2003
Ubicación: Lima
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: Validar form desde DB

Hola Liranan, buscando unos manuales pude hacer de esta manera:
Código PHP:
<?php
    $nombre
=$_POST['nombre'];
    
$email=$_POST['email'];

    include(
"conexion.php");

$sql="SELECT * FROM datos WHERE email='$email'";

$sql mysql_query($sql);
if (
mysql_num_rows($sql)>=1){

print 
"Email encontrado";
}

else {

$query="INSERT INTO datos (nombre, email) VALUES ('$nombre','$email')";

$query =  mysql_query($query);
if(
$query>0){
    echo (
"<h1>Usuario agregado</h1>");
        
}

}

?>
Se puede optimizar,

Puedes ayudarme.

Gracias
  #4 (permalink)  
Antiguo 22/03/2016, 11:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Validar form desde DB

Cita:
Se puede optimizar,
¿Optimizar en qué sentido?

Porque dicho código ya hace todo lo que debe hacer, ni más ni menos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 22/03/2016, 11:41
 
Fecha de Ingreso: enero-2003
Ubicación: Lima
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: Validar form desde DB

Gracias por responder pateketrueke la pregunta iba en el sentido de que si el existía una manera "mejor" de obtener el mismo resultado, en todo caso, gracias a ambos :)

Etiquetas: form, formulario, html, registro, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:13.