Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2010, 13:29
Avatar de djwall
djwall
 
Fecha de Ingreso: abril-2010
Ubicación: Argentina
Mensajes: 61
Antigüedad: 14 años, 6 meses
Puntos: 0
Busqueda Login PHP - Restringir

Bien, tengo un problemita con respecto a mi pagina web

Hace poco q estoy aprendiendo... va, mas que aprendiendo... seria descubriendo lo que es "PHP", "MYSQL".

Me costo mucho conseguir un .rar con los archivos de registro para mi web... ya que probe tablas tras tablas pero no pude hacerlas funcionar, un error mio... o tal vez de el que las posteo.
En fin... logre poner un sistema de registro y login en mi web, pero el problema es que quisiera saber como hacer para q cuando el usuario quiera ingresar a una seccion de mi web... tenga q hacer LOGIN.

Ya que tranquilamente se puede copiar la direccion de determinada seccion y entrar sin q haga falta registrarse o hacer login.

Aqui les dejo los archivos de sistema reg/log.

TABLA SQL____________________________________

CREATE TABLE usuarios(
`id` int( 4 ) NOT NULL AUTO_INCREMENT ,
`nombre` text,
`apaterno` text,
`amaterno` text,
`login` varchar( 40 ) NOT NULL ,
`password` varchar( 80 ) NOT NULL ,
`email` text,
UNIQUE KEY ( id )
);

FORMULARIO HTML______________________________________


<html><body>
<h1>SectorWeb.net</h1>
<form action="crea_usuarios.php" method="POST">
Login(nick): <input type="text" name="login"><br>
Password: <input type="password" name="pass1"><br>
Repite Password: <input type="password" name="pass2"><br>
Nombre: <input type="text" name="nombre"><br>
Apellido Paterno: <input type="text" name="apaterno"><br>
Apellido Materno: <input type="text" name="amaterno"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit" name="Crear">
</form>
</body></html>

Crea Usuarios.php______________________________________ ________


<?
// modificacion de codigo Xombra (www.xombra.com) 21/03/2009 para sectorweb.net
include("config.php"); /*Traemos el archivo config*/
/*Recibimos las variables por el metodo POST*/
$login = htmlspecialchars(trim($_POST['login']));
$pass1 = trim($_POST['pass1']);
$pass2 = trim($_POST['pass2']);
$nombre= htmlspecialchars(trim($_POST['nombre']));
$apaterno= htmlspecialchars(trim($_POST['apaterno']));
$amaterno= htmlspecialchars(trim($_POST['amaterno']));
$email = htmlspecialchars(trim($_POST['email']));
/*Hacemos la consulta */
// $query="SELECT * FROM usuarios WHERE login='$login'"; //ANTES

$link=mysql_connect($server,$dbuser,$dbpass);
$query = sprintf("SELECT login FROM usuarios WHERE usuarios.login='%s'", // Ahora
mysql_real_escape_string($login));
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)){
echo "El usuario ya existe en la BD";
} else {
mysql_free_result($result);
/* Ahora comprovamos que los dos pass coinciden */
if($pass1!=$pass2) {

echo "Los passwords deben coincidir";

echo 'Click <a href="form.html">aquÃ*</a> para volver al formulario';

} else {

/* Encriptamos "Ciframos" el password

// $pass1=crypt($pass2, "semilla"); // ANTES */

$pass1=sha1(md5($pass1)); // Ahora

/* $query="INSERT INTO usuarios (login, nombre, apaterno, amaterno, password, email) VALUES ('$login','$nombre','$apaterno', '$amaterno','$pass1','$email')"; */ // Antes

$query = sprintf("INSERT INTO usuarios (login, nombre, apaterno, amaterno, password, email) VALUES ('%s','%s','%s', '%s','%s','%s')", // Ahora
mysql_real_escape_string($login), mysql_real_escape_string($nombre),
mysql_real_escape_string($apaterno),mysql_real_esc ape_string($amaterno),
mysql_real_escape_string($pass1), mysql_real_escape_string($email));


$result=mysql_db_query($database,$query,$link);

if(mysql_affected_rows()){

echo "Usuario introducido correctamente";

} else {

echo "Error introduciendo el usuario";

} /* Cierre del else */

} /* Cierre del else que corresponde a if(mysql_affected_rows.....) */
} /* Cierre del else que corresponde a if(mysql_num_rows...) */
?>


Config.php________________________________________ ___________


<?
$server=""; /* Nuestro server mysql */
$database=""; /* Nuestra base de datos */
$dbpass=""; /*Nuestro password mysql */
$dbuser=""; /* Nuestro user mysql */
?>

Comprueba.php_____________________________________ ____________


<?php
session_start();
// modificacion de codigo Xombra (www.xombra.com) 21/03/2009 para sectorweb.net
include("config.php");
$login = htmlspecialchars(trim($_POST['login']));
$pass = sha1(md5(trim($_POST['pass']))); // encriptamos en MD5 para despues comprar (Modificado)
// $query="SELECT * FROM usuarios WHERE login='$login'"; Antes
$link=mysql_connect($server,$dbuser,$dbpass);

$query = sprintf("SELECT usuarios.login,
usuarios.nombre,
usuarios.apaterno,
usuarios.amaterno,
usuarios.email
FROM usuarios WHERE usuarios.login='%s' && usuarios.password = '%s'", // Ahora
mysql_real_escape_string($login),mysql_real_escape _string($pass));
$result=mysql_db_query($database,$query,$link);
// if(mysql_num_rows($result)==0){ // antes
if(mysql_num_rows($result)){ // nos devuelve 1 si encontro el usuario y el password

$array=mysql_fetch_array($result);
// if($array["password"]==crypt($pass,"semilla") ){ // Antes
/* Comprobamos que el password encriptado en la BD coincide con el password que nos han dado al encriptarlo. Recuerda usar semilla para encriptar los dos passwords. */
$_SESSION["login"]=$array["login"];
$_SESSION["nombre"]=$array["nombre"];
$_SESSION["apaterno"]=$array["apaterno"];
$_SESSION["amaterno"]=$array["amaterno"];
$_SESSION["email"]=$array["email"]; // Agrgado Nuevo
header("Location:user.php");
} else {
echo "Login o Password Incorrectos"; // Ahora
}

?>


Login.php_________________________________________ ______________


<?
session_start();
if(isset($SESSION)){
header("location:user.php"); /* Si ha iniciado la sesion, vamos a user.php */
} else {
/* Cerramos la parte de codigo PHP porque vamos a escribir bastante HTML y nos será mas cómodo así que metiendo echo's */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Identificaci&oacute;n </title>
</head>
<body>
<h1>SectorWeb.net</h1>
<h2>Identificaci&oacute;n </h2>
<form action="comprueba.php" method="POST" class="miform">
Login: <input type="text" name="login"><br>
Password: <input type="password" name="pass"><br><br>
<input type="submit" value="Entrar" class="boton">
</form>
</body></html>
<?
} /* Y cerramos el else */
?>


logout.php________________________________________ ______________


<?
session_start();
if(!isset($_SESSION["login"])){
header("location:login.php");
} else {
session_unset();
session_destroy();
echo "<h1>SectorWeb.net</h1>";
echo "Las variables de sesión han sido eliminadas, y la sesión se ha dado por finalizada correctamente da click <a href=\"login.php\">aqui para loguearte</a>";
}
?>


user.php__________________________________________ ______________



<?
session_start();
if(!isset($_SESSION["login"])){
header("location:login.php");
} else {
echo "<html><body>";
echo "<h1>SectorWeb.net</h1>";
echo "Bienvenido al Area de usurios: <strong>";
echo $_SESSION["nombre"]." ".$_SESSION["apaterno"]." ".$_SESSION["amaterno"]." ";
echo "</strong><br>Has entrado con el nick: <strong> ";
echo $_SESSION["login"];
echo "</strong><br>Para cerrar la sesión, pulsa: <a href='logout.php'>Aqui</a>";
echo "</body></html>".isset($_SESSION);
}
?>

y eso es todo!_____________________________________________ _________


ASI LO BAJE... obviamente luego edite lols titulos y esos pekeños detalles. Pero en base asi tal cual la tengo.



[URL=http://dc201.4shared.com/download/275431559/c4037f81/Nueva_carpeta__4_.rar?tsid=20100503-151156-bae98b4d'"]'http://dc201.4shared.com/download/275431559/c4037f81/Nueva_carpeta__4_.rar?tsid=20100503-151156-bae98b4d[/URL]


Desde ya... el o la que pueda ayudarme... LE AGRADECERE ENORMEMENTE.
Si no puedo encontrar la solucion creo que.. ya no voy a insistir mas Sinceramente me canse de googlear, y nada.

Saludos para todos!

WALTER DANIEL C.