Foros del Web » Programando para Internet » PHP »

Problemas para loguerame

Estas en el tema de Problemas para loguerame en el foro de PHP en Foros del Web. Hola, estoy con un trabajo de un carrito de compras de libros. La verdad no se mucho de PHP, o quizás nada seria lo correcto. ...
  #1 (permalink)  
Antiguo 16/03/2011, 15:37
 
Fecha de Ingreso: febrero-2011
Mensajes: 18
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta Problemas para loguerame

Hola, estoy con un trabajo de un carrito de compras de libros. La verdad no se mucho de PHP, o quizás nada seria lo correcto. He encontrado un código que funciona a la perfeccion para lo que necesito. Tiene una parte en donde se pueden ir viendo los libros, luego seleccionarlos para agregarlos al carrito; y tiene también una parte “administrativa”, en donde un usuario puede acceder por medio de clave y password, para hacer modificaciones de precio, agregar o sacar libros, etc. Todo esto funciona a las mil maravillas, bah o funcionaba.
El primer problema que me encontré fue que al subirlo al hosting donde va a estar alojado, no funcionaba nada. Yo lo probaba en mi pc en donde tengo instalado el servidor Apache, y funcionaba perfecto. No sabia porque pero después de consultas en varios foros, la solución estaba en que en el hosting el “register_globals” estaba en “Off”, mientras que yo lo tenia en configurado en mi pc en “On”por lo que empeze a cambar las variables a superglobales, y asi comenzó a funcionar todo nuevamente.
Iba probando parte a parte y haciendo los cambios que eran necesarios. Pero al llegar a la parte “administrativa”, el problema esta que ya no funciona mas, ni siquiera estando el “register_globals” en “On”. Probre con los archivos originales (sin las modificaciones que yo les había hecho) y con “register_globals” en “on”, y no funciona, o sea no me deja acceder a la parte administrativa, cuando antes si me dejaba.

Les paso el código
Aquí es en donde debo loguearme


Código PHP:
Ver original
  1. <?php
  2.  require_once("book_sc_fns.php");
  3.  do_html_header("Administración");
  4.  
  5.  display_login_form();
  6.  
  7.  function display_login_form()
  8. {
  9.   // dispaly form asking for name and password
  10. ?>
  11.   <form method=post action="admin.php">
  12.   <table bgcolor=#cccccc>
  13.    <tr>
  14.      <td>Nombre Usuario:</td>
  15.      <td><input type=text name=username></td></tr>
  16.    <tr>
  17.      <td>Contraseña:</td>
  18.      <td><input type=password name=passwd></td></tr>
  19.    <tr>
  20.      <td colspan=2 align=center>
  21.      <input type=submit value="Logearte"></td></tr>
  22.    <tr>
  23.  </table></form>
  24. <?php
  25. }
  26.  
  27.  do_html_footer();
  28. ?>


Esta es la otra parte del código, esto seria el archivo admin.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. // incluye los archivos de función para esta aplicación
  4. require_once("book_sc_fns.php");
  5.  
  6. if ($username && $passwd)
  7. // están intentando hacer logging in
  8. {
  9.     if (login($username, $passwd))
  10.     {
  11.       // si se encuentran en la base de datos registrar la id de usuario
  12.       $admin_user = $username;
  13.       session_register("admin_user");
  14.     }
  15.     else
  16.     {
  17.       // login incorrecto
  18.       do_html_header("Problema:");
  19.       echo "No has podido logearte.
  20.            Debes estar logueado para ver esta página.<br>";
  21.       do_html_url("login.php", "Login");
  22.       do_html_footer();
  23.       exit;
  24.     }
  25. }
  26.  
  27. do_html_header("Administración");
  28. if (check_admin_user())
  29.   display_admin_menu();
  30. else
  31.   echo "No estás autorizado a entrar en el área de administración.";
  32.  
  33. do_html_footer();
  34.  
  35. ?>


No entiendo porque cuando lo probe la primera vez, si podía acceder a la parte administrativa, y ahora no.
Habra que hacer algún cambio en el php.ini?

Cualquier cosa que no sea clara, díganme y trato de aportar mas info

Gracias
  #2 (permalink)  
Antiguo 17/03/2011, 04:09
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Problemas para loguerame

Pero el problema en sí cual és? No te entra dentro del administrador aunque pongas el usuario y el pass? o es que directamente no te muestra nada?

Podrias poner el archivo book_sc_fns.php?

Solo para provar, debajo del session_start de admin.php pon lo siguiente:

Código PHP:
session_start();
$username=$_POST['username'];
$passwd=$_POST['passwd']; 
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #3 (permalink)  
Antiguo 18/03/2011, 17:10
 
Fecha de Ingreso: febrero-2011
Mensajes: 18
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problemas para loguerame

en el archivo book_sc_fns.php esta la funcion login, que me habia olvidado de poner. Estara aca el problema?



Código PHP:
Ver original
  1. function login($username, $password)
  2. // comprueba el nombre del usuario y el password con la base de datos
  3. // si sí, devuelve verdadero
  4. // si no devueelve falso
  5. {
  6.   // conectar a la base de datos
  7.   $conn = db_connect();
  8.   if (!$conn)
  9.     return 0;
  10.  
  11.   // comprobar que el nombre de usuario sea único
  12.   $result = mysql_query("select * from admin
  13.                         where username='$username'
  14.                         and password = password('$password')");
  15.   if (!$result)
  16.      return 0;
  17.  
  18.   if (mysql_num_rows($result)>0)
  19.      return 1;
  20.   else
  21.      return 0;
  22. }
  #4 (permalink)  
Antiguo 19/03/2011, 13:33
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Problemas para loguerame

Por lo que veo en ningun momento veo que recoges las variables que envias por el formulario, puede que sea eso. Resvisa donde recibes los datos del formulario.
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #5 (permalink)  
Antiguo 21/03/2011, 09:51
 
Fecha de Ingreso: febrero-2011
Mensajes: 18
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problemas para loguerame

MIL GRACIAS VALLU !!!!. por tu ayuda

Finalmente logre que todo comenzara a funcionar nuevamente. El problema pasaba por que no le asignaba al usuario con el que se accede a la bd, los privilegios correspondientes para manejarla (editar, borrar, agregar registros). Como creo que comente, no se mucho de php, o mejor seria decir poco y nada. Cuando probe el proyecto la primera vez, fui solucionando de a poco la creacion de la base de datos, el acceso a la misma, el login, etc y se ve que en tantas pruebas le di los privilegios correspondientes al usuario para manejar la bd. Despues, de todo eso tenia tantas bd y tantos usuarios que decidi limpiar todo un poco, y seguro borre al usuario que tenia los privilegios, y pah, surgio el quilombo. Bueno finalmente logre que todo funcione. Espero no tener mas problemas, ya que es un trabajo que tiene que salir lo antes posible.

Bueno mil gracias de nuevo Vallu, y seguramente estaremos charlando nuevamente por alguna otra duda

Etiquetas: Ninguno
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 03:41.