Foros del Web » Programando para Internet » PHP »

Base de datos y registro de usuarios PHP

Estas en el tema de Base de datos y registro de usuarios PHP en el foro de PHP en Foros del Web. Estoy haciendo una pequeña página en PHP, y en el registro de usuarios quiero que si el Usuario y el correo que ingresaron ya esté ...
  #1 (permalink)  
Antiguo 16/08/2013, 22:47
 
Fecha de Ingreso: agosto-2013
Mensajes: 6
Antigüedad: 10 años, 8 meses
Puntos: 0
Pregunta Base de datos y registro de usuarios PHP

Estoy haciendo una pequeña página en PHP, y en el registro de usuarios quiero que si el Usuario y el correo que ingresaron ya esté repetido en la base de datos, que diga que ya ese usuario y correo ya están ocupado.

Aquí les dejo el código, muchas gracias:

Código:
<?php include ("conexion.php");

#Verificar que no esten vacios los campos
if(isset($_POST['nombre']) && !empty($_POST['nombre']) &&
isset($_POST['usuario']) && !empty($_POST['usuario']) &&
isset($_POST['contra']) && !empty($_POST['contra']) &&
isset($_POST['contra2']) && !empty($_POST['contra2']) &&
isset($_POST['email']) && !empty($_POST['email']) &&
#Verificar que las dos contraseñas sean iguales
$_POST['contra'] == $_POST['contra2'])

{
$conexion=mysql_connect($host,$user,$pw) 
  or die("<p>Problemas en la conexion.</p>");
mysql_select_db($db,$conexion) 
or die("<p>Problemas en la seleccion de la base de datos.</p>");
mysql_query("insert into usuarios_table(NOMBRE,USUARIO,CONTRA,EMAIL) values 
   ('$_POST[nombre]','$_POST[usuario]','$_POST[contra]','$_POST[email]')", 
   $conexion);
echo "<p>Registrado con éxito, ahora inicia sesión.</p>";
echo "<p>Usuario: </p>".$_POST['nombre']."<br>";
echo "<p>Contraseña: </p>".$_POST['pw']."<br>";
echo "<p>E-Mail: </p>".$_POST['email']."<br>";
mysql_close($conexion);
}
else{
	echo "<p>Verifica que llenaste todos los campos y las contraseñas coincidan.</p>";
	}

?>
  #2 (permalink)  
Antiguo 17/08/2013, 06:54
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 14 años, 9 meses
Puntos: 22
Respuesta: Base de datos y registro de usuarios PHP

Hola, tienes que hacer una consulta a la base de datos buscando un usuario con ese mail. Si devuelve resultados, muestras el error de que el correo ya está ocupado. En caso contrario, haces la inserción. Más o menos sería así:


Código PHP:
Ver original
  1. <?php include ("conexion.php");
  2.  
  3. #Verificar que no esten vacios los campos
  4. if(isset($_POST['nombre']) && !empty($_POST['nombre']) &&
  5. isset($_POST['usuario']) && !empty($_POST['usuario']) &&
  6. isset($_POST['contra']) && !empty($_POST['contra']) &&
  7. isset($_POST['contra2']) && !empty($_POST['contra2']) &&
  8. isset($_POST['email']) && !empty($_POST['email']) &&
  9. #Verificar que las dos contraseñas sean iguales
  10. $_POST['contra'] == $_POST['contra2'])
  11.  
  12. {
  13.  
  14. $conexion=mysql_connect($host,$user,$pw) or die("<p>Problemas en la conexion.</p>");
  15. mysql_select_db($db,$conexion) or die("<p>Problemas en la seleccion de la base de datos.</p>");
  16.  
  17. $query_mail = mysql_query("SELECT * FROM usuarios_table WHERE email = '$_POST[email]'");
  18. if ( !mysql_fetch_array($query_mail) ){
  19.    
  20.     mysql_query("insert into usuarios_table(NOMBRE,USUARIO,CONTRA,EMAIL) values ('$_POST[nombre]','$_POST[usuario]','$_POST[contra]','$_POST[email]')", $conexion);
  21.     echo "<p>Registrado con éxito, ahora inicia sesión.</p>";
  22.     echo "<p>Usuario: </p>".$_POST['nombre']."<br>";
  23.     echo "<p>Contraseña: </p>".$_POST['pw']."<br>";
  24.     echo "<p>E-Mail: </p>".$_POST['email']."<br>";
  25.     mysql_close($conexion);
  26. }
  27. else {
  28.     echo '<p>Ya existe un usuario con esa mail</p>';
  29. }
  30.  
  31. }
  32. else{
  33.     echo "<p>Verifica que llenaste todos los campos y las contraseñas coincidan.</p>";
  34.     }
  35.  
  36. ?>
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #3 (permalink)  
Antiguo 17/08/2013, 11:13
 
Fecha de Ingreso: agosto-2013
Mensajes: 6
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Base de datos y registro de usuarios PHP

Cita:
Iniciado por angelAparicio Ver Mensaje
Hola, tienes que hacer una consulta a la base de datos buscando un usuario con ese mail. Si devuelve resultados, muestras el error de que el correo ya está ocupado. En caso contrario, haces la inserción. Más o menos sería así:


Código PHP:
Ver original
  1. <?php include ("conexion.php");
  2.  
  3. #Verificar que no esten vacios los campos
  4. if(isset($_POST['nombre']) && !empty($_POST['nombre']) &&
  5. isset($_POST['usuario']) && !empty($_POST['usuario']) &&
  6. isset($_POST['contra']) && !empty($_POST['contra']) &&
  7. isset($_POST['contra2']) && !empty($_POST['contra2']) &&
  8. isset($_POST['email']) && !empty($_POST['email']) &&
  9. #Verificar que las dos contraseñas sean iguales
  10. $_POST['contra'] == $_POST['contra2'])
  11.  
  12. {
  13.  
  14. $conexion=mysql_connect($host,$user,$pw) or die("<p>Problemas en la conexion.</p>");
  15. mysql_select_db($db,$conexion) or die("<p>Problemas en la seleccion de la base de datos.</p>");
  16.  
  17. $query_mail = mysql_query("SELECT * FROM usuarios_table WHERE email = '$_POST[email]'");
  18. if ( !mysql_fetch_array($query_mail) ){
  19.    
  20.     mysql_query("insert into usuarios_table(NOMBRE,USUARIO,CONTRA,EMAIL) values ('$_POST[nombre]','$_POST[usuario]','$_POST[contra]','$_POST[email]')", $conexion);
  21.     echo "<p>Registrado con éxito, ahora inicia sesión.</p>";
  22.     echo "<p>Usuario: </p>".$_POST['nombre']."<br>";
  23.     echo "<p>Contraseña: </p>".$_POST['pw']."<br>";
  24.     echo "<p>E-Mail: </p>".$_POST['email']."<br>";
  25.     mysql_close($conexion);
  26. }
  27. else {
  28.     echo '<p>Ya existe un usuario con esa mail</p>';
  29. }
  30.  
  31. }
  32. else{
  33.     echo "<p>Verifica que llenaste todos los campos y las contraseñas coincidan.</p>";
  34.     }
  35.  
  36. ?>
No se por qué después de registrar un usuario en el formulario de registro, así estén iguales las contraseñas o diferentes los correos, como sea, siempre sale esto "Verifica que llenaste todos los campos y las contraseñas coincidan."
  #4 (permalink)  
Antiguo 19/08/2013, 01:30
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 14 años, 9 meses
Puntos: 22
Respuesta: Base de datos y registro de usuarios PHP

¿Eso no te funcionaba antes? Prueba a poner un print_r($_POST), a ver que se está enviando.
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #5 (permalink)  
Antiguo 19/08/2013, 08:06
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 36
Respuesta: Base de datos y registro de usuarios PHP

En la seccion de los "APORTES" de FDW, hay informacion sobre este tema MUY BUENA...

http://www.forosdelweb.com/f18/aport...aporte-561417/

http://www.forosdelweb.com/f18/aporte-easylogin-624777/

http://www.forosdelweb.com/f18/aport...-2-5-a-730587/


Saludos,...

Etiquetas: php+base+de+datos
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 14:04.