Hola muy buenas a todos! soy un principiante en esto del php y las bases de datos... pero como os pasaria a todos os gusta hacer cosas que aun no sabemos jeje
Mi problema es que intenté crear un login en php y la base de datos phpmyslq. Al crear los usuarios con cifrandolos con md5 al acceder en el login me da errores... en cambio si no cifro con md5 los usuarios nuevos, el sistema funciona a la perfección... os dejo mi código por si alguien puede hecharme una mano.
Codigo en index.php
Código PHP:
<?php
if (isset($_SESSION['nick']))
{
?>
<div id="sesion_iniciada">
<img src="imagenes/autor.png" alt="" /><br />
Hola
<?= $_SESSION['nick'] ?> Ya iniciaste sesion |<br /> <a href="logout.php">Cerras Sesion</a>
</div>
<?
} else {
?>
<div id="sesion_sin_iniciar">
<div>Inicia sesión</div>
<form style="font-size: 15px;" method="post" action="login.php">
<br />
Nick de Usuario: <br /><input type="text" style="width: 80%;" name="nick"/><br />
Contraseña <br /><input type="password" style="width: 80%;" name="pass"/><br />
<button id="iniciar_sesion" type="submit" name="enviar">Acceder</button>
</form>
</div>
<?
}
?>
Codigo en login.php
Código PHP:
<?php
session_start();
include "config.php";
if (isset($_POST['enviar']))
{
$nick = mysql_real_escape_string($_POST['nick']);
$pass = mysql_real_escape_string(md5($_POST['pass']));
$sql = mysql_query("SELECT id, nick, pass FROM registro WHERE nick = '".$nick."' AND pass = '".$pass."'" );
if($row = mysql_fetch_array($sql))
{
$_SESSION['nick'] = $row['nick'];
$_SESSION['pass'] = md5($row['pass']);
header ("Location: index.php");
}else{
echo $pass;
echo "El usuario o la contraseña son inválidos";
echo "<a href=' javascript:history.back();'>Regresar</a>";
}
}
?>
Codigo config.php
Código PHP:
<?php
$conex = mysql_connect ("localhost","root","")
or die ("No se pudo conectar al servidor");
$db = mysql_select_db("paginaweb",$conex)
or die ("la base de datos no existe")
?>
Gracias a todos! un saludo