elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Duda sobre reconocimiento de URL de un usuario en concreto!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre reconocimiento de URL de un usuario en concreto!  (Leído 3,549 veces)
jen_

Desconectado Desconectado

Mensajes: 6


Programador web.


Ver Perfil
Duda sobre reconocimiento de URL de un usuario en concreto!
« en: 3 Abril 2015, 00:31 am »

Hola a todos, mirad, si os soy sincero estoy algo desesperado ya que llevo como 3 horas intentando averiguar cómo hacerlo pero ni a patadas consigo, veréis, hace una temporada que empecé con PHP y estoy en el desarrollo de una web dinámica y mi intención es un proyecto de instituto que es basado en un login, registro, mensajes privados y todo ese rollo, (esa parte ya la tengo hecha) pero al tema que os traigo es que, aún no me entra en la cabeza de qué forma puedo hacer para que cuando un usuario se registre le aparezca tipo /user?id=2938 y luego pueda personalizarlo a un simple /nombredeusuario, no sé si me entendéis, he probado muchas cosas pero no puedo, habréis notado que el usuario es nuevo, me acabo de registrar, no sabía a quién acudir, os dejo parte de mi código del login y del registro a ver qué se os ocurre, un saludo y gracias.

r.php
Código
  1. <?php
  2.  
  3.    # configuración principal de registro
  4.  
  5.    session_start();
  6.    include_once ('config/connection_hex.php');
  7.  
  8.    function check__mail ($user__check_val__) {
  9.        if (!ereg('^([a-zA-Z0-9._]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})$', $user__check_val__)) {
  10.            return FALSE; }
  11.  
  12.            else { return TRUE; }
  13.    }
  14.  
  15.  
  16.    # configuración primaria
  17.    # recolocación de valores en variables
  18.  
  19.    $name = $_POST['firstname'];
  20.    $emai = $_POST['reg_email__'];
  21.    $token = $_POST['reg_token__'];
  22.    $reg_date__ = date('Y-m-d');
  23.  
  24.  
  25.    # comprobación de si el usuario existe
  26.  
  27.    $nw__usr = mysql_query ("SELECT reg_email__ from usuarios WHERE reg_email__ = '$emai'");
  28.        if (mysql_num_rows($nw__usr) >0 ) {
  29.            echo 'El email ya est&aacute; en uso.'; }
  30.  
  31.    else {
  32.  
  33.    $nw__tok = mysql_query ("SELECT reg_token__ from usuarios WHERE reg_token__ = '$token'");
  34.        if (mysql_num_rows($nw__tok) >0 ) {
  35.            echo 'El token ya est&aacute; asignado.'; }
  36.  
  37.    else {
  38.  
  39.       if(isset($_POST['register'])) # al pulsar el valor del 'submit' declarado como 'register' que haga:
  40.    {
  41.        if($_POST['wp_stamp__'] == '2'){ echo 'No puedes hacer esto.'; } else {
  42.  
  43.        if($_POST['firstname'] == '') { echo 'Nombre?'; } else {
  44.  
  45.        if($_POST['lastname'] == '') { echo 'Apellidos?'; } else {
  46.  
  47.        # si los campos siguientes están vacíos mandar 'echo'
  48.        if($_POST['reg_email__'] == '' or $_POST['reg_email_confirmation__'] == '' or $_POST['reg_passwd__'] == '') { echo 'Email, repite email y contrase&ntilde;a'; } else {
  49.  
  50.        if($_POST['sex'] == '0'){ echo 'Debes definir un sexo.'; } else {
  51.  
  52.        $sql_selector__ = 'SELECT * FROM usuarios';
  53.        $r__load_data = mysql_query($sql_selector__);
  54.        $check__user___ = 0
  55.  
  56.        while($result = mysql_fetch_object($r__load_data)) {
  57.  
  58.            if ($result ->usuario == $_POST['reg_email__']) {
  59.                $check__user___ = 1; }
  60.        }
  61.  
  62.  
  63.        if ($check__user___ == 0)
  64.        {
  65.  
  66.            if ($_POST['reg_email__'] == $_POST['reg_email_confirmation__']) {
  67.  
  68.                $firstname = utf8_decode($_POST['firstname']);
  69.                $lastname = utf8_decode($_POST['lastname']);
  70.                $usuario = utf8_decode($_POST['reg_email__']);
  71.                $reg_passwd__ = d5(sha1($_POST['reg_passwd__']));
  72.                $reg_date__ = utf8_decode($_POST['reg_date__']);
  73.  
  74.                $birthday_day = $_POST['birthday_day'];
  75.                $birthday_month = utf8_decode($_POST['birthday_month']);
  76.                $birthday_year = $_POST['birthday_year'];
  77.  
  78.                $sex = utf8_decode($_POST['sex']);
  79.  
  80.                $term = $_POST['terms'];
  81.  
  82.                $reg_token__ = $_POST['reg_token__'];
  83.                $locale = $_POST['locale'];
  84.                $wp_stamp__ = $_POST['wp_stamp__'];
  85.  
  86.                $timezone = $_POST['timezone'];
  87.  
  88.                $sql_selector__ = "INSERT INTO usuarios (firstname, lastname, reg_email__, reg_passwd__, reg_date__, birthday_day, birthday_month, birthday_year, sex, reg_token__, locale, terms, wp_stamp__, timezone) VALUES ('$firstne', '$lastname', '$usuario', '$reg_passwd__', '$reg_date__', '$birthday_day', '$birthday_month', '$birthday_year', '$sex', '$reg_token__', '$locale', '$terms', '$wp_stamp__', '$timezone')";
  89.                mysql_query ($sql_selector__);
  90.                echo 'Te has registrado correctamente.'; }
  91.  
  92.  
  93.            else {
  94.                echo 'Las contraseñas no coinciden.'; }
  95.        }
  96.  
  97.  
  98.        else {
  99.            echo 'Este usuario no está disponible.'; }
  100.        }
  101.    }
  102. }}}}}}

Login.php
Código
  1. <?php
  2. session_start(); # iniciamos la sesión
  3. require_one('connection.php');
  4.  
  5. class rester
  6. {
  7. public function index() # esta función se encarga de comprobar si existe el usuario en la base de datos
  8. {
  9. # recoger las variables POST del formulario
  10. $email = mysql_real_escape_string$_POST['reg_email__']);
  11. $passwd = md5(sha1(mysql_real_escape_string($_POST['reg_passwd__'])));
  12.  
  13.                # realización de la consulta SQL
  14. # colocación de mysql_real_scapestring para evitar inyecciones
  15.    $query = "SELECT * FROM usuarios WHERE reg_email__='".$email."' AND reg_passwd__='".$passwd."';";
  16.  
  17. # ejecutar la consulta y guardar el resultado en la variable $result_cons
  18. $result_cons = mysql_query($quer,Connect::conn());
  19.  
  20. if($reg=mysql_fetch_array($result_cns))
  21. {
  22. $_SESSION['firstnam'] = $reg['firstname'];
  23. header("Location:home.php");
  24. }else{
  25. header("Location:index.php?login_attempt=1);
  26.  
  27.  
  28.  
  29.  
  30. ?>
[/


« Última modificación: 3 Abril 2015, 19:50 pm por marcopolo129 » En línea

T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: Duda sobre reconocimiento de URL de un usuario en concreto
« Respuesta #1 en: 3 Abril 2015, 01:04 am »

Busca mod_rewrite
http://www.sitepoint.com/guide-url-rewriting/


En línea

jen_

Desconectado Desconectado

Mensajes: 6


Programador web.


Ver Perfil
Re: Duda sobre reconocimiento de URL de un usuario en concreto
« Respuesta #2 en: 3 Abril 2015, 19:18 pm »

No me ayuda teo, ya me informé sobre eso pero no me ayuda, no estoy pidiendo que me den el código ya hecho, sólo un por donde puedo empezar, y darme algunas ideas de la estructuración en la que me puedo basar para hacerlo.  :huh:
En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: Duda sobre reconocimiento de URL de un usuario en concreto!
« Respuesta #3 en: 3 Abril 2015, 20:22 pm »

Amigo la solución que te dieron es la correcta, eso se hace con mod_rewrite en el archivo .htaccess

Ejemplo:
Código
  1. RewriteRule ^user/([a-zA-Z0-9]+)/$ user.php?id=$1 [L,NC]

Así, conviertes las direcciones como user/3/ en user.php?id=3

Espero que te ayude.

Saludos!

Edito:
Se me olvidó comentarte que significa lo de [L,NC]. Se les denominan Flags (por si quieres buscar más sobre el tema).
L (Last Rule) deja de leer las demás reglas al cumplirse esta.
NC es para que le de igual si son mayúsculas o minúsculas.
« Última modificación: 3 Abril 2015, 21:41 pm por Alex_bro » En línea

jen_

Desconectado Desconectado

Mensajes: 6


Programador web.


Ver Perfil
Re: Duda sobre reconocimiento de URL de un usuario en concreto!
« Respuesta #4 en: 3 Abril 2015, 20:49 pm »

Gracias por intentar echarme una mano, pero me gustaría saber cómo hago para que se cree ese id?=numerodeusuario, y separar un perfil de otro, lo he intentado de una forma, pero al guardar los cambios de algún usuario, por ejemplo, de la localización o los apellidos, todos los tblApellidos se cambiaban, todos los de la tabla 'usuarios'...
En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: Duda sobre reconocimiento de URL de un usuario en concreto!
« Respuesta #5 en: 3 Abril 2015, 21:03 pm »

Crea en la base de datos una columna en la tabla de los usuarios que se llame "id" y marca auto_increment, de esa forma, cada vez que hagas un INSERT... se creará ese id incrementando en uno cada vez.

Al usar UPDATE tienes que especificar ese id en el WHERE para que no se modifiquen todos los registros de la tabla como comentas.

Ejemplo:
Código
  1. UPDATE usuarios SET name = 'Pepe' WHERE id = '3'

Saludos.
« Última modificación: 3 Abril 2015, 21:41 pm por Alex_bro » En línea

jen_

Desconectado Desconectado

Mensajes: 6


Programador web.


Ver Perfil
Re: Duda sobre reconocimiento de URL de un usuario en concreto!
« Respuesta #6 en: 3 Abril 2015, 21:12 pm »

Sí, ya tenía creada la columna 'id', pero mi pregunta sería: ¿cómo hago para que al poner por ejemplo user.php?id=xx salga el número del usuario y me aparezcan sus datos, añado que los datos los saco con el $_SESSION.
Un saludo.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Duda sobre reconocimiento de URL de un usuario en concreto!
« Respuesta #7 en: 3 Abril 2015, 21:38 pm »

Sí, ya tenía creada la columna 'id', pero mi pregunta sería: ¿cómo hago para que al poner por ejemplo user.php?id=xx salga el número del usuario y me aparezcan sus datos, añado que los datos los saco con el $_SESSION.
Un saludo.

Si id = numero de usuario puedes sacar la informacion directamente de ahi:

Código
  1. $id = (int) $_GET['id']; //Numero de usuario

Para sacar la informacion:

Código
  1. $sql = "SELECT * FROM tabladeusuarios WHERE id = $id";
En línea

jen_

Desconectado Desconectado

Mensajes: 6


Programador web.


Ver Perfil
Re: Duda sobre reconocimiento de URL de un usuario en concreto!
« Respuesta #8 en: 4 Abril 2015, 01:19 am »

Gracias por la idea, le echaré un vistazo a ver si funciona como quiero, muchas gracias, responderé cuando acabe, saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda sobre mi usuario.
Sugerencias y dudas sobre el Foro
newbie Rr 4 2,714 Último mensaje 12 Febrero 2005, 06:01 am
por ElficO
Duda reconocimiento de voz c++
Programación C/C++
L0R0 6 9,120 Último mensaje 29 Julio 2014, 19:08 pm
por Eternal Idol
Duda sobre guardar datos en cada usuario en php « 1 2 ... 6 7 »
PHP
::: Devil ::: 65 20,541 Último mensaje 16 Julio 2014, 22:05 pm
por ::: Devil :::
Duda bypass firewall(caso concreto)
Hacking
edwarrow 9 5,391 Último mensaje 18 Mayo 2017, 09:35 am
por edwarrow
Duda sobre las estadísticas de usuario
Sugerencias y dudas sobre el Foro
crazykenny 2 4,828 Último mensaje 8 Abril 2020, 22:03 pm
por crazykenny
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines