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);?>
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