Foros del Web » Programando para Internet » PHP »

No reconoce los usuarios de mi DB

Estas en el tema de No reconoce los usuarios de mi DB en el foro de PHP en Foros del Web. Buenas estoy haciendo un carro de comprar pero con una pagina para el administrador y al ingresar los datos del administrador q eh creado no ...
  #1 (permalink)  
Antiguo 21/02/2012, 19:33
 
Fecha de Ingreso: agosto-2011
Mensajes: 12
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta No reconoce los usuarios de mi DB

Buenas estoy haciendo un carro de comprar pero con una pagina para el administrador y al ingresar los datos del administrador q eh creado no me lo reconoce , la base de datos si esta conectada por que me aparecen los productos que hay en ella pero el usuario no me lo reconoce pueden ayudarme con este problema

Conecto mi DB - db_fns.php
Código PHP:
<?

function db_connect()
{
   
$result = @mysql_pconnect("localhost""root""root");
   if (!
$result)
      return 
false;
   if (!@
mysql_select_db("sql18226_1"))
      return 
false;

   return 
$result;
}

function 
db_result_to_array($result)
{
   
$res_array = array();

   for (
$count=0$row = @mysql_fetch_array($result); $count++)
     
$res_array[$count] = $row;

   return 
$res_array;
}

?>

Código PHP:
<?PHP

require_once("db_fns.php");

function 
login($username$password)
// comprueba el nombre del usuario y el password con la base de datos
// si sí, devuelve verdadero
// si no devueelve falso
{
  
// conectar a la base de datos
  
$conn db_connect();
  if (!
$conn)
    return 
0;

  
// comprobar que el nombre de usuario sea único
  
$result mysql_query("select * from admin
                         where username='$username'
                         and password = password('$password')"
);
  if (!
$result)
     return 
0;

  if (
mysql_num_rows($result)>0)
     return 
1;
  else
     return 
0;
}

function 
check_admin_user()
// ver si alguien está logged in y notificárselo si no
{
  global 
$admin_user;
  if (
session_is_registered("admin_user"))
    return 
true;
  else
    return 
false;
}

function 
change_password($username$old_password$new_password)
// cambiar contraseña para  username/old_password a nueva contraseña
// devuelve verdadero o falso
{
  
// si la vieja contraseña es correcta
  // cambia su contraseña a nueva contraseña y devuelve verdadero
  // s no es así devuelve falso
  
if (login($username$old_password))
  {
    if (!(
$conn db_connect()))
      return 
false;
    
$result mysql_query"update admin
                            set password = password('$new_password')
                            where username = '$username'"
);
    if (!
$result)
      return 
false;  // no cambiado
    
else
      return 
true;  // cambiado correctamente
  
}
  else
    return 
false// la vieja contraseña estaba equivocada
}


?>
el formulario

Código PHP:
function display_login_form()
{
  // dispaly form asking for name and password
?>
  <form method=post action="admin.php">
  <table bgcolor=#cccccc>
   <tr>
     <td>Nombre Usuario:</td>
     <td><input type=text name=username></td></tr>
   <tr>
     <td>Contraseña:</td>
     <td><input type=password name=passwd></td></tr>
   <tr>
     <td colspan=2 align=center>
     <input type=submit value="Log in"></td></tr>
   <tr>
 </table></form>
<?
}

y el login que hace el lamdo de los demas archivos

Código PHP:
<?
 
require_once("book_sc_fns.php");
 
do_html_header("Administración");

 
display_login_form();

 
do_html_footer();
?>
mi base de datos pues es una simple


create table admin
(
username char(16) not null primary key,
password char(16) not null
);
  #2 (permalink)  
Antiguo 23/02/2012, 02:47
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: No reconoce los usuarios de mi DB

No te puedes conectar a la base de datos?
MySQL no reconoce los usuarios?? Después dices que tienes conexión pero no te reconoce los usuarios?
Te refieres a los usuario que guardas en la tabla admin??
Si aclaras la pregunta sería de gran ayuda.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 23/02/2012, 04:17
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 2 meses
Puntos: 23
Respuesta: No reconoce los usuarios de mi DB

Lo que creo que te pasa es que estas confundiendo términos
Una cosa son los usuarios de mysql y otra cosa es una tabla con usuarios para tu web.

Los usuarios mysql son utilizados para dar acceso y restricciones a los usuarios sobre una base de datos. En php cuando haces una conexiona una base de datos con mysql_connect te conectas a una base de datos en la que el usuario que especificas en los parametros de la conexion es el usuario que tiene privilegios para utilizar esa base de datos.

NEONARCK estás mezclando datos de una tabla con los usuarios de un servidor mysql lo cual no es posible.

Cuando pones password = password('$password') es probable que mysql te este devolviendo un error y no te enteras pq no lo estás tratando debidamente.

Si sustituyes
password = password('$password') por password = '$password'

y

password = password('$new_password') por password = '$new_password'

te funcionará correctamente
  #4 (permalink)  
Antiguo 25/02/2012, 03:34
 
Fecha de Ingreso: agosto-2011
Mensajes: 12
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: No reconoce los usuarios de mi DB

Cita:
Iniciado por Fierox Ver Mensaje
Lo que creo que te pasa es que estas confundiendo términos
Una cosa son los usuarios de mysql y otra cosa es una tabla con usuarios para tu web.

Los usuarios mysql son utilizados para dar acceso y restricciones a los usuarios sobre una base de datos. En php cuando haces una conexiona una base de datos con mysql_connect te conectas a una base de datos en la que el usuario que especificas en los parametros de la conexion es el usuario que tiene privilegios para utilizar esa base de datos.

NEONARCK estás mezclando datos de una tabla con los usuarios de un servidor mysql lo cual no es posible.

Cuando pones password = password('$password') es probable que mysql te este devolviendo un error y no te enteras pq no lo estás tratando debidamente.

Si sustituyes
password = password('$password') por password = '$password'

y

password = password('$new_password') por password = '$new_password'

te funcionará correctamente

GRACIAS !! ESE ERA EL PROBLEMA ! TE debo una muchas gracias !

Etiquetas: formulario, html, mysql, reconoce, sql, usuarios
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 11:51.