Tio, ya lo conseguí eran dos o tres tonterias que habia que mirar bien, por ejemplo :
$sesion = $_COOKIE["unick"]; puse esto así
y luego la llamaba asi: $session con dos s ese era uno de los fallos de todas formas pego el codigo aki para que le pueda servir a la gente.
gracias por todo Hidek1. un saludo.
Código PHP:
<?
global $web;
global $feed;
global $portadas;
global $genero_id;
global $genero_titulo;
global $ficha_titulo;
global $ficha_id;
$salida='<div id="interior" class="interior">';
$salida.='<div id="buzon" class="buzon">';
$salida.='<h2>Cambiar Clave de Acceso</h2>';
$salida.='<form action="'.$web.'cambiar-clave/" method="POST">
<table width="100%" cellpadding="0" cellspacing="5">
<tr>
<td width="31%" align="right"><strong>Nick:</strong></td>
<td width="69%"><input name="nick" type="nick" class="file" size="15"></td>
</tr>
<tr>
<td width="31%" align="right"><strong>Clave actual:</strong></td>
<td width="69%"><input name="pass" type="password" class="file" size="30"></td>
</tr>
<tr>
<td align="right"><strong>Nueva clave:</strong></td>
<td><input name="nueva" type="password" class="file" size="30"></td>
</tr>
<tr>
<td align="right"><strong>Confirmar nueva clave:</strong></td>
<td><input name="nueva2" type="password" class="file"size="30"></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="5" cellpadding="0">
<tr>
<td> </td>
</tr>
<tr>
<td><div align="center">
<input type="submit" class="boton" value="Modificar clave" name="modificar" />
<input type="reset" class="boton" value="Borrar campos" />
</div></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><span class="Estilo1">* Todos los campos son obligatorios</span></td>
</tr>
<tr></tr>
<tr>
<td> </td>
</tr>
<tr>
<td><a href="">Volver</a></td>
</tr>
</table>
</form> ';
session_start();
if (isset($_COOKIE["unick"])) {
include("php/config.php");
$session = $_COOKIE["unick"];
if (isset($_POST["modificar"])) {
$nick = $_POST["nick"];
$a = md5($_POST["pass"]);
$b1 = $_POST["nueva"];
$b2 = $_POST["nueva2"];
if($a==NULL|$b1==NULL|$b2==NULL|$nick==NULL) {
$salida.= '<h2>ERROR</h2>
<div class="info">
<p>Asegurese de rellenar todos los campos - <a href='.$web.'cambiar-clave/><strong>Volver a intentarlo</strong></a></p>
</div>' ;
}else{
mysql_close();
/*$con = mysql_query("SELECT * FROM usuarios WHERE nick='$session'");
$mostrar = mysql_fetch_array($con);*/
include("php/config.php");
$query='SELECT * FROM usuarios WHERE id='.$_COOKIE['uid'];
$result=mysql_query($query);
mysql_close();
while($registro = mysql_fetch_array($result)) {
$actual = $registro['contrasena'];}
//echo $actual . " = ". $a ;
if($actual!=$a) {
$salida.= '<h2>ERROR</h2>
<div class="info">
<p>"Clave actual" debe ser la clave que usas actualmente para iniciar sesion. Si no conoces esa clave, aconsejo ir a "olvide mi clave". - <a href='.$web.'cambiar-clave/><strong>Volver a intentarlo</strong></a></p>
</div>' ;
}else{
if($b1!=$b2) {
$salida.= '<h2>ERROR</h2>
<div class="info">
<p>Error en la confirmacion de la nueva clave, asegurese de que coinciden en ambos casos. - <a href='.$web.'cambiar-clave/><strong>Volver a intentarlo</strong></a></p>
</div>' ;
}else{
include("php/config.php");
$query='UPDATE usuarios SET contrasena="'.md5($b1).'" WHERE id='.$_COOKIE['uid'];
$result=mysql_query($query) or die("Error: ".mysql_error());
$salida.= '<h2>Modificacion Exitosa</h2>
<div class="info">
<p>Tu clave ha sido modificada correctamente. Esta es tu nueva clave:<strong>'.$b1.'</strong>. Recuerdala la proxima vez que quieras iniciar sesion. Haz click <a href='.$web.'><strong>aqui</strong></a> para volver</p>
</div>' ;
$_SESSION = array();
}
}
}
}
}else{
$salida.= '<h2>ATENCION</h2>
<div class="info">
<p>Tu no estas autentificado. No puedes entrar aqui!!</p>
</div>' ;
//echo 'Tu no estas autentificado. No puedes entrar aqui!!<br><br><a href="index.php">Volver</a>';
}
$salida.='</div>';
$salida.='</div>';
return $salida;
}
?>
en action, mando el formulario al mismo archivo como podras ver, lo unico que no consigo es que cuando de la respuesta de lo que sea, ya sea fallo o no me sigue apararecioendo el formulario arriba supongo que sera con un if y un else pero no se como ponerlo, si puede alguien ayudarme lo agradeceria.
un saludo
y gracias .