Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2007, 15:35
Zertiko
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 22 años, 4 meses
Puntos: 2
Estoy desesperado no sé como se me cambia el valor de una sesión o no la carga bien..

Hola antes que nada desde ya doy las gracias a los que intenten ayudarme..., no doy con el problema.., al cuestión es que tengo un formulario para modificar los datos de usuario, que si lo rellenas bien, se realiza el UPDATE, sin problemas, el error viene cuando no validas bien el formulario (rellenas algún campo mal o no lo rellenas) en teoría realiza bien la validación y te devuelve el error, pero no sé porque me cambia el valor de las variables del formulario que se cargan de las variables de sesión..., en teoría no debería ser así pues la actualización de las variables de sesión la tengo en el supuesto caso que se valide bien todo el formulario y una vez realizados los UPTDATES, pero no sé porque me la hace, en fin no me enrollo más a continuación pego el code del formulario y del script que hace la validación y el UPDATE.

FORMULARIO

Código PHP:
<? include("seguridad.php"); ?>
<? 
include("conexion.php"); ?>
<?
$usuario
=$_SESSION['usuario'];
$contrasena=$_SESSION['contrasena'];
$domicilio=$_SESSION['domicilio'];
$cp=$_SESSION['cp'];
$localidad=$_SESSION['localidad'];
$provincia=$_SESSION['provincia'];
$centro=$_SESSION['centro'];
$telefono=$_SESSION['telefono'];
$correo=$_SESSION['correo'];
$nombre=$_SESSION['nombre'];
$apellidos=$_SESSION['apellidos'];
?>
Código HTML:
                                          <TABLE width="550" border="0" cellpadding="0" bgcolor="#efefef" align="center" class="textonormaltablas">
                            <!--DWLayoutTable-->
                            <TR> 
                              <TD></TD>
                              <TD colspan="2" align="center" class="textoavisos"><? echo $array_mensajegeneral[$indice_mensajegeneral]; ?> 
                                <INPUT name="usuario_actual" type="hidden" id="usuario_actual" value="<? echo $usuario; ?>"> 
                                <INPUT name="contrasena_actual" type="hidden" id="contrasena_actual" value="<? echo $contrasena; ?>"> 
                                <INPUT name="correo_actual" type="hidden" id="correo_actual" value="<? echo $correo; ?>"></TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD width="10" height="24"></TD>
                              <TD width="200" align="right" valign="middle" class="titularcuarto"> 
                                * Nombre: </TD>
                              <TD> <INPUT name="nombre" type="text" id="nombre" size="20" maxlength="40" class="cajabuscador" value="<? echo $nombre; ?>"> 
                              </TD>
                              <TD width="10"></TD>
                            </TR>
                            <TR> 
                              <TD height="24"></TD>
                              <TD align="right" valign="middle" class="titularcuarto"> 
                                * Apellidos:</TD>
                              <TD> <INPUT name="apellidos" type="text" id="apellidos" size="30" maxlength="100" class="cajabuscador" value="<? echo $apellidos; ?>"> 
                              </TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD height="24"></TD>
                              <TD align="right" valign="middle" class="titularcuarto"> 
                                Domicilio: </TD>
                              <TD><INPUT name="domicilio" type="text" class="cajabuscador" id="domicilio" size="40" maxlength="100" value="<? echo $domicilio; ?>"></TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD></TD>
                              <TD colspan="2" align="center" class="textoavisos"><? echo $array_mensajecp[$indice_mensajecp]; ?></TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD></TD>
                              <TD align="right" valign="middle" class="titularcuarto"> 
                                C&oacute;digo Postal: </TD>
                              <TD><INPUT name="cp" type="text" class="cajabuscador" id="cp" size="40" maxlength="100" value="<? echo $cp; ?>"></TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD height="24"></TD>
                              <TD align="right" valign="middle" class="titularcuarto"> 
                                Localidad: </TD>
                              <TD><INPUT name="localidad" type="text" class="cajabuscador" id="localidad" size="40" maxlength="100" value="<? echo $localidad; ?>"></TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD height="24"></TD>
                              <TD align="right" valign="middle" class="titularcuarto"> 
                                Provincia: </TD>
                              <TD><INPUT name="provincia" type="text" class="cajabuscador" id="provincia" size="40" maxlength="100" value="<? echo $provincia; ?>"></TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD height="24"></TD>
                              <TD align="right" valign="middle" class="titularcuarto"> 
                                Centro de Trabajo: </TD>
                              <TD><INPUT name="centro" type="text" class="cajabuscador" id="centro" value="<? echo $centro; ?>" size="40" maxlength="100"></TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD></TD>
                              <TD colspan="2" align="center" class="textoavisos"><? echo $array_mensajetelefono[$indice_mensajetelefono]; ?></TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD height="24"></TD>
                              <TD align="right" valign="middle" class="titularcuarto"> 
                                Telefono: </TD>
                              <TD><INPUT name="telefono" type="text" class="cajabuscador" id="telefono" value="<? echo $telefono; ?>" size="40" maxlength="100"></TD>
                              <TD></TD>
                            </TR>
                            <TR> 
                              <TD></TD> 
etc....


SCRIP PHP smodificar_registro.php

Código PHP:
<?
session_start
();
include(
"conexion.php");
$tabla="usuarios";
$tabla1="comunicaciones";
$usuario_actual=trim($_POST["usuario_actual"]);
$contrasena_actual=trim($_POST["contrasena_actual"]);
$correo_actual=trim($_POST["correo_actual"]);
$nombre=trim($_POST["nombre"]);
$apellidos=trim($_POST["apellidos"]);
$domicilio=trim($_POST["domicilio"]);
$cp=trim($_POST["cp"]);
$localidad=trim($_POST["localidad"]);
$provincia=trim($_POST["provincia"]);
$centro=trim($_POST["centro"]);
$telefono=trim($_POST["telefono"]);
$correo=trim($_POST["correo"]);
$usuario=trim($_POST["usuario"]);
$contrasena=trim($_POST["contrasena"]);
$repita_contrasena=trim($_POST["repita_contrasena"]);
// una vez recogidas todas las variables enviadas mediante POST
// comenzamos a validar el formulario
if(!empty($nombre)&&!empty($apellidos)&&!empty($correo)&&!empty($usuario)&&!empty($contrasena)&&!empty($repita_contrasena)){
if(
is_numeric($cp)){
if(
strlen($cp)==5){
if(
is_numeric($telefono)){
if(
strlen($telefono)>=7){
if(
ereg("^([a-zA-Z0-9_\.-]+)\@([a-zA-Z0-9\.-]+)\.([a-zA-Z]{2,4})$",$correo)){
if(
strlen($usuario)>=6){
if(
ereg("^[a-zA-Z0-9_\.-]+$"$usuario)){
if(
strlen($contrasena)>=6){
if(
ereg("^[a-zA-Z0-9_\.-]+$"$contrasena)){
if(
$repita_contrasena==$contrasena){
// una vez validado el formulario actualizamos el registro de usuario
$sql="UPDATE $tabla SET nombre='$nombre', apellidos='$apellidos', domicilio='$domicilio', cp='$cp', localidad='$localidad', provincia='$provincia', centro='$centro', telefono='$telefono', correo='$correo', usuario='$usuario', contrasena='$contrasena' WHERE usuario='$usuario_actual' && contrasena='$contrasena_actual'";
mysql_query($sql$conexion) or die("error en la consulta $sql ".mysql_error());
// una vez actualizado el registro de usuario actualizamos los registros de la tabla comunicaciones que comparte campos con la tabla de usuarios
$autor_nuevo=$nombre." ".$apellidos;
$sql="UPDATE $tabla1 SET usuario='$usuario', autor='$autor_nuevo', centro='$centro', correo='$correo' WHERE usuario='$usuario_actual' && correo='$correo_actual'";
mysql_query($sql$conexion) or die("error en la consulta $sql ".mysql_error());
// modifico el valor de las sesiones referentes al usuario
$_SESSION["usuario"]="$usuario";
$_SESSION["contrasena"]="$contrasena";
$_SESSION["domicilio"]="$domicilio";
$_SESSION["cp"]="$cp";
$_SESSION["localidad"]="$localidad";
$_SESSION["provincia"]="$provincia";
$_SESSION["centro"]="$centro";
$_SESSION["telefono"]="$telefono";
$_SESSION["correo"]="$correo";
$_SESSION["nombre"]="$nombre";
$_SESSION["apellidos"]="$apellidos";
// una vez actualizados los registros redireccionamos al formulario editar el registro
header("Location:modificar_registro.php?mensajegeneral=1");
// si repita contraseña no contiene la misma cadena que contraseña
}else{
header("Location:modificar_registro.php?mensajerepitacontrasena=0");
}

etc....

Gracias. Un saludo.