Hola,
Tengo un formulario para editar 3 campos de usuario en una bd y estoy intentando que además del usuario en cuestión, también el administrador pueda modificar esos datos.
El problema que no logro solucionar es que cuando le paso la variable $id de otra forma que no sea:
Código PHP:
$id=$_SESSION["userid"];
solo modifica el primer campo, en los 2 siguientes no realiza el cambio.
Os pongo el código del proceso:
Código PHP:
function editSpaceProcess($formvars)
{
$headline=$this->escape($formvars["headline"]);
$content=$this->escape($formvars["content"]);
$rcontent=$this->escape($formvars["rcontent"]);
//OPCION1, la original pero no deseada.
//(Aqui funciona perfectamente, cambia los 3 campos)
$id=$_SESSION["userid"];
//OPCION2
// (A pesar de usar sesiones, solo cambia el primer campo)
$id=$_SESSION["pasarid"];
//OPCION3
// (Pasada a través de formulario con hidden, solo cambia el primer campo)
$id=$formvars["pasarid"];
//OPCION4
// (Cookie definida en el anterior paso, solo cambia el primer campo)
$id=$_COOKIE["pasarid"];
$change_headline="UPDATE users SET `headline`='$headline'
WHERE `id`='$id'";
mysql_query($change_headline) or die("Error updating headline: " . mysql_error());
$change_content="UPDATE space_content SET `content`='$content'
WHERE `user_id`='$id'";
mysql_query($change_content) or die("Error updating content: " . mysql_error());
$change_rcontent="UPDATE right_content SET `content`='$rcontent'
WHERE `user_id`='$id'";
mysql_query($change_rcontent) or die("Error updating rcontent: " . mysql_error());
$this->isLoggedIn();
$this->theme();
$this->tpl->display('spacechanged.tpl');
}
Pues lo dicho, únicamente dejando la linea original $id=$_SESSION["userid"]; modifica los 3 campos, los valores en las otras opciones llegan a la función, porque modifica el primer campo (headline) pero no los siguientes.
A ver si podéis echarme una mano con esta rara situación (al menos para un novato como yo)
gracias de antemano