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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Registro de usuarios sin base de datos MYSQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Registro de usuarios sin base de datos MYSQL  (Leído 31,181 veces)
maneno

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Registro de usuarios sin base de datos MYSQL
« Respuesta #20 en: 27 Marzo 2013, 18:45 pm »

buenas tardes, muy bueno el tema, justo estaba buscando algo asi, pero no me funciona, cree los archivos php, y todo y cuando los ejecuto, me muestra el codigo completo en pantalla y no hace nada mas.


En línea

Hackergmr

Desconectado Desconectado

Mensajes: 1


Comunitylive


Ver Perfil WWW
Re: Registro de usuarios sin base de datos MYSQL
« Respuesta #21 en: 3 Enero 2014, 21:33 pm »

Gracias amigo me sirvio de mucho pero enverdad quisiera el nuevo sistema de registro y login que publicastes pero no pusistes el link de donde se descarga porfa escrivelo.


En línea

Comunitylive
#Aitor

Desconectado Desconectado

Mensajes: 173



Ver Perfil
Re: Registro de usuarios sin base de datos MYSQL
« Respuesta #22 en: 4 Enero 2014, 00:54 am »

heheheh no había visto,
*No necesitas bases de datos, de donde sacas los datos? Archivo de texto es una base de datos por así decirlo.
*No necesitas saber códigos ni comandos SQL que quizás pueden ser un poco complejos, no son complejos ni difíciles, solo es cuestión de ESTUDIAR!
*Fácil de Crear, más fácil en MySQL
*Funciona Perfectamente, lo dudo, supongo que es más lento, prefiero MySQL o tan siquiera Access



Pues hazme uno en MYSQL y que funcione en mi@rroba.es ya que es muy facil hacerlo en SQL  :silbar:  :-* :-* :laugh:

Ya ves tú, te vas a un host más estable que mi@, de éstos que con dos clicks creas la base de datos y a tomar por culo.

Veo una bobada usar tanto código en almacenar texto, para eso se creó las bases de datos, que a ti te guste usarlo así y volver a inventar la rueda, me parece muy bien, es otra forma de hacerlo y otro punto de vista.

¿Qué sea viable? Por supuesto que no lo es...

¡Un saludo!
En línea

Mi algoritmo en PHP (estupideces y más).
Código
  1. while($Se_feliz){
  2.  Piensa_un_OBJETIVO(); // Sin excusas!
  3.  if($Tienes_un_objetivo){
  4.    Suspira(); // Sé paciente.
  5.    if($Consigues_el_objetivo){ echo "¡Felicidades #Aitor!";return;
  6.      //RETURN; ¿O volvemos a empezar?
  7.    }else{
  8.      Inténtalo_de_nuevo();
  9.    }
  10.  }
  11. }
jose1963ccs

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Registro de usuarios sin base de datos MYSQL
« Respuesta #23 en: 28 Noviembre 2014, 23:04 pm »

Hermano, tremendo trabajo has hecho! Mil gracias desde Caracas, Venezuela!
Nos gustaría que pronto no enviara una galeria de imagenes y documentos con php y mysql.
En línea

jacarvy

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Registro de usuarios sin base de datos MYSQL
« Respuesta #24 en: 21 Mayo 2021, 23:58 pm »

Saludos amigo , estoy probando sus códigos en una web que estoy haciendo sin base de datos sólo tal cual la específica usted, pero tengo un problema que no me pasa de ingreso.php me queda en blanco, a ver si tiene. algún código mal o falta algo. Gracias Atento a su repuesta y agradecido..
En línea

jacarvy

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Registro de usuarios sin base de datos MYSQL 2 parte
« Respuesta #25 en: 22 Mayo 2021, 00:38 am »


SALUDOS ESTOY USANDO ESTOS CODIGO PERO ME QUEDA EN INGRESO, AL INGRESAR Y ME QUEDA EN BLANCO ,NO ME ACCEDE A INDEX.PHP




Ahora nos toca hacer los archivos que van a permitir a nuestros usuarios conectarse, primero que nada vamos a hacer el formulario de ingreso, en este caso login.php.

Archivo login.php


Código
  1. <?php
  2. if($_SESSION) {
  3. header('Location:index.php');
  4. } else {
  5. ?>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  10. <title>Ingresa</title>
  11. </head>
  12.  
  13. <body>
  14. <form action="ingreso.php" method="post">
  15. <p>
  16. <label for="nombre">Nombre</label>
  17. <label for="campo1"><input type="text" name="nombre" value="" /></label>
  18. </p>
  19. <p>
  20. <label for="password">Password</label>
  21. <label for="campo2"><input type="password" name="pass" value="" /></label>
  22. </p>
  23. <p>
  24. <input type="submit" name="ingresar" value="Iniciar sesion"/></p>
  25. </form>
  26. </body>
  27. </html>
  28. <?php }?>
  29.  

Ahora necesitamos hacer ingresar a los usuarios, primero vamos a hacer un archivo aparte llamado entrarusuarios.php que va a tener la función para que nuestros usuarios se conecten.

Archivo entrarusuarios.php

*Crea un nuevo archivo y llámalo entrarusuarios.php.

*Como dije arriba, este archivo va a conectar a nuestros usuarios, tomando los datos del formulario (el nombre y el password) y buscando similares en nuestra base de datos.

*Una forma con la que trabajo PHP (No sé si es la correcta) es pensar que nosotros mismos estamos realizando las tareas, por ejemplo:
Supongamos que un usuario, llamado “usuarioa” te pide saber si esta registrado en tu fiesta, y tu usaste una cuaderno para anotar a los invitados con sus respectivas claves, cada invitado está en una hoja separada, ahora, para saber si el usuario esta registrado, divides el cuaderno en las diferentes hojas, buscas a un usuario cuyo nombre sea “usuarioa” y su clave sea “clavea”, en caso de que encuentres uno, le dices que si esta registrado, y en caso contrario le dices que no está registrado. Ahora el ejemplo anterior vamos a pasarlo a una función como la siguiente:

Código
  1. <?php
  2. /*
  3.  * ESTA ES LA FUNCION QUE ME HACE INGRESAR A LOS USUARIOS
  4.  */
  5. function conectar_usuarios($nombre_usuario, $password_usuario) {
  6. $RESULTADO = FALSE;
  7.  
  8. //VERIFICAMOS QUE NO ESTEN VACIOS, SI LO ESTAN DEVUELVE FALSE
  9. if($nombre_usuario == '' || $password_usuario == '') {
  10. $RESULTADO = FALSE;
  11. }
  12. $ubicacion_usuarios = 'Usuarios/usuarios.php';
  13. $contenido_usuarios = file_get_contents($ubicacion_usuarios);
  14. $array_todos_usuarios = explode('||', $contenido_usuarios);
  15. foreach ($array_todos_usuarios as $usuario_individual) {
  16. $datos_del_usuario = explode('|', $usuario_individual);
  17. if($nombre_usuario == $datos_del_usuario[2] && $password_usuario == $datos_del_usuario[3]) {
  18. $RESULTADO = TRUE;
  19. break;
  20. }//DEL IF
  21. }//DEL FOREACH
  22. return $RESULTADO;
  23. }
  24. ?>
  25.  
  26.  
  27.  


Archivo ingreso.php


*Este archivo va a ser el que le dé una determinada variable de Sesión a cada usuario conectado, es como si le diéramos una identificación a cada invitado para que entre a tu fiesta.
Crea un nuevo archivo php y llámalo ingreso.php, en el vas a comenzar colocando lo siguiente:

Código
  1. <?php
  2. /*
  3.  * VAMOS A INICIAR LA SESION, ESTO ES IMPORTANTE
  4.  */
  5. /*
  6.  * COMENZAMOS DEFINIENDO ALGUNAS VARIABLES
  7.  */
  8. $nombre = $_POST['nombre'];
  9. $password = $_POST['pass'];
  10. $md5_pass = md5($password);
  11. require_once 'entrarusuarios.php';
  12. /*
  13.  * AQUI DEFINIMOS NUESTRAS VARIABLES DE SESSION SI EL INGRSO ES CORRECTO
  14.  */
  15. if(conectar_usuarios($nombre, $md5_pass)) {
  16. $INGRESO_DE_SESION = TRUE;
  17. @session_register('nombre');
  18. @session_register('password');
  19. $_SESSION['nombre'] = "$nombre";
  20. $_SESSION['password'] = "$md5_pass";
  21. header('Location:index.php');
  22. } else {
  23. $INGRESO_DE_SESION = FALSE;
  24. echo "Login incorrecto, <a href='login.php'>intentalo otra vez</a>";
  25. }
  26. ?>
  27.  

*Cuando el usuario ingrese, va a ser llevado automáticamente al index donde va a poder ver contenido que es solo para usuarios registrados, vamos a ver como seria este archivo.

Archivo Index.php


*Abre un nuevo archivo y llámalo index.php, ahí vamos a tener: Tanto contenido para usuarios conectado como contenido para usuarios no conectados y también contenido para ambos tipos de usuarios.
Comenzamos al igual que los otros archivos, estableciendo la función de inicio de sesión.

Código
  1. <?php
  2. //VARIABLES PARA EL AVATAR
  3. $avatar = "Usuarios/avatar/".$_SESSION['nombre'].".png";
  4. if (!file_exists($avatar)) {
  5. $avatar = "Usuarios/avatar/default.png";
  6. }
  7. ?>
  8.  

*Luego de eso, vamos a agregar lo siguiente:

Código
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6. <title>Ingreso</title>
  7. </head>
  8. <body>
  9. <h1>Index</h1>
  10. <p>Este es contenido comun que va a poder ser visto por cualquier usuario</p>
  11. <?php
  12. if (empty($_SESSION)) {?>
  13. <div id="contenido">
  14. <h1>Este contenido es solo para usuarios registrados</h1>
  15. <p>Disculpa, pero no eres un usuario registrado o no has iniciado sesion</p>
  16. <p><a href="registrarse.php">Registrate</a> | <a href="login.php">Inicia Sesion</a></p>
  17. </div>
  18. <?php
  19. } else {
  20. ?>
  21. <div id="contenido">
  22. <h1>Contenido para usuarios registrados</h1>
  23. <h2>TU AVATAR ES</h2>
  24. <img src="<?php echo $avatar?>" alt="Tu Avatar" /><br />
  25. <a href="avatar.php">ADMINISTRAR AVATAR</a>
  26. <p>Este contenido lo ve quien este registrado</p>
  27. <p><?php echo $_SESSION['nombre'];?></p>
  28. <p><a href="logout.php">Cerrar sesion</a></p>
  29. </div>
  30. <?php }?>
  31. </body>
  32. </html>
  33.  

*Ahora el usuario quiere cerrar sesión, para eso proporcionamos un link en el index que lleva hasta la pagina “logout.php”, veamos que tiene esa página.

Código
  1.  
  2. <?php
  3. if(empty($_SESSION)) {
  4. header('Location: index.php');
  5. } else {
  6. header('Location:index.php');
  7. }
  8. ?>
  9.  





En línea

jacarvy

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Registro de usuarios sin base de datos MYSQL 1 primero
« Respuesta #26 en: 22 Mayo 2021, 01:11 am »

Paso 1: Creación del archivo donde se guardan los usuarios

*Arriba dijimos que no íbamos a usar bases de datos MySQL para almacenar a nuestros usuarios, sin embargo necesitamos un lugar donde guardar a los mismos, eso vamos a hacerlo de la siguiente manera:

*Crea una Nueva Carpeta llamada Usuarios, ahí crea un nuevo archivo PHP desde tu editor de código y añade lo siguiente a esa página:

Código
  1. <?php die('Disculpa, No puedes ver esta pagina!!')?>
  2.  
  3.  

*Es importante que dejes un salto de línea después del código de arriba.

*Guarda ese archivo como Usuarios.php, y lo que tenemos ahí es el archivo donde se van a guardar a los usuarios, el código que ves, simplemente evita que se recargue la pagina directamente para prevenir que cualquiera pueda ver los e-mails y los nombres de usuarios de tu web (el password va a estar cifrado).

Ya terminamos con la carpeta de usuarios, ahí no vas a agregar nada más.

Paso 2: Creación de la pagina con el formulario de ingreso

Crea una nueva página llamada registrarse.php, aquí vamos a colocar el formulario que va a permitir a los usuarios registrarse en nuestra página:

Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Registrate</title>
  6. </head>
  7.  
  8. <body>
  9. <h1>Registrate</h1>
  10. <form action="registro.php" method="POST">
  11. <p>
  12. <label for="nombre">*Nombre de Usuario</label>
  13. <label for="campo1"><input name="nombre" type="text" value=""/></label>
  14. </p>
  15. <p>
  16. <label for="email">*Email</label>
  17. <label for="campo2"><input name="email" type="text" value=""/></label>
  18. </p>
  19. <p>
  20. <label for="password">*Password</label>
  21. <label for="campo3"><input name="pass" type="password" value=""/></label>
  22. </p>
  23. <p>
  24. <label for="passwordrepe">Repite el Password</label>
  25. <label for="campo4"><input name="passrepet" type="password" value=""/></label>
  26. </p>
  27. <p>
  28. <input name="submit" type="submit" value="Registrarme"/>
  29. </p>
  30. </form>
  31. </body>
  32. </html>
  33.  

*Es importante que el “action”, el “method” y los “names” de los formularios NO varíen.


Paso 3: Creación del archivo que procesa el formulario


Es hora de crear uno de los archivos más complejos de nuestro sistema de ingreso, es el que procesa los datos del registro y realiza la inscripción de los usuarios en nuestro archivo usado como base de datos. Crea un nuevo archivo y llámalo como registro.php. Este archivo va a tener tres partes fundamentales:
1- Definición de constantes
2- Frenar el registro en caso de error
3- Registrar al usuario

Archivo de registro.php

Código
  1. <?php
  2. /*
  3.  * COMENZAMOS DEFINIENDO ALGUNAS VARIABLES
  4.  */
  5. $bd_usuarios = 'Usuarios/usuarios.php';
  6. $nombre = $_POST['nombre'];
  7. $email = $_POST['email'];
  8. $password = $_POST['pass'];
  9. $passwordrep = $_POST['passrepet'];
  10.  
  11. /*
  12.  * VAMOS A FRENAR EL REGISTRO SI EL ARCHIVO DE USUARIOS NO EXISTE
  13.  */
  14. if(!file_exists($bd_usuarios)){
  15. $error['noExiste'] = 'Disculpa, pero el archivo de base de datos de usuarios no existe';
  16. }
  17. /*
  18.  * AHORA FRENAMOS EL CASO EN QUE NO SEA ESCRIBIBLE EL ARCHIVO DE USUARIOS
  19.  */
  20. if(!is_writable($bd_usuarios)) {
  21. $error['noEscribe'] = 'Disculpa, pero el archivo de base de datos no admite escritura';
  22. }
  23. /*
  24.  * SI EL CAMPO NOMBRE ESTA VACIO GENERAMOS ERROR
  25.  */
  26. if(empty($nombre)) {
  27. $error['nombreVacio'] = 'Disculpa, debes escribir un nombre de usuario';
  28. }
  29. /*
  30.  * SI EL CAMPO EMAIL ESTA VACIO GENERAMOS ERROR
  31.  */
  32. if(empty($email)) {
  33. $error['emailVacio'] = 'Disculpa, debes escribir un email';
  34. }
  35. /*
  36.  * LOS ERRORES DEL PASSWORD, QUE ESTE VACIO O QUE NO COINCIDAN O QUE SEA MENOR A 4 CARACTERES
  37.  */
  38. if(empty($password)) {
  39. $error['passwordVacio'] = 'Disculpa, debes escribir un password';
  40. }
  41. elseif(strlen($password) <= 3) {
  42. $error['passwordCorto'] = 'Disculpa, el password debe ser de como minimo de 4 caracteres';
  43. }
  44. elseif($password != $passwordrep) {
  45. $error['passwordNoCoincide'] = 'Disculpa, los dos password deben coincidir';
  46. }
  47. /*
  48.  * AQUI CHECAMOS QUE EL EMAIL DE USUARIO NO EXISTA
  49.  */
  50. $contenido_verificacion = file_get_contents($bd_usuarios);
  51. $array_verificacion = explode('||', $contenido_verificacion);
  52. $cuento_los_usuarios = count($array_verificacion);
  53. for($i = 0; $i <= $cuento_los_usuarios; $i++) {
  54. $exploto_usuarios = explode('|', $array_verificacion[$i]);
  55. if($email == $exploto_usuarios[4]) {
  56. $error['EmailExistente'] = 'Disculpa, ese email ya ha sido registrado';
  57. }
  58. }
  59. /*
  60.  * AQUI CHECAMOS QUE EL NOMBRE NO EXISTA
  61.  */
  62. for($i = 0; $i <= $cuento_los_usuarios; $i++) {
  63. $exploto_usuarios = explode('|', $array_verificacion[$i]);
  64. if($nombre == $exploto_usuarios[2]) {
  65. $error['NombreExistente'] = 'Disculpa, ese nombre ya ha sido registrado';
  66. }
  67. }
  68. /*
  69.  * SI NO HAY ERROR, REGISTRAMOS EL USUARIO
  70.  */
  71. if(empty($error)) {
  72. $contenido_usuarios = file_get_contents($bd_usuarios);
  73. $array_usuarios = explode('||', $contenido_usuarios);
  74. $cuento_usuarios = count($array_usuarios);
  75. $abro = fopen($bd_usuarios, 'a+');
  76. fwrite($abro, filemtime($bd_usuarios)."|$cuento_usuarios|$nombre|".md5($password)."|$email||");
  77. fclose($abro);
  78. $mensaje = 'Usuario Registrado con Exito';
  79. }
  80. ?>
  81. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  82. <html xmlns="http://www.w3.org/1999/xhtml">
  83. <head>
  84. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  85. <title>Registrate</title>
  86. </head>
  87.  
  88. <body>
  89. <h1>Registrate</h1>
  90. <?php
  91. if($error) {
  92. foreach ($error as $advertencia){
  93. echo $advertencia;
  94. echo '<br />';
  95. }
  96. }
  97. if($mensaje) {
  98. echo $mensaje;
  99. }
  100. ?>
  101. </body>
  102. </html>
  103.  

Con estos archivos, vamos a tener listo el registro de los usuarios en nuestra página web, en el siguiente capítulo vamos a crear un archivo que permita a los usuarios iniciar sesión.
 ;-)

En línea

Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Por php se puede deshabilitar un registro de una base de datos??
PHP
gh1E 7 9,548 Último mensaje 17 Abril 2013, 22:50 pm
por gh1E
[Resuelto] mostrar mas de un registro de base de datos mysql en textarea
PHP
demonstrator 4 5,878 Último mensaje 7 Abril 2015, 22:13 pm
por demonstrator
[Ayuda] Usuarios y Contraseñas en base de datos sql server
Bases de Datos
kamykaze 4 5,935 Último mensaje 13 Junio 2015, 04:01 am
por kamykaze
[Pregunta]: Eliminar un sólo registro de mi base de datos
Desarrollo Web
Leguim 3 2,327 Último mensaje 4 Agosto 2019, 04:27 am
por Leguim
java validar registro base de datos mysql
Java
silk_25 1 3,144 Último mensaje 30 Enero 2022, 22:56 pm
por silk_25
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines