Foros del Web » Programando para Internet » PHP »

Acceso a usuarios????

Estas en el tema de Acceso a usuarios???? en el foro de PHP en Foros del Web. Amigo tengo dos codigos que som: 1-formulario en donde envio el nombre y la cleve del usuario: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> ...
  #1 (permalink)  
Antiguo 24/05/2005, 10:45
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Acceso a usuarios????

Amigo tengo dos codigos que som:

1-formulario en donde envio el nombre y la cleve del usuario:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<FORM METHOD=POST ACTION="acceso.php">
Usuario:
<INPUT TYPE="text" NAME="usuario">
<BR>
Clave:
<INPUT TYPE="password" NAME="clave">
<BR>
<INPUT TYPE="submit"name="submit" value="Enviar">
</FORM>
</BODY>
</HTML>

2- el que recoge las variables enviada por el formulario:
<?
$conn = mysql_connect("localhost","root","");

mysql_select_db("noti_php",$conn);

$ssql = "SELECT * FROM acceso WHERE BINARY nombre='".$_POST['usuario']."' and clave=MD5('".$_POST['clave']."')"; // Usa variables superglobales



$rs = mysql_query($ssql,$conn);


if (mysql_num_rows($rs)!=0){
session_start();
$_SESSION['autentificado'] = 'SI';
header ("Location: index.php");
}else {

header("Location: pgerror.php");
}
mysql_free_result($rs);
mysql_close($conn);
?>

Pero no me da la pagina index.php, porque sera solo sale que no encuentra la pagina, el formulario y el codigo de acceso.php se encuentra en la msima carpeta raiz donde esta el index.php???? alguna ideao por favor????
__________________
Miguel Padrón :cool:
  #2 (permalink)  
Antiguo 24/05/2005, 12:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y no te dá ningún error .. referente a cabeceras HTTP? (header .. output .. blbablabla)?

Esa página: pgerror.php la tienes creada? .. tu código hasta donde llega (es decir: tus sesiones funcionan? ..)

Un saludo,
  #3 (permalink)  
Antiguo 24/05/2005, 13:06
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
me da este error:

No se encontró la página
Puede que la página solicitada ya no exista haya cambiado de nombre o no esté disponible temporalmente.

--------------------------------------------------------------------------------

Pruebe lo siguiente:

Si escribió la dirección de la página en la barra de direcciones, compruebe que esté escrita correctamente.

Abra la página principal de 127.0.0.1:81y busque vínculos a la información que desea.
Haga clic en el botón Atrás para intentar otro vínculo.
Haga clic en Búsqueda para buscar información en Internet.



HTTP 404 - Archivo no encontrado
Internet Explorer

Esa página: pgerror.php la tienes creada? NO LA TENGO CREADA, YA QUE SI EL USUARIO Y LA CLAVE ES CORRECTA DEBERIA DARME EL INDEX.PHP

SOBRE ESTO: tu código hasta donde llega (es decir: tus sesiones funcionan? ..)

NO TENGO NINGUNA SESION E INDEX.PHP

PUEDEN AYUDARME
__________________
Miguel Padrón :cool:
  #4 (permalink)  
Antiguo 24/05/2005, 13:17
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
cree la pgerror.php, digito el usuario y la clave correctamente y me lleva a la pagina de error?????? porque???? sera que no revisa la bd????

La bd e llama noti_php, en la cual hay dos tablas:
1-noticias
2-acceso: que tiene dos campos: nombre y clave???

QUE PASARA ME PUEDEN AYUDAR??? POR FAVOR???
__________________
Miguel Padrón :cool:
  #5 (permalink)  
Antiguo 24/05/2005, 14:12
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Por favor que hay de malo aqui:

<?
$conn = mysql_connect("localhost","root","");

mysql_select_db("noti_php",$conn);

$ssql = "SELECT * FROM acceso WHERE BINARY nombre='".$_POST['usuario']."' and clave=MD5('".$_POST['clave']."')"; // Usa variables superglobales



$rs = mysql_query($ssql,$conn);


if (mysql_num_rows($rs)!=0){
session_start();
$_SESSION['autentificado'] = 'SI';
header ("Location: index.php");
}else {

header("Location: pgerror.php");
}
mysql_free_result($rs);
mysql_close($conn);
?>
?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ???????????????????????????????????
__________________
Miguel Padrón :cool:
  #6 (permalink)  
Antiguo 24/05/2005, 14:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y que valor te dá:

mysql_num_rows($rs)

ahí dices .. si es (diferente) a 0 .. deberías hacer (ya que lo esperado es 1) hacer:

if (mysql_num_rows($rs) == 1){
// usuario válido.
}

Un saludo,
  #7 (permalink)  
Antiguo 24/05/2005, 15:55
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Lo cambie y nada, que pasara

Otra idea por favor???????
__________________
Miguel Padrón :cool:
  #8 (permalink)  
Antiguo 24/05/2005, 16:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero vamos a ver .. que valor te dá!! mysql_mun_rows() ?

Usa (para detectar algún error de SQL):

$rs = mysql_query($ssql,$conn) or die (mysql_error());

Un saludo,
  #9 (permalink)  
Antiguo 25/05/2005, 06:26
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
me da los siguientes errores:


Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in c:\wamp\www\pagina universidad 23-05-05\principal\acceso2.php on line 2

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\wamp\www\pagina universidad 23-05-05\principal\acceso2.php on line 4

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\wamp\www\pagina universidad 23-05-05\principal\acceso2.php on line 10
Can't connect to MySQL server on 'localhost' (10061)


podria explicarmelo, por favor
__________________
Miguel Padrón :cool:
  #10 (permalink)  
Antiguo 25/05/2005, 06:40
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 13 años, 3 meses
Puntos: 1
El error viene de que no se conecta bien a la base de datos. Seguro que con esos datos puedes conectarte?
__________________
Mi página personal: Julián Urbano
  #11 (permalink)  
Antiguo 25/05/2005, 06:45
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Los errores anteriores ya lo arregle, era que la BD mysql no habia cargado corectamente en el servidor, pero se me ocurrio hacer un echo $ssql;donde esta el sql y me da:

SELECT * FROM acceso WHERE BINARY nombre='miguel' and clave=MD5('1130')
Warning: Cannot modify header information - headers already sent by (output started at c:\wamp\www\pagina universidad 23-05-05\principal\acceso2.php:8) in c:\wamp\www\pagina universidad 23-05-05\principal\acceso2.php on line 19

La linea 19 corresponde a:header("Location: pgerror.php");
Si le quito el echo $ssql; me enseña la pgerror.php

te recuerdo que la clave su propiedad es variable(32), segun lo que veo es que recoge de la bd bien el usuario y la clave pero no ejecuta la verificacion

Otra cosa si coloco el echo $rs; me muestra esto

Resource id #3


Alguna idea para resolver esto
__________________
Miguel Padrón :cool:
  #12 (permalink)  
Antiguo 25/05/2005, 07:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El error que obtienes ahora: acceso2.php:8 te dice que en la línea 8 de ese script tienes algo de HTML, un espacio antes de un <? .. o un salto de línea.

En ese script no corresponde nada de eso. Pon el código completo de como lo uses para ver que tienes que quitar y/o reordenar tu código para evitar ese problema.

Un saludo,
  #13 (permalink)  
Antiguo 25/05/2005, 07:36
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Cluster garcias por tu ayuda, aqui esta el codigo completo:


<?
$conn = mysql_connect("localhost","root","");

mysql_select_db("noti_php",$conn);

$ssql = "SELECT * FROM acceso WHERE BINARY nombre='".$_POST['usuario']."' and clave=MD5('".$_POST['clave']."')"; // Usa variables superglobales

echo $ssql;

$rs = mysql_query($ssql,$conn) or die (mysql_error());


if (mysql_num_rows($rs)!=0){
session_start();
$_SESSION['autentificado'] = 'SI';
header ("Location: index.php");
}else {

header("Location: pgerror.php");
}
mysql_free_result($rs);
mysql_close($conn);
?>


saludos
__________________
Miguel Padrón :cool:
  #14 (permalink)  
Antiguo 25/05/2005, 07:42
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 13 años, 3 meses
Puntos: 1
El error parece estar con echo $ssql; pues ahí ya estás enviando cosas al cliente, por eso lo de las cabeceras. Parece que eso es sólo para depurar, aquítalo y ya está. Creo que no o usas para nada, vamos. Por otra parte, juraría que el session_start() debería estar antes de nada, de cualquier código, tanto php como html, no Cluster?
__________________
Mi página personal: Julián Urbano
  #15 (permalink)  
Antiguo 25/05/2005, 08:11
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
No entiendo en eliminar el $ssql, EN DONDE SI TE REFIERE AL ECHO $ssql, YO LO COLOQUE PARA VER QUE ME ARROJABA EL SQL Y ALLI SE VE QUE REVISA LA BD Y EXTRAE LOS RESULTADOS
__________________
Miguel Padrón :cool:
  #16 (permalink)  
Antiguo 25/05/2005, 08:38
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 13 años, 3 meses
Puntos: 1
Pues eso. Al hacer el echo, ya estás mandando cosas al cliente, y después de mandar algo ya no se puede hacer el header para mandar cabeceras.
__________________
Mi página personal: Julián Urbano
  #17 (permalink)  
Antiguo 25/05/2005, 08:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por 8461277
No entiendo en eliminar el $ssql, EN DONDE SI TE REFIERE AL ECHO $ssql, YO LO COLOQUE PARA VER QUE ME ARROJABA EL SQL Y ALLI SE VE QUE REVISA LA BD Y EXTRAE LOS RESULTADOS
Bueno .. una cosa es que tengas que hacer algún "echo" para ver un valor de una variable . pero debes entender que eso es en modo "depuración" .. si ya tienes claro que esa variable arroja el valor esperado, entonces QUITA el echo y continua con tu "depuración" del código . .ve si todo funciona como esperas ..

Un saludo,
  #18 (permalink)  
Antiguo 25/05/2005, 08:47
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Ya lo elimine y me da la pagina que cree para el error

header("Location: pgerror.php");

no me da acceso al apgina index.php????????????

sugerencia
__________________
Miguel Padrón :cool:
  #19 (permalink)  
Antiguo 25/05/2005, 08:50
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
ya lo arregle, le quite:

MD5

y funciona bien, a hora sera que esto es seguro el MD5 no encriptava la clave o que asia??? sugerencia
__________________
Miguel Padrón :cool:
  #20 (permalink)  
Antiguo 25/05/2005, 10:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero tu conoces como almacenabas tus contraseñas en tu tabla de usuarios? .. (nosotros no por qué nunca vimos esos datos) ...

Guarda tus contraseñas encriptadas en MD5() y deja el código original que usabas!!!

Un saludo,
  #21 (permalink)  
Antiguo 25/05/2005, 10:42
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Como hago eso de guardar la clave encriptada com MD5()???
__________________
Miguel Padrón :cool:
  #22 (permalink)  
Antiguo 25/05/2005, 11:02
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 13 años, 3 meses
Puntos: 1
$encriptado = md5($clave)
__________________
Mi página personal: Julián Urbano
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 09:27.