Foros del Web » Programando para Internet » PHP »

Bloqueo de paginas

Estas en el tema de Bloqueo de paginas en el foro de PHP en Foros del Web. Hola a todos quisiera saber el codigo de bloquear algunas pagina web del sitio ya termine el login de usuarios y el registro. Cual es ...
  #1 (permalink)  
Antiguo 23/11/2008, 21:43
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Bloqueo de paginas

Hola a todos quisiera saber el codigo de bloquear algunas pagina web del sitio ya termine el login de usuarios y el registro.

Cual es el siguiente paso para bloquear las paginas y permitir que los usuarios que quieran verla tengan que registrarse.

Saludos

JS.
  #2 (permalink)  
Antiguo 23/11/2008, 21:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Bloqueo de paginas (urgente)

¿Revisaste el enlace que te había dado en tu otro tema? (http://www.forosdelweb.com/f18/error...3/#post2675358). Si así es, ¿trataste de implementarlo? ¿hubo algún fallo? .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 23/11/2008, 22:02
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Bloqueo de paginas (urgente)

Hola david trate de copiar lo que me mandastes ayer pero no lo entendi muy bien mira lo que paso o no se cual de la parte del codigo debo colocarle a las paginas que quiero bloquear. mira la pagina http://globalsourcellc.net/miembros.php

mira ver la pagina y me dices>

saludos y gracias

Última edición por jayopa; 23/11/2008 a las 22:10
  #4 (permalink)  
Antiguo 23/11/2008, 22:12
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Bloqueo de paginas (urgente)

http://www.forosdelweb.com/f18/aport...7/#post2303349. Fíjate en el archivo index.php, cómo está programado para mostrar un mensaje si el usuario ha iniciado sesión, y otro mensaje para cuando aún no lo ha hecho, la idea es esa, solo debes aplicarlo a tus páginas (Básicamente es solo un isset() para saber si existe la variable de sesión y listo).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 23/11/2008, 22:52
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Bloqueo de paginas

David no me funciona coloque esto mira a ver si es asi:

<?
session_start(); // recuerda de ponerlo siempre al prinsipio de cada pagina
if(!isset($_SESSION['login'])){
echo "No estas logeado.<a href='login.php'>Clic aqui para logearse</a> o <a href='registrar.php'>para registrase</a>";
} else {
echo "Hola ".$_SESSION['login'];
echo "<br><a href='logout.php'>Salir</a>";
}
?>

Aun con esto me sigue mostrando el contenido no veo que me este bloqueando nada.


saludos
JS
  #6 (permalink)  
Antiguo 23/11/2008, 22:56
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Bloqueo de paginas

Porque tienes que agregarle un EXIT o un DIE al script. Claro que se sigue ejecutando. Con eso solo imprimes un mensaje.
  #7 (permalink)  
Antiguo 23/11/2008, 23:02
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Bloqueo de paginas

y donde lo coloco en que parte del codigo.
sera asi
<?
session_start(); // recuerda de ponerlo siempre al prinsipio de cada pagina
if(!isset($_SESSION['login'])){
echo "No estas logeado.<a href='login.php'>Clic aqui para logearse</a> o <a href='registrar.php'>para registrase</a>";
} else {
echo "Hola ".$_SESSION['login'];
echo "<br><a href='logout.php'>Salir</a>";
}
session_destroy();
?>
  #8 (permalink)  
Antiguo 24/11/2008, 07:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Bloqueo de paginas

Coloque este codigo pero tengo un problema cuando me logueo me manda lam imos sitio de nuevo es como que no sabe donde verificar si el usuario existe.

<?
session_start();
if(!isset($_SESSION['s_username']))header("location: login.php");

?>

ahi lo mando a login.php cuando ingreso el user y passw me manda otra vez al mismo login.php es como que no me deja pasar.


gracias.
JS
  #9 (permalink)  
Antiguo 24/11/2008, 07:20
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Bloqueo de paginas

Estas registrando tu variable de SESSION con el nombre "s_username"? No era "login"?
  #10 (permalink)  
Antiguo 24/11/2008, 08:24
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Bloqueo de paginas

me volvi un solo lio como novato al fin en php.
a ver si me ayudas a construir el codigo de bloqueo por favor.
login.php contiene lo siguiente
td background="images/HP_bg2.jpg">&nbsp;
<div align="center" class="Estilo3">Inicio de Sesion </div>
<div align="center"></div>
<form action="validar_usuario.php" method="post">
<blockquote>
<p>Usuario:<span class="Estilo11">........</span>
<input type="text" name="usuario" size="20" maxlength="20" />
<br />
<br />
Password:<span class="Estilo11">......</span>
<input type="password" name="password" size="20" maxlength="20" />
<br />
<br />
<input type="submit" value="Ingresar" />
</p>
</blockquote>
<p>&nbsp;</p>
</form></td>

Luego el Validar_usuario

<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect(secureserver.net','xxxx','xxxx')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('jayopa')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities

$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$matricula = strtolower(htmlentities($HTTP_POST_VARS["matricula"], ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="miembros.php">Bienvenido Miembro de VxM</a></p>';

//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
/*Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">

location.href = "index.php";
</SCRIPT>*/
}else{
echo 'Password Incorrecto !! Intenta de Nuevo';

}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>

despues tengo logout.php
<?php
session_start();
// Borramos toda la sesion
session_destroy();
echo 'Ha terminado la session <p><a href="home.php">Home</a></p>';
?>
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>


y registrar.php

<?php

session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('xxxx.secureserver.net','xxxx','xxxx ')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('jayopa')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function formRegistro(){
?>
<div align="center" class="Estilo4">Registro de Usuarios <br />
<br />
<br />
<br />
</div>
<form action="registrar.php" method="post">
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<p><span class="Estilo4">Usuario (max 20):</span><span class="Estilo11">.........</span>
<input type="text" name="username" size="20" maxlength="20" />
<br />
<br />
<span class="Estilo4">Matricula (max 20)</span>:<span class="Estilo11">...... </span>
<input type="text" name="matricula" size="20" maxlength="20" />
<br />
<br />
<span class="Estilo4">Password (max 10):</span><span class="Estilo11">....</span>
<input type="password" name="password" size="20" maxlength="20" />
<br />
<br />
<span class="Estilo4">Confirma (max 10):</span><span class="Estilo12">......</span>
<input type="password" name="password2" size="20" maxlength="20" />
<br />
<br />
<span class="Estilo4">Email (max 40):</span><span class="Estilo11"> <br />
</span>
<input type="text" name="email" size="20" maxlength="40" />
<br />
<br />
<input type="submit" value="Registrar" />
</p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</form>
<?php
}
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["username"])) {
$username = $_POST["username"];
$matricula = $_POST["matricula"];
$password = $_POST["password"];
$password2 = $_POST["password2"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$matricula==NULL|$password==NUL L|$password2==NULL|$email==NULL) {
echo "un campo está vacio.";
formRegistro();
}else{
// ¿Coinciden las contraseñas?
if($password!=$password2) {
echo "Las contraseñas no coinciden";
formRegistro();
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0|$username_exist>0) {
echo "El nombre de usuario o la cuenta de correo estan ya en uso";
formRegistro();
}else{
$query = 'INSERT INTO usuarios (usuario, matricula, password, email, fecha)
VALUES (\''.$username.'\',\''.$matricula.'\',\''.$passwor d.'\',\''.$email.'\',\''.date("Y-m-d").'\')';
mysql_query($query) or die(mysql_error());
echo 'El usuario '.$username.' ha sido registrado de manera satisfactoria.<br />';
echo 'Ahora puede entrar ingresando su usuario y su password <br />';
?>
<FORM ACTION="validar_usuario.php" METHOD="post">
<blockquote>
<p><span class="Estilo4">Usuario :</span><span class="Estilo11">.......</span>
<INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20>
<br />
<br />
<span class="Estilo4">Password:.</span><span class="Estilo11">.....</span>
<INPUT TYPE="password" NAME="password" SIZE=20 MAXLENGTH=20>
<br />
<br />
<INPUT TYPE="submit" VALUE="Ingresar">
</p>
</blockquote>
</FORM>

<?php
}
}
}
}else{
formRegistro();
}
?>

ESO ES TODO AHORA NO ENTIENDO COMO CERRAR LA PAGINAS Y LUEGO CON ESE PEQUENO CODIGO COMO REALIZARIA LA VERIFICACION SI EL USUARIO EXISTE O NO??

SALUDOS Y MIL GRACIAS.

JS
  #11 (permalink)  
Antiguo 24/11/2008, 08:40
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Bloqueo de paginas

Weeepaaaaaa lo logre tenias razon era la variable.... Ahora otra pregunta. Quisiera mandar a desplegar todos los usuarios registrados en una tabla como lo haria ???

Gracias>> js
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 14:57.