Foros del Web » Programando para Internet » PHP »

Ayuda con sistemas de usuarios

Estas en el tema de Ayuda con sistemas de usuarios en el foro de PHP en Foros del Web. Hola amigo hize un sistemas de usuarios muy complejo y funncionaba normalmente hasta que instale la version phpMyAdmin - 2.8.0.2 buno este era el proceso: ...
  #1 (permalink)  
Antiguo 02/06/2006, 09:20
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
Ayuda con header('location: index.php');

Hola amigo hize un sistemas de usuarios muy complejo y funncionaba normalmente hasta que instale la version phpMyAdmin - 2.8.0.2

buno este era el proceso:

if (!isset($_SESSION['user_id']) && $_REQUEST['func'] != 'login')
{
htmlHeader();

echo "<h2>Please login</h2>\n";

echo "<form action=\"index.php\" method=\"POST\">
<table>
<tr><td><label>Username: </label></td><td><input type=\"text\" name=\"username\"></td></tr>
<tr><td><label>Password: </label></td><td><input type=\"password\" name=\"password\"></td></tr>
</table>
<input type=\"submit\" value=\"Submit\">
<input type=\"hidden\" name=\"func\" value=\"login\">
</form>";

htmlFooter();
exit;
}


$db = mysql_connect(DB_HOSTNAME, DB_USER, DB_PASSWORD);


if ($_POST['func'] == 'login')
login();
elseif ($_POST['func'] == 'logout')
logout();

EN ESTA PRIMERA PARTE PIDE EL USER Y PASS DESPUES PREGUNTA SI EL HIDDEN ES LOGIN Y VA ALA SECCION ALA FUNCION LOGIN QUE ESTA ACA

function login()
{

$username = addslashes($_POST['username']);
$password = md5($_POST['password']);
// echo $password;
$query = "select ".USER_ID_FIELD." from ".USER_TABLE." where ".USERNAME_FIELD." = '$username' and ".USER_PASSWORD_FIELD." = '$password'";

mysql_select_db(USER_DB);
//echo $query;
$res = mysql_query($query);

$count = mysql_fetch_row($res);

if ($count[0])
{
$_SESSION['user_id'] = $count[0];
$_SESSION['username'] = $_REQUEST['username'];
header('location: index.php');
exit;
}
else
{
echo "<h2 class=\"fail\">Login Failed</h2>";
htmlFooter();
exit;
}
}


TODO ESTABA BIEN SOLO QUE AHORA NO ENTRA ALA PAGINA PRINCIPAL SE QUEDA PIDIENDO EL LOGIN SIEMPRE ALGU9IEN ME PUEDE AYUDAR SERIA UN GENIO SI ME PUEDE AYUDAR. GRACIAS .
  #2 (permalink)  
Antiguo 02/06/2006, 09:36
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta Ayuda con sistemas de usuarios

Hola amigos realizae un sistema de usuarios muy complejo que gerena 6 paginas en una sola con solo funciones todo andba perfectamente bien hasta que instale el phpMyAdmin - 2.8.0.2 y desde ahi ya no funciona el sistema de usuarios osea no puedo entrar. aca esta el codigo

Primero pide user y despes el pass y tiene un hidenn de login

if (!isset($_SESSION['user_id']) && $_REQUEST['func'] != 'login')
{
htmlHeader();

echo "<h2>Please login</h2>\n";

echo "<form action=\"index.php\" method=\"POST\">
<table>
<tr><td><label>Username: </label></td><td><input type=\"text\" name=\"username\"></td></tr>
<tr><td><label>Password: </label></td><td><input type=\"password\" name=\"password\"></td></tr>
</table>
<input type=\"submit\" value=\"Submit\">
<input type=\"hidden\" name=\"func\" value=\"login\">
</form>";

htmlFooter();
exit;
}


Despues pregunta si el usuarios existe y e si el pass esta igual al dado en el form.
if ($_POST['func'] == 'login')
login();
elseif ($_POST['func'] == 'logout')
logout();

function login()
{

$username = addslashes($_POST['username']);
$password = md5($_POST['password']);
// echo $password;
$query = "select ".USER_ID_FIELD." from ".USER_TABLE." where ".USERNAME_FIELD." = '$username' and ".USER_PASSWORD_FIELD." = '$password'";

mysql_select_db(USER_DB);
//echo $query;
$res = mysql_query($query);

$count = mysql_fetch_row($res);

if ($count[0])
{
$_SESSION['user_id'] = $count[0];
$_SESSION['username'] = $_REQUEST['username'];
header('location: index.php');
exit;
}
else
{
echo "<h2 class=\"fail\">Login Failed</h2>";
htmlFooter();
exit;
}
}


El ERROR ES QUE ACEPTA AL USER Y EL PASS EL PROBLEMA ES QUE NO ENTRA ALA PAGINA O FUNCION PRINCIPAL.

CREO QUE EL ERROR ESTA EN EL HEADER. ALGUIEN ME PUEDE AYUDAR ESPERO SUS APORTES URGENTES GRACIAS
  #3 (permalink)  
Antiguo 02/06/2006, 10:15
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Lo que puedes hacer es cambiar el if por el siguiente:
Código PHP:
<?php
if ($count 0)
{
$_SESSION['user_id'] = $count[0];
$_SESSION['username'] = $_REQUEST['username'];
header('location: index.php');
exit;
}
?>
Que tratas de hacer con este if "if ($count[0])" si es tratando de validar si tiene algun dato te recomiendo que uses isset()
Saludillos.
  #4 (permalink)  
Antiguo 02/06/2006, 10:25
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
Lo Siento Amigo Mauled No Funciona Igual Ya Probe Lo Que Me Dijiste Otra Idea....
  #5 (permalink)  
Antiguo 02/06/2006, 10:28
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
BUneo respondiendo a tu pregunta en el "if ($count[0])" guarda el id del registro lo uso para usar la funciones para qeu muestre cada proyecto es importante..
  #6 (permalink)  
Antiguo 02/06/2006, 10:28
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

mm Intenta cambiando header('location: index.php'); por header("Location: index.php");

Saludillos.
  #7 (permalink)  
Antiguo 02/06/2006, 10:32
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
ya lo hize tambien amigo y no funciona ya cambie header('location: index.php'); por header("Location: index.php"); hace tiempo y no funciona tampoco otra suferencia...
  #8 (permalink)  
Antiguo 02/06/2006, 10:33
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
O talvez ese no seha el problema talvez se encuentra en el codigo mas arriba en el otro if (!isset($_SESSION['user_id']) && $_REQUEST['func'] != 'login')
{ o en otro sitio pero ahi nomas es el error o talvez elheader de mi php no funca.. la verda nose com dije antes funcionaba muy bien hatsa que puse la otra version del phpadmin
  #9 (permalink)  
Antiguo 02/06/2006, 10:38
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Estas seguro que esta entrando al if?
Que se esta ejecutando el query de forma correcta?


Tratemos lo siguiente
Código PHP:
<?
res 
mysql_query($query);
$num_rows mysql_num_rows($res);
if(
$num_rows 0)
{
  
$count mysql_fetch_row($res);

  
$_SESSION['user_id'] = $count[0];
  
$_SESSION['username'] = $_REQUEST['username'];
  
header('Location: index.php');

}
else
  echo 
"No se obtuvo ningun resultado de la busqueda";
?>
  #10 (permalink)  
Antiguo 02/06/2006, 10:47
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
Bueno acabo de hace otra prueba le borre el header('location: index.php');
exit;
y ahora entra ala principal y muestra en nombre del user el otro problema es que si llamo a otra pagina vuelve hacer lo mismo parece que hay otro problema que tiene que ver ahi con el header o no se ya me mereee espero una sugerencia eje
  #11 (permalink)  
Antiguo 02/06/2006, 10:49
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

¿Probaste el script anterior?

ahhh ¿Seguro que tienes bien la ruta de index.php?

Saludillos.
  #12 (permalink)  
Antiguo 02/06/2006, 10:51
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
me explico mejor borrando el header ingresa pero despues de llamar a otra funcion vuelve a pedir el pass. y quitando el pass al comienzo ingres a todas las funciones pero no muestra el usuario que ingreso muestra en laprincipal y despues no lo muestra que puedo hacer para qeu el problema es con el header creo que no recupera los valores guardados del usuario y por eso llamo a otra funcion y me pide es user y el pass que puedo hacer...
  #13 (permalink)  
Antiguo 02/06/2006, 10:56
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
La ruta es la misma web ya dije al comienzo una sola web osea index.php genera todo crea user entra ala pricipal edita crea nuevos proyectos y demas asi que no hay ninguna falla en la ruta debe ser algo loque puse anteriormente
  #14 (permalink)  
Antiguo 02/06/2006, 10:58
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
Como dije antes todo funcionaba correctamente absolutmente todo, cuando instale la nueva version del phpadmin ahi surgio el problema no queria entrar mas....
  #15 (permalink)  
Antiguo 02/06/2006, 11:53
Avatar de traviesaFeliz  
Fecha de Ingreso: mayo-2006
Ubicación: Ambato
Mensajes: 28
Antigüedad: 17 años, 11 meses
Puntos: 0
mira tengo un java script que funciona muy bien pruebalo

<script LANGUAGE="JavaScript">
var pagina="index.php.php"
function redireccionar()
{
location.href=pagina
}
redireccionar();
</script>

utilizalo en vez de header('location: index.php');
  #16 (permalink)  
Antiguo 02/06/2006, 12:16
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
gracia por escribir

Gracias por la respuesta pero el header cumple una funcion importante en el php no es solo de redireccion de pagina sino que lleva consigo variables que necesita el php para mostrar correctamente la pagina espero mas ayudas gracias
  #17 (permalink)  
Antiguo 02/06/2006, 12:32
Avatar de traviesaFeliz  
Fecha de Ingreso: mayo-2006
Ubicación: Ambato
Mensajes: 28
Antigüedad: 17 años, 11 meses
Puntos: 0
Mira yo tambien trabajo con sessiones y si lo miras bien solo estoy asignando una funcion para hacer que el header funcione como debe lo unico que debes hacer es establecer en la otra pagina un session_start(); y esto funciona como tu lo deseas llevando consigo los valores de las variables

Mi consejo pruebalo primero y luego me cuentas como te fue ok
  #18 (permalink)  
Antiguo 02/06/2006, 12:34
 
Fecha de Ingreso: abril-2006
Ubicación: mexico
Mensajes: 287
Antigüedad: 18 años
Puntos: 2
tiene razón traviesa feliz, o con el mismo $_POST, puedes utilizar sus variables, aunque yo recomendaría mas $_SESSION ['varx']...es mas efectivo.
  #19 (permalink)  
Antiguo 02/06/2006, 12:35
 
Fecha de Ingreso: abril-2006
Ubicación: mexico
Mensajes: 287
Antigüedad: 18 años
Puntos: 2
en tu código traviesa... el index.php.php... es un error??, por que no funciona bien si le dejas eso... solo es cambiar a el nombre con index.php
  #20 (permalink)  
Antiguo 02/06/2006, 13:06
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
ok miren

bueno todo funcionaba antes correctamente el sistema hace esto. ingresa a la pagina principal crea usuarios los edita muestra proyectos, etc todo en la pagina index.php y demas todo funcionaba ok pero ahora no funciona desde que instale el nuevo phpMyAdmin - 2.8.0.2. despues logre ingrsar al sistema pero despues que llamo a una funcion me pide pass otra vez desupes logre que entrara a todo pero en la primera pagina esta el nombre del user despues llamo a otra funcion y se borra el user o ya no aparece mas el problema parece que es el header si no se dan cuenta no jala consigo las variables de los user y por eso pide el pass otra vez alguna sugerencia
  #21 (permalink)  
Antiguo 02/06/2006, 13:08
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
ua probe tu script y cmo era logico no funciona y tambien uso el $_SESSION como habran visto, espero que alguien pueda ayudar por el sistema funcionaba perfectamente y despues que INSTALE EL phpMyAdmin - 2.8.0.2. YA NO volvio a funcionar
  #22 (permalink)  
Antiguo 02/06/2006, 13:19
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

¿Que version de php estas manejando?
  #23 (permalink)  
Antiguo 02/06/2006, 13:27
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
bueno

estuve buscando la version instalada del php pero no lo muestra el phpMyAdmin - 2.8.0.2 solo muestra el MySQL - 4.1.12 y no tengo mas refenrecia
  #24 (permalink)  
Antiguo 02/06/2006, 13:28
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Si pones

Código PHP:
<?php
phpinfo
() ;
?>
Te muestra que version tienes instalada!
  #25 (permalink)  
Antiguo 02/06/2006, 13:34
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
es la version PHP Version 4.3.9 eso afecta..
  #26 (permalink)  
Antiguo 02/06/2006, 15:27
 
Fecha de Ingreso: junio-2006
Mensajes: 16
Antigüedad: 17 años, 10 meses
Puntos: 0
Por Fin Pude Hacerlo See

Bratando varias casos y veces el problema es con header ya no funciona en la version del phpadmin que uso haci que el problema se arranca desde ahi la solcuin rediccinar las varibles que heusado para el user y pass enviarlos a donde pide eso y listo arreglado seee solo que se complica por que tendre que configurar todo otra vez
  #27 (permalink)  
Antiguo 02/06/2006, 18:34
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Temas unidos.
http://www.forosdelweb.com/f74/politicas-foros-del-web-101485/
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 16:12.