Foros del Web » Programando para Internet » PHP »

php por defecto

Estas en el tema de php por defecto en el foro de PHP en Foros del Web. Hola. He creado un sistema de sesiones para entrar a un html detrminado poniendo tu usuario y contraseña... y en la direccion de la pagina ...
  #1 (permalink)  
Antiguo 26/12/2010, 08:03
 
Fecha de Ingreso: noviembre-2010
Mensajes: 101
Antigüedad: 14 años
Puntos: 0
php por defecto

Hola.

He creado un sistema de sesiones para entrar a un html detrminado poniendo tu usuario y contraseña... y en la direccion de la pagina cuando pones:

www.pagina.com/?= (y aqui va el usuario)

por ejemplo:
www.pagina.com/?=manolito
www.pagina.com/?=lalala22
...

Cuando alguien desde fuera busca esas paginas se les abre las de esos usuarios.

Lo que yo digo es ¿que pasa si pongo: www.pagina.com/?=cucucu
y el usuario cucucu no existe??

a ese que busca, le puedo mandar a otra pagina por defecto?
  #2 (permalink)  
Antiguo 26/12/2010, 08:47
Avatar de viniarm  
Fecha de Ingreso: diciembre-2010
Ubicación: Villarreal, Castellon
Mensajes: 30
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: php por defecto

Para ello tendras que usar php, debiendole indicar mas que nada que si se intenta acceder directamente al usuario poniendole la url pasandose la capa de autentificacion pues que no le deje o le de error. para ello puedes escribir algo asi:

if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
$autentificado = "SI";
header ("Location: aplicacion.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}

Si la variable autentificado recibe un SI dejara acceder al usuario a su cuenta, es decir, si el usuario escribe su usuario y contraseña accedera, si no lo hace y intenta acceder automaticamente no. errorusuario es una variable que contiene un mensaje de error, si recibe un SI devolvera ese mensaje y redirijira al usuario a la pagina principal.
  #3 (permalink)  
Antiguo 26/12/2010, 09:45
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: php por defecto

session_register es una función obsoleta desde php 5.3, lo recomendable es utilizar $_SESSION
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #4 (permalink)  
Antiguo 26/12/2010, 09:56
 
Fecha de Ingreso: noviembre-2010
Ubicación: Venezuela - Caracas
Mensajes: 103
Antigüedad: 14 años
Puntos: 0
Respuesta: php por defecto

Efectivamente, la funcion sessio_register, se dejo de utilizar, y como actualmente los hosting tienen una version actualizada de php ( no digo que todos, si no la mayoria ) la funcion correcta es $_SESSION['NombreDelaSession']...

Saludos
__________________
SI SABES PHP Y MYSQL LO PUEDES TODO =)
  #5 (permalink)  
Antiguo 26/12/2010, 10:58
 
Fecha de Ingreso: noviembre-2010
Mensajes: 101
Antigüedad: 14 años
Puntos: 0
Respuesta: php por defecto

Cita:
Iniciado por viniarm Ver Mensaje
Para ello tendras que usar php, debiendole indicar mas que nada que si se intenta acceder directamente al usuario poniendole la url pasandose la capa de autentificacion pues que no le deje o le de error. para ello puedes escribir algo asi:

if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
$autentificado = "SI";
header ("Location: aplicacion.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}

Si la variable autentificado recibe un SI dejara acceder al usuario a su cuenta, es decir, si el usuario escribe su usuario y contraseña accedera, si no lo hace y intenta acceder automaticamente no. errorusuario es una variable que contiene un mensaje de error, si recibe un SI devolvera ese mensaje y redirijira al usuario a la pagina principal.
Hola . gracias por la ayuda.

Pero te refieres a si alguien entra autentificándose con usuario y contraseña ¿no?
Yo digo si alguien externo (sin autentificarse) intenta ver el perfil de un usuario poninedo la url y el nombre al final... pero sin haber hecho un session_start.

Algo como lo que hace twitter si intento buscar con url un usuario "pirpipiriri" que no existe:

http://twitter.com/pirpipiriri

Quizás, ¿sería un php al inicio de la pagina... buscando en la base de datos si existe o no el usuario?
  #6 (permalink)  
Antiguo 26/12/2010, 11:16
Avatar de viniarm  
Fecha de Ingreso: diciembre-2010
Ubicación: Villarreal, Castellon
Mensajes: 30
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: php por defecto

No, me refiero a como tu dices, es decir, si por ejemplo pusiera yo el nombre de usuario despues de la url sin pasar por la pagina de login queriendo entrar directamente. En el codigo que te he puesto antes se declara una variable "autentificado" que cuando el usuario se registra recibe un SI y si no lo hace pues no. dependiendo del resultado que capta esa variable accedera a su cuenta o le saldra un mensaje de error denegandole el servicio.
Ah, y como bien han dicho maycolalvarez y andrexx sesion_register era para versiones antiguas de php jejeje. graxx
  #7 (permalink)  
Antiguo 26/12/2010, 11:32
 
Fecha de Ingreso: noviembre-2010
Mensajes: 101
Antigüedad: 14 años
Puntos: 0
Respuesta: php por defecto

gracias viriarm! entonces lo voy a probar y os cuento...
  #8 (permalink)  
Antiguo 26/12/2010, 11:48
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: php por defecto

lo que que quieres hacer es sobreescribir la url, en lo que se conoce como url amigables en donde puedes ocultar de la url los caracteres propios para serializar variables reemplazándolas por url estéticamente más simples.

de igual forma debes de hacer una búsqueda para verificar que existe dicho perfil, de lo contrario muestras un mensaje de anuncio o redireccionas a un HTTP 404
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: defecto
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 21:37.