Código PHP:
[HTML]
<?php
session_start();
$mensaje_error = "";
if(!isset($_SESSION['nombre_usuario']))
{
$mensaje_error = 'No has iniciado sesión';
}
else
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$accion = isset($_POST['accion']) ? $_POST['accion'] : '';
$base_datos = '/usuarios/usuariosbd.php';
$pagina_suceso = '';
if (filesize($base_datos) == 0)
{
$mensaje_error = 'Error en la base de datos';
}
else
if ($accion == 'cambiar_contrasena')
{
$contrasena_value = md5($_POST['contrasena']);
$nueva_contrasena = md5($_POST['nueva_contrasena']);
$confirmar_contrasena = md5($_POST['confirmar_contrasena']);
$nombre_usuario_value = $_SESSION['nombre_usuario'];
if ($nueva_contrasena != $confirmar_contrasena)
{
$mensaje_error = 'TU contraseña y la confirmada no es la misma';
}
else
if (!ereg("^[A-Za-z0-9_!@$]{1,50}$", $nueva_contrasena))
{
$mensaje_error = 'Tu contraseña contiene carácteres no válidos';
}
else
{
$nombre_usuarios = array();
$contrasenas = array();
$correos = array();
$nombre_completos = array();
$cuentas_activas = array();
$gustos = array();
$puntuaciones = array();
$cursos = array();
$tiempos_dedicados = array();
$tutos = array();
$contador = 0;
$elementos = file($base_datos);
foreach($elementos as $linea)
{
list($nombre_usuario, $contrasena, $email, $nombre_completo, $activa, $gusto, $puntuacion, $tiempo_dedicado, $curso, $tuto) = explode('|', trim($linea));
$nombre_usuarios[$contador] = $nombre_usuario;
$contrasenas[$contador] = $contrasena;
$correos[$contador] = $email;
$nombre_completos[$contador] = $nombre_completo;
$cuentas_activas[$contador] = $activa;
$gustos[$contador] = $gusto;
$puntuaciones[$contador] = $puntuacion;
$tiempos_dedicados[$contador] = $tiempo_dedicado;
$cursos[$contador] = $curso;
$tutos[$contador] = $tuto;
if ($nombre_usuario_value == $nombre_usuario)
{
if ($contrasena_value == $contrasena)
{
$contrasenas[$contador] = $nueva_contrasena;
}
else
{
$mensaje_error = 'Tu antigua contraseña no coincide';
break;
}
}
else
{
$contrasenas[$contador] = $contrasena;
}
$contador++;
}
if (empty($mensaje_error))
{
$archivo = fopen($base_datos, 'w');
for ($i=0; $i < $contador; $i++)
{
fwrite($archivo, $nombre_usuarios[$i]);
fwrite($archivo, '|');
fwrite($archivo, $contrasenas[$i]);
fwrite($archivo, '|');
fwrite($archivo, $correos[$i]);
fwrite($archivo, '|');
fwrite($archivo, $nombre_completos[$i]);
fwrite($archivo, '|');
fwrite($archivo, $cuentas_activas[$i]);
fwrite($archivo, '|');
fwrite($archivo, $gustos[$i]);
fwrite($archivo, '|');
fwrite($archivo, $puntuaciones[$i]);
fwrite($archivo, '|');
fwrite($archivo, $tiempos_dedicados[$i]);
fwrite($archivo, '|');
fwrite($archivo, $cursos[$i]);
fwrite($archivo, '|');
fwrite($archivo, $tutos[$i]);
fwrite($archivo, "\r\n");
}
fclose($archivo);
header('Location: '.$pagina_suceso);
exit;
}
}
}
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<link rel="stylesheet" type="text/css" href="estiloperfil.css"></link>
<title>Musicaendo - Perfil de <?php
if (isset($_SESSION['nombre_usuario']))
{
echo $_SESSION['nombre_usuario'];
}
?></title>
</head>
<body>
<!-- CABEZA -->
<div id="cabecero">
<div id="menu">
<div id="tabla">
<ul>
<li><a href="/usuarios/opciones/index.php">Opciones</a></li>
<li><a href="/usuarios/estadisticas.php" >Estadísticas</a></li>
</ul>
</div>
</div>
<div id="menu2">
<div id="tabla2">
<ul>
<li><a id="especial" href="/usuarios/login.php"><form name="form_cerrar_sesion" method="post" id="form_cerrar_sesion">
<input type="submit" name="cerrar"value="Cerrar sesión" id="cerrar" />
</form></a></li>
</ul>
</div>
</div>
</div>
<div id="contenido">
<div id="herramienta">
<div id="encabezado">
<h1 id="h1_per">Perfil de <?php
if (isset($_SESSION['nombre_usuario']))
{
echo $_SESSION['nombre_usuario'];
}
?></h1>
</div id="encabezado">
<div id="menu_perfil">
<ul>
<li><a href="#">Tus estadísticas</a></li>
<li id="cambiar">Cambiar: </li>
<li><a href="#">Nick</a></li>
<li><a href="contrasena.php">Contraseña</a></li>
<li><a href="#">Nombre</a></li>
<li><a href="#">Correo</a></li>
<li><a href="#">Gusto musical</a></li>
<li><a href="#">Curso</a></li>
<li><a href="#">Instituto</a></li>
</ul>
</div>
<div class="margen">
<div id="cambiar_contrasena" >
<form name="cambiar_contrasena" method="post" action="<?php echo basename(__FILE__); ?>" id="cambiar_contrasena">
<input type="hidden" name="accion" value="cambiar_contrasena">
<table cellspacing="4" cellpadding="0" >
<tr>
<td colspan="2" align="center" >Cambiar contraseña</td>
</tr>
<tr>
<td align="right" >Tu actual contraseña:</td>
<td align="left"><input name="contrasena" type="password" id="contrasena" ></td>
</tr>
<tr>
<td align="right" >Nueva contraseña:</td>
<td align="left"><input name="nueva_contrasena" type="password" id="nueva_contrasena" ></td>
</tr>
<tr>
<td align="right" >COnfirmar nueva contraseña:</td>
<td align="left"><input name="confirmar_contrasena" type="password" id="confirmar_contrasena" ></td>
</tr>
<tr>
<td colspan="2"><?php echo $mensaje_error; ?></td>
</tr>
<tr>
<td> </td><td align="left" valign="bottom"><input type="submit" name="cambiar_contrasena" value="¡Cambiar!" id="cambiar_contrasena"></td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
[/HTML]