aqui otra vez, ahora con un formulario donde el usuario puede visualizar sus datos y editarlos, en eso todo bien... El problema viene cuando va a cambiar su contraseña, y esq segun yo tiene q ver con la variable de sesion de su contraseña ya que la mando a llamar y la paso a una contraseña nueva, esto para hacer las validaciones correspondientes, siento q es eso ¿hay alguna forma de actualizarla?. La verdad si estoy perdida en este caso, les pongo lo mas importante del codigo:
Código PHP:
...
<?php
include "conexion.php";
$nombre_usuario = $_SESSION["nombre_usuario"];
$result=mysql_query("consulta");
while($row= mysql_fetch_assoc($result)){
?>
<form>
<tabla>
... //campos con datos que muestro del usuario
Contraseña Actual:
<input type="password" name="contrasenaActual" size="40" maxlength="40"value="" />
Contraseña Nueva:
<input type="password" id="contrasenaNueva" name="contrasenaNueva" size="40" maxlength="40"value="<?php if (isset($_POST['contrasenaNueva'])) echo $_POST['contrasenaNueva'];?>" />
Confirmar Contraseña:
<input type="password" id="ccontrasena" name="ccontrasena" size="40" maxlength="40"value="<?php if (isset($_POST['ccontrasena'])) echo $_POST['ccontrasena'];?>" />
...
</tabla>
</form>
<?php
include "conexion.php";
$contrasenaUsuario = $_SESSION["contrasena"];
$contrasenaActual = $_POST["contrasenaActual"];
$contrasenaNueva = $_POST["contrasenaNueva"];
$ccontrasena = $_POST["ccontrasena"];
... //otras variables
...//validaciones
//ya valido si pone su contraseña actual bien, si la nueva es igual a la confirmacion
//aqui viene mi condicion que no me hace lo que deseo
if ($contrasenaNueva!=NULL){//si ha hecho cambio de contraseña q la actualice
$query = "UPDATE usuarios SET contrasena='$contrasenaNueva' WHERE nombre_usuario = '$nombre_usuario' ";
$actual=mysql_query($query) or die(mysql_error());
}
else{// si no ha escrito una contraseña nueva q se quede con la actual
$query = "UPDATE usuarios SET contrasena='$contrasenaUsuario' WHERE nombre_usuario = '$nombre_usuario' ";
$actual=mysql_query($query) or die(mysql_error());
}
?>
tengo de contraseña "gato" (reviso la bd)
entro y la cambio por "gatito" (reviso la bd y si la cambia)
entro nuevamente y hago otras modificaciones sin cambiar la contraseña (entro a la bd y me vuelve a cambiar la contraseña por "gato")
La condicion que pongo en los updates no me esta funcionando nada, no se como ponerla o de que otra forma pueda conseguir que si no cambio la contraseña me la deje asi, espero me puedan ayudar, gracias desde ya!!