Foros del Web » Programando para Internet » PHP »

Comprobacion de usuario

Estas en el tema de Comprobacion de usuario en el foro de PHP en Foros del Web. Código: <BODY> <div align="center"> <h1>Registrarse</h1> <br> <FORM METHOD="POST" ACTION="insertar.php"> Nick<br> <INPUT TYPE="TEXT" NAME="nick"><br> Password<br> <INPUT TYPE="password" NAME="password"><br> <INPUT TYPE="SUBMIT" value="Insertar"> </FORM> </div> <div align="center"> <a ...
  #1 (permalink)  
Antiguo 28/07/2006, 00:39
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 19 años, 4 meses
Puntos: 1
Comprobacion de usuario

Código:
<BODY>
<div align="center">
<h1>Registrarse</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Nick<br>
<INPUT TYPE="TEXT" NAME="nick"><br>
Password<br>
<INPUT TYPE="password" NAME="password"><br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
<div align="center">
<a href="index.php">Index</a><br>
</div>
</BODY>
Código:
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?

//Conexion con la base
include_once("../conex/conex.php");

			$q="select * from usuarios where nick='$nick'";
			$res=mysql_query($q);
			if (mysql_fetch_row($res)>0)  
			{
			echo "El usuario ya existe";
			}
			else
			{
			//Ejecucion de la sentencia SQL
			mysql_db_query("registro_de_usuarios","insert into usuarios (nick,password) values ('$nick','$password')"); 
			}
?>
<h1><div align="center">Registro Completado</div></h1>
</BODY>
No puedo lograr que compruebe el usuario correctamente, me tira el siguiente error:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Insertar.php on line 13

Puede ser el problema que tenga que pasar el valor nick del formulario al php?
  #2 (permalink)  
Antiguo 28/07/2006, 01:53
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 1
hombre.. pues claro.

haz $nick=$_POST['nick'];
__________________
ALOZORRO v5.0 (ahora en .es)
  #3 (permalink)  
Antiguo 28/07/2006, 02:35
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Y no sólo eso....

Código PHP:
// recoge el nick
nick=$_POST['nick'];

$q="select * from usuarios where nick='$nick'";
// haz la consulta
$res=mysql_query($q);
// Comprueba que no este registrado ya nadie con ese nombre con mysql_num_rows Y EL RESULTADO jejejejeje
if (mysql_num_rows($res)>0)  
            {
            echo 
"El usuario ya existe";
            }
            else
            {
                           
// Insertalo
                         

Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa

Última edición por Lord of freaks; 28/07/2006 a las 03:12
  #4 (permalink)  
Antiguo 28/07/2006, 03:05
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 1
bueno.. si.. eso tambien. jeje. pero pasandole el parametro claro:

if (mysql_num_rows($res)>0)
__________________
ALOZORRO v5.0 (ahora en .es)
  #5 (permalink)  
Antiguo 28/07/2006, 12:31
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 19 años, 4 meses
Puntos: 1
Si habia puesto el post, pero como de una u otra forma tiraba error pense que a lo mejor lo habia echo mal.

Por cierto sigue dando error:

Código:
<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
include_once("../conex/conex.php");

$nick=$_POST['nick'];

$q="select * from usuarios where nick='$nick'";
// haz la consulta
$res=mysql_query($q);
// Comprueba que no este registrado ya nadie con ese nombre con mysql_num_rows Y EL RESULTADO jejejejeje
if (mysql_num_rows($res)>0)  
            {
            echo "El usuario ya existe";
            }
            else
            {
			//Ejecucion de la sentencia SQL
			mysql_db_query("registro_de_usuarios","insert into usuarios (nick,password) values ('$nick','$password')"); 
			}
?>
<h1><div align="center">Registro Completado</div></h1>
</BODY>
</HTML>
Me tira este error:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\MIS DESARROLLOS\registro\Insertar.php on line 16

Última edición por Snake nS; 28/07/2006 a las 12:42
  #6 (permalink)  
Antiguo 28/07/2006, 14:06
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 19 años, 4 meses
Puntos: 1
alguna idea?
  #7 (permalink)  
Antiguo 28/07/2006, 15:52
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 19 años, 4 meses
Puntos: 1
Haber, adptando el codigo de un script quedo algo asi:

Código:
<?
include_once("../conex/conex.php");

if($_POST[enviar]) {
	function quitar($texto) {
		$texto = trim($texto) ;
		$texto = htmlspecialchars($texto) ;
		$texto = str_replace(chr(160),'',$texto) ; # Elimina espacios que no pueden ser borrados por trim()
		return $texto ;
	}
	$nick = quitar($_POST[nick]) ;
	$email = quitar($_POST[email]) ;
	$con = mysql_query("select count(id) from usuarios where nick='$nick' or email='$email'") ;
	if(mysql_result($con,0,0)) {
		echo 'El nick ya existe en la base de datos o ya está registrado el email. Haz click <a href="javascript:history.back()">aquí</a> para regresar.' ;
	}
	else {
		$fecha = time() ;
		$password = md5(md5(quitar($_POST[password]))) ;
		$sexo = quitar($_POST[sexo]) ;
		mysql_query("insert into usuarios (fecha,nick,password,email,sexo,ip) values ('$fecha','$nick','$password','$email','$sexo','$_SERVER[REMOTE_ADDR]')") ;
		echo 'Has sido registrad@. Haz click aquí <a href="index.php">aquí</a> para regresar a la página principal.' ;
	}
}
else {
?>
<script>
function revisar() {
	if(formulario.nick.value.length < 3) {
		alert('El nick debe contener por lo mínimo 3 caractéres.') ;
		return false ;
	}
	if(formulario.password.value.length < 8) {
		alert('La contraseña debe contener por lo mínimo 8 caractéres.') ;
		return false ;
	}
	if(formulario.password.value != formulario.c_password.value) {
		alert('Las contraseñas no son correctas.') ;
		return false ;
	}
	if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(formulario.email.value)) {
		alert('Debes poner un email válido.') ;
		return false ;
	}
}
</script>
<form name="formulario" method="post" action="<?=$_SERVER[PHP_SELF]?>" onsubmit="return revisar()">
<b>Nick:</b><br>
<input type="text" name="nick" maxlength="20"><br>
<b>Contraseña:</b><br>
<input type="password" name="password" maxlength="10"><br>
<b>Confirmar contraseña:</b><br>
<input type="password" name="c_password" maxlength="10"><br>
<b>Email:</b><br>
<input type="text" name="email" maxlength="40"><br>
<b>Sexo:</b><br>
<select name="sexo">
<option value="0">Masculino
<option value="1">Femenino
</select><br><br>
<input type="submit" name="enviar" value="Insertar">
</form>
</div>
<?
}
?>
El problema es que me tira el siguiente error:

Cita:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\MIS DESARROLLOS\Argentina People\registro\insertar.php on line 14
Por si sirve de algo, estoy usando php 5
  #8 (permalink)  
Antiguo 28/07/2006, 16:17
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 19 años, 4 meses
Puntos: 1
Ya lo resolvi

Código:
$q="select * from usuarios where nick='$nick' or email='$email'";
			$res=mysql_query($q,$link);
			$cant=mysql_affected_rows($link);
			if ($cant>0)
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 16:38.