Hola compañeros, tengo un pequeño problema con las variables de sesion. Almaceno una variable de sesion llamada user con el nombre de usuario. Tengo una opcion para poder cambiar el nombre del usuario y si se cambia quiero modificar la variable de sesion con el nuevo nombre. El problema es que me lo deja en blanco.
El nuevo nombre de usuario lo consigo de una solicitud ajax codificada con encodeURIComponent y no se si es por esto que no me lee bien los datos.
Envio una solicitud ajax desde un fichero index.js
Código PHP:
strContenido += 'formUsuariosidUsuario=' +encodeURIComponent(oTbody.rows[numFilas-1].cells[1].firstChild.nodeValue);
ajax.send(strContenido);
Ahora recibo los datos por POST, los introduzco en la base de datos y despues intento cambiar la variable de sesion
Código PHP:
session_start();
header("Content-type:text/xml");
//header("Cache-Control: no-cache, must-revalidate");
require_once("../php.php");
$idUsuario=$_POST['formUsuariosidUsuario'];
$usuarios=$_POST['formUsuariosusuario'];
$nombre=$_POST['formUsuariosnombre'];
$mail=$_POST['formUsuariosmail'];
$password=$_POST['formUsuariospassword'];
$servidor = "xxxxxxxx";
$usuario = "xxxxx";
$pass = "xxxxxxxx";
$base_datos = "sxxxxxt";
$mysql = "update usuarios set usuario='{$usuarios}',nombre='{$nombre}',mail='{$mail}',password='{$password}' where idUsuario='{$idUsuario}'";
$conexion = new Servidor_Base_Datos($servidor,$usuario,$pass,$base_datos);
$conexion-> consulta($mysql);
$s ="-";
$respuesta= $usuarios. $s . $password. $s . $nombre;
//aqui intento cambiar el valor de la variable de sesion
$_SESSION['user'] =$nombre;
echo ($respuesta);?>
Aqui me surgen dos preguntas:
1 - despues de enviar los datos con encodeURIcomponent mediante javascript, que es lo mas conveniente para insertar los datos en la base de datos MYSQL?, lo estoy haciendo bien o es conveniente usar alguna funcion como
htmlentities() o utf8_decode() , etc??
2 - Volviendo a la variable de sesion, esta bien hecho el cambio de valor, estoy haciendo algo mal?
Espero me hecheis una mano??
Salu2