Foros del Web » Programando para Internet » PHP »

Problema con Registro de Usuarios

Estas en el tema de Problema con Registro de Usuarios en el foro de PHP en Foros del Web. Hola, tengo 2 problemas con mi registro de usuarios 1. Los usuarios pueden registrarse pero si se ingresa nuevamente los mismos datos se duplican en ...
  #1 (permalink)  
Antiguo 04/12/2007, 08:11
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Problema con Registro de Usuarios

Hola, tengo 2 problemas con mi registro de usuarios

1. Los usuarios pueden registrarse pero si se ingresa nuevamente los mismos datos se duplican en la base de datos (alias, password, apellido, nombre) quiero que los usuarios puedan duplicar sus datos.

2. Por otro lado cuando uno se logea con sus datos de usuarios, si ponen el usuario y la clave correcta ingresa al sector restringido, pero si se equivocan el programa les indica "Acceso denegado" pero tiene que cerrar y abrir nuevamente el explorer para poder ingresar, es como que no dà mas de 1 opcion.

A CONTINUACION LOS 2 CÒDIGOS PHP, el primero es el formulario de registro y el segundo es el login.


-----------------------------------------------
FORMULARIO DE REGISTRO

<?

include ("coneccion.inc.php");



//Alta de contactos


// Armo una conección con el servidor mysql

$coneccion = mysql_connect($host_db, $usuario_db, $pass_db);
mysql_select_db($base_db, $coneccion);

if ($REQUEST_METHOD<>"POST")

{
//Busco todos los tipos de contactos disponibles

$sql = "select * from tipo_contactos order by desc_tipo_contacto ";
$result = mysql_query($sql, $coneccion);


?>



<form method="POST" action="registro.php">
<table border="0" width="60%" height="452">
<tr>
<td width="100%" colspan="2"><b>Formulario de Registro</b></td>
</tr>
<tr>
<td width="30%" height="25">
<p align="right">Nombre: </td>
<td width="70%" height="25"><!-webbot bot="Validation"
B-Value-Required="TRUE" I-Minimum-Length="1" I-Maximum-
Length="30" -><input tye="text" name="nombre" size="32"
maxlength="30"></td>
</tr>
<tr>

<td width="30%" height="25">
<p align="right">Apellido: </td>
<td width="70%" height="25"><!-webbot bot="Validation"
B-Value-Required="TRUE" I-Minimum-Length="1" I-Maximum-
Length="30" -> <input type="text" name="apellido" size="32"
maxlength="30"></td>

</tr>
<tr>

<td width="30%" height="25">
<p align="right">Dirección: </td>
<td width="70%" height="25"><!-webbot bot="Validation"
B-Value-Required="TRUE" I-Minimum-Length="1" I-Maximum-
Length="30" -> <input type="text" name="direccion" size="32"
maxlength="30"></td>

</tr>
<tr>

<td width="30%" height="25">
<p align="right">Telefono: </td>
<td width="70%" height="25"><!-webbot bot="Validation"
B-Value-Required="TRUE" I-Minimum-Length="1" I-Maximum-
Length="30" -> <input type="text" name="telefono" size="32"
maxlength="30"></td>

</tr>
<tr>

<td width="30%" height="25">
<p align="right">EMAIL: </td>
<td width="70%" height="25"><!-webbot bot="Validation"
B-Value-Required="TRUE" I-Minimum-Length="1" I-Maximum-
Length="30" -> <input type="text" name="e_mail" size="32"
maxlength="30"></td>
</tr>

<tr>

<td width="30%" height="25">
<p align="right">Razón Social: </td>
<td width="70%" height="25"><!-webbot bot="Validation"
B-Value-Required="TRUE" I-Minimum-Length="1" I-Maximum-
Length="30" -> <input type="text" name="razon_social" size="32"
maxlength="30"></td>

</tr>
<tr>

<td width="30%" height="25">
<p align="right">Cuit: </td>
<td width="70%" height="25"><!-webbot bot="Validation"
B-Value-Required="TRUE" I-Minimum-Length="1" I-Maximum-
Length="30" -> <input type="text" name="cuit" size="32"
maxlength="30"></td>
</tr>
<tr>

<td width="30%" height="25">
<p align="right">Alias: </td>
<td width="70%" height="25"><!-webbot bot="Validation"
B-Value-Required="TRUE" I-Minimum-Length="1" I-Maximum-
Length="30" -> <input type="text" name="alias" size="32"
maxlength="30"></td>

</tr>
<tr>

<td width="30%" height="25">
<p align="right">Contraseña: </td>
<td width="70%" height="25"><!-webbot bot="Validation"
B-Value-Required="TRUE" I-Minimum-Length="1" I-Maximum-
Length="30" -> <input type="password" name="password" size="32"
maxlength="30"></td>
</tr>
<tr>
<td width="30%" height="27"></td>
<td width="70%" height="27"><input type="submit" value="Enviar"
name="envio"></td></p>
</tr>
</table>
</form>



<?


}
else
{

//Insertamos los datos

//Armo el insert

$sql = "insert into contactos (nombre, apellido, direccion, telefono, e_mail, razon_social, cuit, alias, password, web_site, cod_tipo_contacto, observaciones)

values ('$nombre', '$apellido', '$direccion', '$telefono', '$e_mail', '$razon_social', '$cuit', '$alias', '$password', '$web_site', '$cod_tipo_contacto', '$observaciones') ";

$result = mysql_query($sql, $coneccion);

if (!mysql_error())
{

echo "El Contacto ha sido agregado exitosamente";

}
else
{
echo "ERROR al agregar el Contacto - ". mysql_errno().":".
mysql_error()."<br>";
}
}



//$user= $_POST['alias'];

//$busqueda= mysql_query("SELECT alias FROM contactos WHERE alias='$user'")

//if(mysql_num_rows($busqueda)>0) { // ó " !=0 " como se quiera ver
// Inciso a:
// echo "El nombre de usuario no se encuentra disponible. Por favor intente con otro.<br>";
// echo "<a href=\"javascript:history.back()\">Regresar</a>"



?>






-----------------------------------------------

LOGIN DE USUARIOS REGISTRADOS


<?
/* Autenticación
*/
$muerte = 'Acceso Denegado!!!! :-p';

if(!isset($PHP_AUTH_USER)) {
header('WWW-Authenticate: Basic realm="Altamira Group S.A."');
header('HTTP/1.0 401 Unauthorized');
echo $muerte;
exit;
} else {
// valido mi clave en el servidor ...
if (@$db_link = mysql_connect("localhost", "base_contactos",

"clavesecreta")) {
@mysql_select_db("base_mia");
}

$sql = "select alias, password from contactos
where ((alias = '$PHP_AUTH_USER')
and (password = '$PHP_AUTH_PW')) ";

$qpass= mysql_query($sql, $db_link);
if(mysql_num_rows($qpass)<>1) {
echo $muerte;
exit;
}

}
?>






GRACIAS!!!!!!!!!!!
__________________
"Life goes on..."
  #2 (permalink)  
Antiguo 04/12/2007, 08:24
 
Fecha de Ingreso: diciembre-2005
Mensajes: 105
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Problema con Registro de Usuarios

Hola, para resolver el primer problema poder setear el cambo de la base de datos "alias" como primario... de esa manera solo va a permitir un usuario para cada alias y no va a guardar duplicados.

El segundo problema tenes que modificar esta seccion y enviarlo a una pagina de error de tu sitio y poner nuevamente el login
Cita:
$qpass= mysql_query($sql, $db_link);
if(mysql_num_rows($qpass)<>1) {
header(location: loginerror.php);
exit;
}
Un saludo!!!
__________________
www.AdWebLink.com -> Buscas visitas para tu WEB? Agrega tu sitio Gratis!
www.agregaweb.com.ar -> Agrega tu sitio web al Directorio
  #3 (permalink)  
Antiguo 04/12/2007, 08:28
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Problema con Registro de Usuarios

Usa != en vez de <>, y cómo vas a duplicar todos los datos, alguno tendrá que ser único para cada usuario, no?
  #4 (permalink)  
Antiguo 04/12/2007, 08:47
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Re: Problema con Registro de Usuarios

Gracias Compex!!! el primer problema ya està solucionado con lo que me indicaste.

Ahora el segundo lo modifiquè y quedò asì


<?
/* Autenticación
*/
$muerte = 'Acceso Denegado!!!! :-p';

if(!isset($PHP_AUTH_USER)) {
header('WWW-Authenticate: Basic realm="JOJO. S.A."');
header('HTTP/1.0 401 Unauthorized');
echo $muerte;
exit;
} else {
// valido mi clave en el servidor ...
if (@$db_link = mysql_connect("localhost", "mi_base",

"blablabla")) {
@mysql_select_db("mi_basees");
}

$sql = "select alias, password from contactos
where ((alias = '$PHP_AUTH_USER')
and (password = '$PHP_AUTH_PW')) ";

$qpass= mysql_query($sql, $db_link);
if(mysql_num_rows($qpass)<>1) {
header(location: loginerror.php);
exit;
}
}

?>



PERO ME DÀ EL SIGUIENTE ERROR


Parse error: syntax error, unexpected ':' in /home/httpd/altamiragroupsa.com.ar/public_html/seguridad.php on line 25



No sè que puede ser.

Gracias.
__________________
"Life goes on..."
  #5 (permalink)  
Antiguo 04/12/2007, 08:52
 
Fecha de Ingreso: diciembre-2005
Mensajes: 105
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Problema con Registro de Usuarios

Cita:
<?
/* Autenticación
*/
$muerte = 'Acceso Denegado!!!! ';

if(!isset($PHP_AUTH_USER)) {
header ("Location: http://www.fotologmsn.com/error.php");
exit;
} else {
// valido mi clave en el servidor ...
if (@$db_link = mysql_connect("localhost", "mi_base",

"blablabla")) {
@mysql_select_db("mi_basees");
}

$sql = "select alias, password from contactos
where ((alias = '$PHP_AUTH_USER')
and (password = '$PHP_AUTH_PW')) ";

$qpass= mysql_query($sql, $db_link);
if(mysql_num_rows($qpass)<>1) {
header ("Location: http://www.fotologmsn.com/error.php");
exit;
}
}
?>
Me habia comido las comillas :) fijate ahi como va... reemplaza las dos webs de errores que puse por tu sitio
__________________
www.AdWebLink.com -> Buscas visitas para tu WEB? Agrega tu sitio Gratis!
www.agregaweb.com.ar -> Agrega tu sitio web al Directorio
  #6 (permalink)  
Antiguo 04/12/2007, 09:48
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Re: Problema con Registro de Usuarios

Hice lo que me dijiste, pero se queda siempre en el "loginerror.php" o sea en el formulario de ingreso de usuario y contraseña, no avanza hacia la pàgina en cuestiòn.

Yo tengo el formulario y el botòn de este me lleva a el archivo ingresar.php que tiene un include con el archivo "seguridad.php" que es el que verifica, si està bien entra a la pàgina "ingresar.php" o sino me lleva a "loginerror.php" pero se està quedando siempre en el formulario de "loginerror.php"

que puede ser?


Gracias
__________________
"Life goes on..."
  #7 (permalink)  
Antiguo 04/12/2007, 09:54
 
Fecha de Ingreso: diciembre-2005
Mensajes: 105
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Problema con Registro de Usuarios

a ver... creo que seria asi lo que tenes que modificar:

Cita:
$qpass= mysql_query($sql, $db_link);
if(mysql_num_rows($qpass)!=1) {
//Si no hay ningun registro con el password y el usuario
header ("Location: http://www.fotologmsn.com/error.php");
exit;
} else {
//Password Aceptado
header ("Location: http://www.fotologmsn.com/ingresar.php");
}
__________________
www.AdWebLink.com -> Buscas visitas para tu WEB? Agrega tu sitio Gratis!
www.agregaweb.com.ar -> Agrega tu sitio web al Directorio
  #8 (permalink)  
Antiguo 04/12/2007, 10:02
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Re: Problema con Registro de Usuarios

hola amigo, el còdigo me quedo asì pero siempre se queda en la pàgina loginerror.php


<?
/* Autenticación
*/
$muerte = 'Acceso Denegado!!!! ';

if(!isset($PHP_AUTH_USER)) {
header ("Location: loginerror.php");
exit;
} else {
// valido mi clave en el servidor ...
if (@$db_link = mysql_connect("localhost", "my_tabla",

"passmia")) {
@mysql_select_db("mi_base");
}

$sql = "select alias, password from contactos
where ((alias = '$PHP_AUTH_USER')
and (password = '$PHP_AUTH_PW')) ";

$qpass= mysql_query($sql, $db_link);
if(mysql_num_rows($qpass)!=1) {
//Si no hay ningun registro con el password y el usuario
header ("Location: loginerror.php");
exit;
} else {
//Password Aceptado
header ("Location: ingresar.php");
}
}
?>

GRACIAS X TU PACIENCIA
__________________
"Life goes on..."
  #9 (permalink)  
Antiguo 04/12/2007, 10:07
 
Fecha de Ingreso: diciembre-2005
Mensajes: 105
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Problema con Registro de Usuarios

Cita:
<?
/* Autenticación
*/

echo "PHP_AUTH_USER vale: ".$PHP_AUTH_USER;
$muerte = 'Acceso Denegado!!!! ';

if(!isset($PHP_AUTH_USER)) {
echo "$PHP_AUTH_USER esta sin setear";
//header ("Location: loginerror.php");
exit;
} else {
// valido mi clave en el servidor ...
if (@$db_link = mysql_connect("localhost", "my_tabla",

"passmia")) {
@mysql_select_db("mi_base");
}

$sql = "select alias, password from contactos
where ((alias = '$PHP_AUTH_USER')
and (password = '$PHP_AUTH_PW')) ";

$qpass= mysql_query($sql, $db_link);
if(mysql_num_rows($qpass)!=1) {
//Si no hay ningun registro con el password y el usuario
//header ("Location: loginerror.php");
echo "TESTEO: No coinciden los password o no hay resultados en la DB";
exit;
} else {
//Password Aceptado
//header ("Location: ingresar.php");
}
}
?>
Proba con este codigo asi ves que es lo que esta fallando, o sea cual de las dos intrucciones header es la que te esta llevando a esa pagina de error... y averiguas la causante de que condicion if no se esta cumpliendo correctamente o que variable no esta llegando.

Saludos!!
__________________
www.AdWebLink.com -> Buscas visitas para tu WEB? Agrega tu sitio Gratis!
www.agregaweb.com.ar -> Agrega tu sitio web al Directorio
  #10 (permalink)  
Antiguo 04/12/2007, 11:23
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Problema con Registro de Usuarios

me tira este error:


PHP_AUTH_USER vale: esta sin setear
__________________
"Life goes on..."
  #11 (permalink)  
Antiguo 04/12/2007, 11:55
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Re: Problema con Registro de Usuarios

Alguien podrìa ayudarme?
__________________
"Life goes on..."
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 02:59.