Comunidad de diseño web y desarrollo en internet online

Login PHP

Citar            
MensajeEscrito el 13 Mar 2008 04:44 pm
Necesito ayuda!!

Estoy tratando de usar este archivo:

Código :

<?php

// Se hace la conecion a la base de datos
   
include("includes/conexion.php");
   $db = mysql_connect ($host, $usr, $pwd) or die ('Error de Conexion');
   mysql_select_db($bdatos, $db) or ("Error al conectar a la bdatos"); 
   
function Conectarse() 
{ 
global $host, $usr, $pwd, $bdatos;
if (!($link=mysql_connect("$host","$usr","$pwd"))) 
{ 
echo "Error conectando a la base de datos."; 
exit(); 
} 
if (!mysql_select_db("$bdatos",$link))
{ 
echo "Error seleccionando la base de datos."; 
exit(); 
} 
return $link; 
} 

$link = Conectarse();
// Recuperacion y creacion de variables
$a = $_POST['a'];
$nombre = htmlspecialchars ($_POST['nombre']) ;
$password = md5 (htmlspecialchars($_POST['password']));


function form(){ 
echo "<link href=\"estilo.css\" rel=\"stylesheet\" type=\"text/css\">
<body scroll=\"auto\">
<SCRIPT LANGUAGE=\"JavaScript\">
function llenar() {
if (form.nombre.value == \"\") {
alert ('Debes llenar el campo de Nombre');
return false;
}
if (form.password.value == \"\") {
alert ('Debes de ingresar tu contraseña');
return false;
}
return true;
}
</SCRIPT>
<form action=\"$PHP_SELF\" method=\"POST\" name=\"form\" onSubmit=\"return llenar()\"><input type=\"hidden\" name=\"a\" value=\"1\">
<table width=\"70%\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"windowbg2\">
<tr> 
<td><div align=\"center\"> 
<table width=\"65%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
<tr> 
<td colspan=\"2\">
Bienvenido al sistema por favor llena los siguientes campos... </td>
</tr>
<tr> 
<td>Nombre</td>
<td><input name=\"nombre\" type=\"text\" class=\"colour1\"></td>
</tr>
<tr> 
<td>Contrase&ntilde;a</td>
<td><input name=\"password\" type=\"password\" class=\"colour1\"></td>
</tr>
<tr> 
<td><input name=\"enviar\" type=\"submit\" value=\"Enviar datos\" class=\"button\"></td>
<td><input name=\"borrar\" type=\"reset\" value=\"Borrar formulario\" class=\"button\"></td>
</tr>
</table>
</div></td>
</tr>
</table>
<br>
</form>
<SCRIPT language=\"JavaScript\">
<!--
document.forms[0].nombre.focus();
//-->
</SCRIPT>
<table width=\"70%\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"windowbg2\">
<tr>
<td><div align=\"justify\"> 
<p>Ten en cuenta que el sistema difiere entre mayusculas y minusculas 
en la contrase&ntilde;a, asi que por favor escribe bien tu contrase&ntilde;a.
</p>
</div></td>
</tr>
</table> "
; }


switch ($a) {
case 1:

//Sentencia SQL para buscar un usuario con esos datos 
$c_usuario = "SELECT * FROM usuarios WHERE usuario='$nombre' and password='$password'"; 
//Ejecuto la sentencia 
$r_usuario = mysql_query("$c_usuario",$link) or die(mysql_error()); 
$r_ok = mysql_fetch_array($r_usuario);


////////////////////////////////////////////////////////
if($r_ok['usuario'] != $nombre && $r_ok['password'] != $password){
$acceso = "no";
echo "<center>Nombre de usuario o contraseña incorrecta<br>
por favor <b>intena de nuevo</b></a></center>";
form();
}
else{
$user_dat = mysql_query("SELECT * FROM usuarios WHERE ID='$user_ID'") or die(mysql_error());
$datos = mysql_fetch_array($user_dat);
$user_ID = $r_ok['ID'];
$user = $r_ok['usuario'];
$acceso = "ok";
setcookie("nombre",$user_ID,time()+3600);
setcookie("password",$password,time()+3600);
header("LOCATION: alta_productos.php"); // Aqui en lugar de "acceso.php" pones el archivo que quieras que salga despues de que se ingesen bien los datos
}

break;
default:
$acceso = "no";
form ();
break;
}
mysql_close($link); //cierra la conexion 
?> 


El problema es que me tira error de contraseña o usuario, al parecer me falta un script de md5 pero la verdad que no entiendo bien, mire varios tutoriales, pero no me queda claro, alguien me puede ayudar?

muchas gracias.

Por Romi

40 de clabLevel



 

msie7
Citar            
MensajeEscrito el 13 Mar 2008 05:13 pm
1. Aprende a usar la etiqueta code del foro, funciona asi: [ code ] Aquí va tu código [ / code ] (quita los espacios entre las [ ] )
2. ¿Cómo insertas los usuarios? (de tu respuesta viene la solución)
3. Si usas md5 o password o cualquier otra función, debería ser esta línea

Código :

$c_usuario = "SELECT * FROM usuarios WHERE usuario='$nombre' and password='$password'"; 


pasala a

Código :

$c_usuario = "SELECT * FROM usuarios WHERE usuario='$nombre' and password=md5('$password')"; 

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 13 Mar 2008 05:32 pm
Ok, gracias por lo de [ code ] el usuario lo agregue directamente en la base de datos, ya que solo preciso uno por que es para un abm. muchas gracias.

Por Romi

40 de clabLevel



 

msie7
Citar            
MensajeEscrito el 13 Mar 2008 06:18 pm
Usa md5 al insertarlo, mira

Código :

insert into usuarios(login, clave) values('el usuario', md5('la clave'));

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 13 Mar 2008 06:49 pm
ok, voy a suicidarme y cuando vuelvo veo si lo puedo resolver, jeje.

Por Romi

40 de clabLevel



 

msie7
Citar            
MensajeEscrito el 13 Mar 2008 07:16 pm
[consejo]

has par de echo's de los SQL's que formas tanto para insertar como para consultar y ve que es lo malo de ellos... así te evitarás un poco estar tanteando el error

[/consejo]

Por mauril26

161 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Mar 2008 07:20 pm

Romi escribió:

ok, voy a suicidarme y cuando vuelvo veo si lo puedo resolver, jeje.


No. Haz lo que te dice mauril26, se feliz, esparcete, multiplicate... U_U

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 14 Mar 2008 12:44 am
yo lo que mas te puedo aconsejar es separar las paginas

por un lado PHP y por otro HTML, creeme se hace mas claro el desarrollo

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

firefox
Citar            
MensajeEscrito el 14 Mar 2008 01:47 pm

jpcw escribió:

yo lo que mas te puedo aconsejar es separar las paginas

por un lado PHP y por otro HTML, creeme se hace mas claro el desarrollo


MVC es el camino U_U

Sobre el código, a pesar que no uso mucho PHP, me parece que ya la variable $password incluye el hash del password con MD5.

Creo que lo que te comentan es cierto, trata de realizar un modo debug e imprimir las cadenas en pantalla o en consola si tienes el servidor corriendo localmente para realizar pruebas ^^

Por Yaraher

813 de clabLevel

1 tutorial

 

Callao, Perú

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.