Buenas.
Primero necesitaras una base de datos. En ella necesitarás 3 tablas: usuarios,librosdevisitas y mp.
La tabla usuarios puede tener una estructura parecida a ésta:
ID int auto_increment, username varchar(20), password varchar(100), rango int, mail varchar(70)
Los rangos son: usuario, moderador y administrador. Password está encriptado, por lo tanto necesita más caracteres, dependiendo del tipo de encriptación.mail->mail
La de el libro de visitas.....:
idmsj int auto_increment, mensaje text, usuario int, libro int
IDMSJ->La ID de un mensaje, usado para poder seleccionarlo individualmente y poder eliminarlo, si se quiere. mensaje->el mensaje. usuario->el usuario que lo escribió. libro->el libro en el que escribió. la id de un libro es igual a la id de su dueño.
MP->Mensajes privados...:
ID int auto_increment, autor varchar(20), dest varchar(20), msj text
ID->Lo mismo que antes....Autor->autor d/u mensaje. DEST->Destinatario d/u mensaje. msj_>mensaje.
Esas son las tablas.
Te dejo un código que te puede guiar, son SÓLO EJEMPLOS.
<?php
//conexion.php
$host = "localhost";
$user = "root";
$password = "";
$db = "misitio";
$dbd = mysql_connect($host, $user, $password);
mysql_select_db($db, $dbd);
?>
<?php
//registro.php
include("conexion.php");
$user=$_POST['User'];
$pass=$_POST['Password'];
$passcheck=$_POST['PasswordRep'];
$mail=$_POST['Mail'];
if ($user AND $pass AND $passcheck AND $mail AND $sexo) {
} else {
header("Location: register.html?error=campos_en_blanco");
}
if ($pass == $passcheck) {
} else {
header("Location: register.html?error=passwords_no_coinciden");
}
$registros=mysql_query("select username
from usuarios where username='$user'",$conexion) or
die("Problemas en el select1:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
header('Location: register.html?error=username_ya_existe');
}
else
{
mysql_query("insert into usuarios(username,password,mail)
values ('$user','$pass','$mail')", $conexion) or die("Problemas en el insert".mysql_error());
mysql_close($conexion);
header('Location: login.php');
}
header('Location: register.html?error=error_inesperado');
?>
<?php
//perfil.php
include("conexion.php");
define("endl","
");
if (!isset($_GET['i'])) {
echo "No se ha especificado un usuario";
} else {
$id=$_GET['i'];
$query="SELECT * FROM usuarios WHERE id='$id'";
$query= mysql_query($query);
if ($row=mysql_fetch_array($query)) {
echo "Bienvenido al perfil de ".$row['username'];
echo endl;
switch($row['rango']) {
case 0: //administrador
echo "¿Sabías que ".$row['username']." es un administrador? ¡Ja! Apuesto a que no.";
echo endl;
break;
case 1: //moderador
echo "Supongo que sabías que era un moderador...¿no?";
echo endl;
break;
case 2: //donador
echo "Estoy seguro de que no sabías que había donado al foro!";
echo endl;
break;
case 3: //usuario importante(ha contribuido a la pagina)
echo "¿Sabías que el usuario ".$row['username']." es reconocido por haber contribuido";
echo " a la página?";
break;
default: //usuario normal
break;
}
echo "Puedes contactar a ".$row['username']." enviándole un mensaje privado o ";
echo "un email a ".$row['mail'];
}
}
?>
<?php
//librovisitas.php
session_start();
include("conexion.php");
define("endl","
");
if (!isset($_GET['id'])) {
echo "No se ha especificado un libro de visitas.";
echo endl;
} else {
if($_POST['text'] AND isset($_SESSION['userid'])) {
/*
Se envía un comentario a un libro de visitas
Confirmamos si están
*/
$comentario=$_POST['text'];
$autor=$_SESSION['userid'];
$libro=$_GET['id'];
$query="INSERT INTO librosdevisitas(usuario,mensaje,libro) values('$autor','$comentario','$libro')"
mysql_query($query);
header("Location: librovisitas.php?status=post_success&id=".$libro);
} else {
if (!isset($_SESSION['userid'])) {
echo 'Necesita estar registrado para poder ver los libros de visitas';
} else {
$id=$_GET['id'];
$query="SELECT * FROM usuarios WHERE id='$id'";
$query=mysql_query($query);
if ($row=mysql_fetch_array($query)) {
echo "Bienvenido al libro de visitas de ".$row['username'];
echo ".".endl;
?>
Deja un comentario...
<form action="librovisitas.php?id=<?php echo $id; ?>" method="POST">
<textarea rows="50" cols="50" name="text">
Inserta tu comentario....
</textarea>
<input type="submit" value="Enviar" />
</form>
<?
}
}
}
}
?>
Más tarde(o tal vez otro dia) incluyo como hacer el LOGIN, etcétera-