PHP - Comprobar usuario existente en BD

   
Vista:
Imágen de perfil de José Antonio

Comprobar usuario existente en BD

Publicado por José Antonio (4 intervenciones) el 07/12/2014 19:52:09
Hola buenas,
Necesito comprobar si cuando se crea un usuario, si ese usuario está ya registrado en la base de datos.
Hago la consulta y con un "if" compruebo si el valor que se ha introducido es igual que el de la consulta, pero por más que he probado no lo consigo. Me vendría muy bien una ayudita.
Gracias de antemano.
Un saludo
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 xve

Comprobar usuario existente en BD

Publicado por xve (5516 intervenciones) el 08/12/2014 11:04:25
Hola José... no se muy bien como te podemos ayudar... nos podrías mostrar el código?
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 José Antonio

Comprobar usuario existente en BD

Publicado por José Antonio (4 intervenciones) el 09/12/2014 15:42:17
Por supuesto, este es el código PHP que tengo:




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
$con=mysqli_connect("localhost","root","user","tol");
 
	if (mysqli_connect_errno())
  	{
  		echo "Failed to connect to MySQL: " . mysqli_connect_error();
  	}
 
	$user=$_POST['usuario'];  //Variable que me interesa comparar
	$pass=$_POST['pass'];
	$name=$_POST['nombre'];
	$sur=$_POST['apellidos'];
	$uni=$_POST['universidad'];
	$sex=$_POST['sex'];
	$type=$_POST['type'];
 
	$existe=mysql_num_rows(mysql_query("SELECT user FROM Users WHERE user='$user'")); //Mi consulta a la base de datos
 
	if($existe==0){
		mysqli_query($con,"INSERT INTO Users (user, password, name, surname, university, sex, type)
		VALUES ('$user', '$pass', '$name', '$sur', '$uni', '$sex', '$type')");
 
				// Muestra la informacion introducida
			echo "Bienvenido $fname, tu usuario es $user";
			echo "<br><br>";
			echo "Te has registrado con la siguiente satisfactoriamente";
			echo "<br><br>";
 
			echo '<a href="../pags/general.html">Go!</a>';
 
	}else{
 
		echo "Lo sentimos, pero el nombre de usuario $user ya esta registrado.";
	}
 
 
 
 
 
 
 
?>

Gracias.
Un Saludo.
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 José Antonio

Comprobar usuario existente en BD

Publicado por José Antonio (4 intervenciones) el 09/12/2014 16:36:24
Conseguí que me funcionase después de mucho probar. Lo dejo a continuación, por si le puede ser de utilidad a alguien.

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
<?php
    $con=mysqli_connect("localhost","root","user","tol");
 
	if (mysqli_connect_errno())
  	{
  		echo "Failed to connect to MySQL: " . mysqli_connect_error();
  	}
 
	$user=$_POST['usuario'];
	$pass=$_POST['pass'];
	$name=$_POST['nombre'];
	$sur=$_POST['apellidos'];
	$uni=$_POST['universidad'];
	$sex=$_POST['sex'];
	$type=$_POST['type'];
 
	$existe="SELECT user FROM Users WHERE user='$user'";
	$sqlcheck = mysqli_query($con,$existe);
 
 
	while ($row = mysqli_fetch_array($sqlcheck)){
		$usado=$row['user'];
	}
		if (!empty($usado)){
 
		echo "<p class=titulo>The user ".$usado." already exists <button onclick=window.location='../index.html' class=main2>Return</button>";
	}
	else{
 
		mysqli_query($con,"INSERT INTO Users (user, password, name, surname, university, sex, type)
		VALUES ('$user', '$pass', '$name', '$sur', '$uni', '$sex', '$type')");
 
				// Muestra la informacion introducida
			echo "Bienvenido $fname, tu usuario es $user";
			echo "<br><br>";
			echo "Te has registrado con la siguiente satisfactoriamente";
			echo "<br><br>";
 
			echo '<a href="../pags/general.html">Go!</a>';
 
	}
 
 
 
 
?>

Y así aprovecho este mismo post para lanzar una pregunta parecida. Con esta misma técnica estoy intentando que me detecte si el usuario y la contraseña existe y son correctos, que lo mande a una página diferente, pero no consigo que lo haga. Alguna idea?

Gracias.
Un Saludo.
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 xve

Comprobar usuario existente en BD

Publicado por xve (5516 intervenciones) el 09/12/2014 19:18:01
Hola Jose, no se muy bien a que te refieres... nos puedes mostrar el código?

para enviar un usuario a una página puedes utilizar header("location:..."); algo así:

1
header("location:http://www.lawebdelprogramador.com/");

Eso si, no puedes haber enviado nada al navegador...
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 José Antonio

Comprobar usuario existente en BD

Publicado por José Antonio (4 intervenciones) el 10/12/2014 14:57:19
Este es 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
$conn = mysql_connect("localhost","root","user","tol");
 
	$user=$_POST['user'];
	$pass=$_POST['pass'];
 
    $sql = "SELECT * FROM Users WHERE user = '$user'";
    $rsql = mysql_num_rows($sql);
 
 
   		if($rsql !=0){
			$psql= "SELECT * FROM Users WHERE user = '$user' and password = '$pass'" ;
			$rpsql = mysql_num_rows($rsql);
 
			if($rpsql!=0){
					session_start();
      			//Guardamos dos variables de sesión que nos auxiliará para saber si se está o no "logueado" un usuario 
			     $_SESSION["autentica"] = "SI";
			     //nombre del usuario logueado. 
		      //Direccionamos a nuestra página principal del sistema. 
		      	header ("Location: ../pags/general.html");
			}else{
				echo"<script>alert('La contrase\u00f1a del usuario no es correcta.'); window.location.href=\"../index.html\"</script>";
			}
		} else {
				echo"<script>alert('El usuario no existe.'); window.location.href=\"../index.html\"</script>";
 
		}


Gracias.
Un saludo.
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