Hola, tengo un sistema de usuarios que vengo haciendo y se me dio por hacer un cambio de contraseña, la funcion por lo que vi no parece estar mal, pero el problema es que cuando mando el formulario, no ejecuta el query, no hace nada!, me vuelve a redireccionar a la pagina login.php , aca les dejo los archivos por si las moscas, la funcion cambiar pass la tengo en conexion.php
conexion.php
Código PHP:
Ver original<?php
$nombre_server[1] = 'localhost';
$nombre_user[2] = 'root';
$nombre_db[3] = 'estudiophp';
$password[4] = '';
$conexion = @mysql_connect($nombre_server[1],$nombre_user[2],$password[4]) or
exit ('Los datos ingresados no existen');
if($_GET['desconectar'] == 1){//funcion de deslogeo
$_SESSION['logeado'] = false;
echo "Usted se a deslogeado con exito";
}// cierro deslogeo
if($_GET['borrar'] == 1){//funcion de eliminar cuenta
mysql_query("DELETE FROM pruebas WHERE (nick=".$_SESSION['nick'].")"); echo "Su cuenta a sido eliminada";
$_SESSION['logeado'] = false;
}//cierro eliminar cuenta
if($_GET['cambiar'] == 1){//funcion de cambiar contraseña
if(isset($_POST['mandar'])){ if(isset($_POST['pass']) && isset($_POST['confnuevapass']) && isset($_POST['nuevapass'])){ $pass = $_POST['nuevapass']; $nick = $_SESSION['nick'];
$resultado = mysql_query("SELECT pass FROM pruebas WHERE (nick = '$nick')"); if($fila['pass'] == md5($_POST['pass'])){ if($_POST['nuevapass'] == $_POST['confnuevapass']){
if(mysql_query("UPDATE pruebas SET pass = md5('$pass') WHERE (nick = '$nick')")){ echo "La contraseña se a cambiado con exito";
}
else{
echo "No se a podido cambiar la contraseña, vuelva a intentar";
}
}
else{
echo "Las contraseñas no coinciden";
}
}
else{
echo "La contraseña insertada no coincide con la de la base de datos";
}
}
else{
echo "Debera rellenar todos los campos";
}
}
?>
<form method="post" action="login.php">
contraseña anterior<input type="text" name="pass">
nueva contraseña<input type="text" name="nuevapass">
repetir contraseña<input type="text" name="confnuevapass">
<input type="submit" name="mandar">
</form>
<?php
}// cierro cambiar pass
?>
registro.php
Código PHP:
Ver original<?php
include("conexion.php");
if(isset($_POST['registro'])) {
if(($_POST['nick'] != '') && ($_POST['pass'] != '') && ($_POST['mail'] != ''))
{
if($_POST['pass'] == $_POST['confpass'])
{
$nick = $_POST['nick'];
$pass = md5($_POST['pass']); $mail = $_POST['mail'];
$resultado = mysql_query("SELECT nick, mail FROM pruebas WHERE (nick = '$nick') OR (mail = '$mail')"); if($fila['nick'] == $nick)
{
echo "El nick esta en uso";
}
elseif($fila['mail'] == $mail)
{
echo "El mail esta en uso";
}
else
{
mysql_query("insert into pruebas(nick,pass,mail,codigo,estado) values ('$nick','$pass','$mail','$codigo',0)"); echo 'Los datos han sido enviados correctamente';
}
else
echo "Mail no valido";
}
}
else
{
echo 'Las contraseñas no coinciden';
}
}
else
{
echo 'Debera rellenar todos los campos';
}
}
if($_SESSION['logeado'] == true){
echo "Usted esta logeado";
}
else{
?>
<html>
<head>
<title>Registro</title>
</head>
<body>
<form method="post" action="registro.php">
nick
<input type="text" name="nick" value="<?php echo $_POST['nick'];?>">
pass
<input type="text" name="pass">
confirmar contraseña
<input type="text" name="confpass">
mail
<input type="text" name="mail" value="<?php echo $_POST['mail'];?>">
<input type="submit" value="enviar" name="registro">
</form>
</body>
</html>
<?php
}
?>
login.php
Código PHP:
Ver original<?php
include("conexion.php");
if(isset($_POST['enviar'])) {
$nick = $_POST['nick'];
$pass = $_POST['pass'];
{
$resultado = mysql_query("SELECT nick, pass ,estado FROM pruebas WHERE (nick = '$nick') AND (pass = md5('$pass'))"); {
if($fila['estado'] == 1){
$_SESSION['nick'] = $nick;
$_SESSION['logeado'] = true;
}
else{
echo "Su cuenta no a sido activada";
}
}
else{
echo "Usuario o contraseña incorrectos.";
}
}
else{
echo "Usuario o contraseña incorrectos.";
}
}
?>
<?php
if($_SESSION['logeado'] == true){//abre logeo
echo "Usted ".$_SESSION['nick']." esta logeado";
?>
</br></br>
<a href="<?php $_SERVER['PHP_SELF']?>?desconectar=1">Salir</a>
</br>
</br>
<a href="<?php $_SERVER['PHP_SELF']?>?borrar=1">Eliminar cuenta</a>
</br>
</br>
<a href="<?php $_SERVER['PHP_SELF']?>?cambiar=1">Cambiar contraseña</a>
<?php
}//if donde termina el logeo
else{
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<form method="post" action="login.php">
Nick:<input type="text" name="nick">
Password:<input type="text" name="pass">
<input type="submit" name="enviar">
</form>
</body>
</html>
<?php
}
?>
perfil.php
Código PHP:
Ver original<?php
include("conexion.php");
if($_SESSION['logeado'] == true){
echo "Usted ".$_SESSION['nick']." esta logeado";
?>
</br></br>
<a href="<?php $_SERVER['PHP_SELF']?>?desconectar=1">Salir</a>
<?php
}
else{
?>
<html>
<head>
<title>Perfil</title>
</head>
<body>
<span>Solo apto para usuarios registrados, para registrarse haga click <a href="registro.php">aqui</a> o, si ya esta registrado y desea logearse haga click <a href="login.php">aqui</a></span>
</body>
</html>
<?php
}
?>
confirmar.php
Código PHP:
Ver original<?php
include("conexion.php");
$codigo = $_GET['codigo'];
$resultado = mysql_query("SELECT estado FROM pruebas WHERE (codigo = '$codigo')"); if($fila['estado'] == 0){
$estado = 1;
if(mysql_query("UPDATE pruebas SET estado = '$estado' WHERE (codigo = '$codigo')")){ echo "Su cuenta a sido activada";
}
else{
echo "Se a producido un error, por favor vuelva a recargar la pagina";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Coonfirmar cuenta</title>
</head>
<body>
</body>
</html>
PD: Le hice un sistema de confirmar por mail, anda perfecto pero no se porque el xampp no me manda los mails