Foros del Web » Programando para Internet » PHP »

PHP OO sistema de validacion de login obsoleta

Estas en el tema de sistema de validacion de login obsoleta en el foro de PHP en Foros del Web. Buenos dias, hace tiempo consegui un codigo que me permitia validar login y a la vez enviar al usaurio a diferentes paginas, cada usaurio tenia ...
  #1 (permalink)  
Antiguo 10/11/2014, 08:31
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
sistema de validacion de login obsoleta

Buenos dias, hace tiempo consegui un codigo que me permitia validar login y a la vez enviar al usaurio a diferentes paginas, cada usaurio tenia un valor "permiso" lo leia para elegir a que pagina enviarlo, el problema es, con la nueva vwerison de php ya no sirve, trate de arreglarlo cambiando las partes obsolestas como, el HTTP_POST_VARS por $_POST y quitando el mensaje de deprecated del archivo de conexion "error_reporting(E_ALL ^ E_DEPRECATED);" pero aun no puedo hacerlo funcionar, aqui pido ayuda para arreglarlo si no es mucho pedir

Pagina de login
Código PHP:
Ver original
  1. <?php
  2. ?>
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Documento sin título</title>
  7. </head>
  8.  
  9.  
  10. <body>
  11. <h1>Formulario </h1>
  12. <?
  13. if ($_GET["errorusuario"]=="si"){?>
  14. <font color="red"><b>Datos incorrectos</b></font>
  15. <?
  16. }
  17. else{?>
  18. Introduce tu nombre de usuario y clave
  19. <?
  20. }?>
  21. <form action="controlA.php" method="POST">
  22. <table border="0">
  23. <tr><td>Nombre de usuario:</td><td><input name="usuario" size="25" value=""/></td></tr>
  24. <tr><td>Clave:</td><td><input name="contrasena" size="25" type="password"/></td></tr>
  25. <tr><td/><td><input type="submit" value="Inicio"/></td></tr>
  26. </table>
  27. </form>
  28. Para ingresar <b>pedro</b> en el 1er campo y <b>123</b> en el 2do. <br>
  29. Para ingresar <b>juan</b> en el 1er campo y <b>444</b> en el 2do para entrar en el menu segundo.
  30. </body>
  31. </html>

Validador
Código PHP:
Ver original
  1. <?php require_once('conexion.php')  ?>
  2. <?php
  3. mysql_select_db($database_prueba, $prueba);
  4. $query_Recordset1 = "SELECT * FROM usuarios WHERE nombre = '".$_POST['usuario']."' and clave='".$_POST['contrasena']."'" ;
  5. $Recordset1 = mysql_query($query_Recordset1, $prueba) or die(mysql_error());
  6. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  7. $totalRows_Recordset1 = mysql_num_rows($Recordset1);
  8.  
  9. ?>
  10. <title>control de login </title>
  11. <?
  12. //recuperar usuario
  13. $usuario = $row_Recordset1['nombre'];
  14. $permiso = $row_Recordset1['permiso'];
  15. //iniciamos sesion
  16. //asignamos variables de sesion
  17.  
  18. $_SESSION['usuario']=$usuario;
  19. $_SESSION['permiso']=$permiso;
  20. //si la ejecución de la sentencia SQL nos da algún resultado
  21. //si existe la conbinación usuario/contraseña se da acceso
  22. if ($totalRows_Recordset1!=0){
  23.     //usuario y contraseña válidos
  24.   switch ($row_Recordset1['permiso']) {
  25.    case 1:
  26.         header ("Location: menu1.php");
  27.         break;
  28.    case 2:
  29.         header ("Location: menuform/menu2.php");
  30.         break; 
  31.     }
  32. }else {
  33.     //si no existe le mando otra vez a la portada
  34.     header("Location: login.php?errorusuario=si");
  35. }
  36. ?>
  37. <?php
  38. mysql_free_result($Recordset1);
  39.  
  40. ?>

Conexion
Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL ^ E_DEPRECATED);
  3. $hostname_prueba = "localhost";
  4. $database_prueba = "baseprueba";
  5. $username_prueba = "root";
  6. $prueba = mysql_pconnect($hostname_prueba, $username_prueba) or die(mysql_error());
  7. ?>
  #2 (permalink)  
Antiguo 10/11/2014, 08:45
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 15 años, 7 meses
Puntos: 7
Respuesta: sistema de validacion de login obsoleta

prueba colocando @ antes de la variable prueba:

Código PHP:
Ver original
  1. $prueba = mysql_pconnect($hostname_prueba, $username_prueba) or die(mysql_error());

de igual manera, deberias orientarlo un poco mas a POO y tampoco entiendo porque cierras y abres etiquetas PHP en un mismo script, de igual manera tiene el mismo funcionamiento.

Código PHP:
Ver original
  1. <?php require_once('conexion.php')  ?>
  2. <?php
  #3 (permalink)  
Antiguo 10/11/2014, 09:12
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: sistema de validacion de login obsoleta

Código PHP:
Ver original
  1. @$prueba = mysql_pconnect($hostname_prueba, $username_prueba) or die(mysql_error());

algo asi?


y para ser honesto no se que es POO
  #4 (permalink)  
Antiguo 10/11/2014, 09:17
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 9 años, 6 meses
Puntos: 12
Respuesta: sistema de validacion de login obsoleta

Cita:
Iniciado por jmfmagnum Ver Mensaje
Código PHP:
Ver original
  1. @$prueba = mysql_pconnect($hostname_prueba, $username_prueba) or die(mysql_error());

algo asi?


y para ser honesto no se que es POO

Hola jmfmagnum.
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento

Saludos.
__________________
http://www.sp-vision.net
  #5 (permalink)  
Antiguo 10/11/2014, 10:47
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: sistema de validacion de login obsoleta

Cita:
Iniciado por mauritosuarez Ver Mensaje
Hola jmfmagnum.
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento

Saludos.
en corto.... lo que he estado haciendo , bueno no usaba la sigla en el instituto

y volviendo al tema, alguna ayuda por favor?, el consejo que recibi no logro cambios
  #6 (permalink)  
Antiguo 10/11/2014, 10:51
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 15 años, 7 meses
Puntos: 7
Respuesta: sistema de validacion de login obsoleta

Pon de nuevo el @ en la linea que te da el error, ahi deberia funcionarte, igualmente trata de actualizar tu codigo, recuerda que puede ser inseguro, es por esto que se realizan las actualizaciones de PHP.
  #7 (permalink)  
Antiguo 10/11/2014, 11:03
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: sistema de validacion de login obsoleta

Cita:
Iniciado por andres_15_ Ver Mensaje
Pon de nuevo el @ en la linea que te da el error, ahi deberia funcionarte, igualmente trata de actualizar tu codigo, recuerda que puede ser inseguro, es por esto que se realizan las actualizaciones de PHP.
error no me da...solo no funciona por el ejemplo el login, que deberia mostrar el mensaje de error despues de haer login incorrecto...pone el mensaje mostrando que el sistema de validar no sirve, y cuando trato hacer login, en vez de redirigir no hace nada, trato de actualizar pero no se que cambiar...
  #8 (permalink)  
Antiguo 10/11/2014, 11:21
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: sistema de validacion de login obsoleta

Que versión de php estas usando ??
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #9 (permalink)  
Antiguo 10/11/2014, 12:38
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: sistema de validacion de login obsoleta

Cita:
Iniciado por hhs Ver Mensaje
que versión de php estas usando ??
5.5.12
  #10 (permalink)  
Antiguo 10/11/2014, 22:37
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: sistema de validacion de login obsoleta

bueno, hize una prueba con "mysqli_connect" y nada, creo el que codigo en si no tiene version para phph 5.5 no seria problema si en mi instituto usaran una version mas antigua de php
  #11 (permalink)  
Antiguo 11/11/2014, 09:13
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: sistema de validacion de login obsoleta

actualizacion, logre hacerlo funcionar a medias con java script
quite le php del formulario login y hize estos cambios en el validador

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <script>
  4.     function esta(){
  5.         alert("hola...");
  6.         window.location = "menu1.php";
  7.     }
  8.    
  9.            
  10.     function esta1(){
  11.         alert("hola user 2...");
  12.         window.location = "menuform/menu2.php";
  13.     }  
  14.    
  15.     function noesta(){
  16.         alert("Cliente no existe...");
  17.         window.location = "login.php";
  18.             }          
  19. </script>
  20. </head>
  21. <body>
  22. <?php require_once('conexion.php')  ?>
  23. <?php
  24. mysql_select_db($database_prueba, $prueba);
  25. $query_Recordset1 = "SELECT * FROM usuarios WHERE nombre = '".$_POST['usuario']."' and clave='".$_POST['contrasena']."'" ;
  26. $Recordset1 = mysql_query($query_Recordset1, $prueba) or die(mysql_error());
  27. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  28. $totalRows_Recordset1 = mysql_num_rows($Recordset1);
  29.  
  30. ?>
  31. <title>control de login </title>
  32. <?
  33. //recuperar usuario
  34. $usuario = $row_Recordset1['nombre'];
  35. $permiso = $row_Recordset1['permiso'];
  36. //iniciamos sesion
  37. //asignamos variables de sesion
  38.  
  39. $_SESSION['usuario']=$usuario;
  40. $_SESSION['permiso']=$permiso;
  41. //si la ejecución de la sentencia SQL nos da algún resultado
  42. //si existe la conbinación usuario/contraseña se da acceso
  43. if ($totalRows_Recordset1!=0){
  44.     //usuario y contraseña válidos
  45.   switch ($row_Recordset1['permiso']) {
  46.    case 1:
  47.         echo '<script>esta()</script>';
  48.         break;
  49.    case 2:
  50.        echo '<script>esta1()</script>';
  51.         break; 
  52.     }
  53. }else {
  54.     //si no existe le mando otra vez a la portada
  55.     echo '<script>noesta()</script>';
  56. }
  57. ?>
  58. <?php
  59. mysql_free_result($Recordset1);
  60.  
  61. ?>
  62. </body>
  63. </html>

porque a medias?, porque por alguna razon el validador ignora el "case 1" y siempre ejecuta el case 2 que es le segundo script que envia a otra pagina, a pesar que la bd tiene un valor "1" en permiso el que deberia leer para enviar a "menu1.php" pero lo ignora, y no puedo encontrar el error :C
  #12 (permalink)  
Antiguo 11/11/2014, 14:16
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: sistema de validacion de login obsoleta

aun sin solucion, ayuda por favor

Etiquetas: formulario, html, login, mysql, select, sistema, sql, usuarios, validacion, variable
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 10:17.