Buenas!!
pues de entrada tienes un "detallote"
estas haciendo una condicion basado en una variable que NO existe
obvio que nunca la va a encontrar y por logica no va a actualizar lo que pusiste
Código PHP:
<?php session_start();
$usuario=$_SESSION['usuario'];
include('../conexion/conectar.php');
$clave=$_POST[clave];
$clave2==$_POST[clave2];
$sql = "UPDATE usuarios SET clave='$clave', clave2='$clave2' WHERE usuario='".$_POST['usuario']."'";
mysql_query($sql);
$result = mysql_query($sql);
echo "<meta http-equiv='refresh' content='0;url=admin.php' />";
?>
concretamente por lo que entiendo en tu session esta el usuario no lo envias y ahi lo comparas como si lo hubiera enviado el formulario
esto deveria ser asi:
Código PHP:
$sql = "UPDATE usuarios SET clave='$clave', clave2='$clave2' WHERE usuario='".$_SESSION['usuario']."'";
por otro lado en ningun lugar comparas que la contraseña anterior sea "valida" y asignas a la misma variable el nuevo pass
te recomendaria que hicieras mayor comparaciones para mejor seguridad
primero comparar que la contraseña escrita sea valida
segundo crear $clave2 y $clave3 y compararlas entre si para verificar que se escribio la misma
y pues eso de logistica porque lo otro ya te lo comentaron los compañeros....
espero haberte ayudado...
un saludo!!!