Foros del Web » Programando para Internet » PHP »

Agregar Perfil a Sistema de Registro

Estas en el tema de Agregar Perfil a Sistema de Registro en el foro de PHP en Foros del Web. Hola a todos, tengo un problema en mi pagina web, tengo un sistema de registro el cual peromite a los usuarios , una vez registrdos ...
  #1 (permalink)  
Antiguo 22/08/2008, 09:04
 
Fecha de Ingreso: julio-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Agregar Perfil a Sistema de Registro

Hola a todos,
tengo un problema en mi pagina web, tengo un sistema de registro el cual peromite a los usuarios , una vez registrdos y logueados, acceder a ciertas partes de la web a las cuales los visitantes no pueden entrar.
Necesito poner que cuando un usuario se registre automaticamente se cree una página de perfil para cada usuario, a ser posible que diche página contenga un libro de visitas para cada usuario.

He seguido el siguiente tutorial: http://www.xtreme-web.net/electros/scripts/c/2/s/1/pag/9/#c

Mis codigos son:
Creación de tablas SQL:
Código:
create table usuarios ( 
id smallint(5) unsigned not null auto_increment, 
fecha int(10) unsigned not null, 
nick varchar(20) not null, 
contrasena varchar(32) not null, 
email varchar(40) not null, 
pais varchar(20) not null, 
edad tinyint(2) unsigned not null, 
sexo enum('0','1') not null, 
descripcion tinytext not null, 
web varchar(100) not null, 
ip varchar(15) not null, 
primary key (id), 
key (nick,contrasena) 
)
Config.php:
Código:
<?
unset($config) ;
$config[1] = 'localhost' ; # Puede ser "localhost" aunque también una URL o una IP
$config[2] = '******' ; # Usuario de la base de datos
$config[3] = '******' ; # Contraseña de la base de datos
$config[4] = '******' ; # Nombre de la base de datos

$conectar = @mysql_connect($config[1],$config[2],$config[3]) or exit('Datos de conexión incorrectos.') ;
mysql_select_db($config[4],$conectar) or exit('No existe la base de datos.') ;
?>
uentrar.php:
Código:
<?
require 'config.php' ;
if($_POST[enviar]) {
	function quitar($texto) {
		$texto = trim($texto) ;
		$texto = htmlspecialchars($texto) ;
		# --> Elimina espacios que no pueden ser borrados por trim()
		$texto = str_replace(chr(160),'',$texto) ;
		return $texto ;
	}
	$nick = quitar($_POST[nick]) ;
	$contrasena = md5(md5(quitar($_POST[contrasena]))) ;
	$con = mysql_query("select id,contrasena from usuarios where nick='$nick'") ;
	$datos = mysql_fetch_assoc($con) ;
	if(mysql_num_rows($con)) {
		if($datos[contrasena] == $contrasena) {
			setcookie('uid',$datos[id],time()+604800) ;
			setcookie('unick',$nick,time()+604800) ;
			setcookie('ucontrasena',$contrasena,time()+604800) ;
			header("location: $_SERVER[HTTP_REFERER]") ;
		}
		else {
			echo 'La contraseña es incorrecta. Haz click <a href="javascript:history.back()">aquí</a> para regresar.' ;
		}
	}
	else {
		echo 'El nick no existe. Haz click <a href="javascript:history.back()">aquí</a> para regresar.' ;
	}
}
?>
ulogin.php:
Código:
<?
require 'config.php' ;
$con = mysql_query("select count(id) from usuarios where id='$_COOKIE[uid]' and nick='$_COOKIE[unick]' and contrasena='$_COOKIE[ucontrasena]'") ;
if(!mysql_result($con,0,0)) {
	exit('<p><b><font face="Verdana" size="1" color="#FFFFFF">Esta sección es sólo para usuarios registrados.</b><p><a href="uregistrar.php">» ¡Registrate ahora gratis!</a>') ;
}
?>
uregistrar.php (en HTML):
Código:
<body bgcolor="#173442" text="#FFFFFF">
<font face="Verdana" size="1" color="#FFFFFF">
<p align="center"><?
if($_POST[enviar]) {
	require 'config.php' ;
	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() ;
		$contrasena = md5(md5(quitar($_POST[contrasena]))) ;
		$sexo = quitar($_POST[sexo]) ;
		mysql_query("insert into usuarios (fecha,nick,contrasena,email,sexo,ip) values ('$fecha','$nick','$contrasena','$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.contrasena.value.length < 8) {
		alert('La contraseña debe contener por lo mínimo 8 caractéres.') ;
		return false ;
	}
	if(formulario.contrasena.value != formulario.c_contrasena.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="contrasena" maxlength="10"><br>
<b>Confirmar contraseña:</b><br>
<input type="password" name="c_contrasena" 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="Registrar"
      style="background-color: rgb(37,88,118); color: rgb(255,255,255); background-attachment: scroll; background-repeat: repeat; font-family: Verdana; font-size: 8pt; border: 1px dashed rgb(255,255,255); background-position: center">
</form>
</div>
<?
}
?></p>
uregistrar1.php:
Código:
<?
if($_POST[enviar]) {
	require 'config.php' ;
	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() ;
		$contrasena = md5(md5(quitar($_POST[contrasena]))) ;
		$sexo = quitar($_POST[sexo]) ;
		mysql_query("insert into usuarios (fecha,nick,contrasena,email,sexo,ip) values ('$fecha','$nick','$contrasena','$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.contrasena.value.length < 8) {
		alert('La contraseña debe contener por lo mínimo 8 caractéres.') ;
		return false ;
	}
	if(formulario.contrasena.value != formulario.c_contrasena.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="contrasena" maxlength="10"><br>
<b>Confirmar contraseña:</b><br>
<input type="password" name="c_contrasena" 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="Registrar">
</form>
</div>
<?
}
?>
usalir.php:
Código:
<?
setcookie('uid') ;
setcookie('unick') ;
setcookie('ucontrasena') ;
header('location: index.php') ;
?>
Como puedo insertar que cada usuario tenga su propia página de perfil público con un libro de visitas y que el usuario pueda editar su propio perfil cuando quiera?
¿Alguien sabe la respuesta a mi pequeño problema?
  #2 (permalink)  
Antiguo 22/08/2008, 09:27
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Agregar Perfil a Sistema de Registro

y bueno esto lo tenes q poner en

tusitio.com/usuario.php?id=xxx //el id del usuario o el nick si es unico

o hacerlo mas lindo aun con mod_rewrite

tusitio.com/usuario/xxxxx //el nick o el id

luego en el .htaccess
RewriteRule ^usuario/(.*)$ usuario.php?id=$1

en usuario.php buscas y mostrar los datos del mismo y agregas el libro de visitas
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 22/08/2008, 11:03
 
Fecha de Ingreso: julio-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Agregar Perfil a Sistema de Registro

Aver, perdona pero no he entendido casi nada.
¿Quieres decir con .htaccess?
Porfabor explicamelo mejor.
  #4 (permalink)  
Antiguo 22/08/2008, 11:24
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Agregar Perfil a Sistema de Registro

.htaccess es un archivo que ejecuta apache
y mod_rewrite es una extension para reescribir urls
__________________
Degiovanni Emilio
developtus.com
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:16.