Foros del Web » Programando para Internet » PHP »

comparacion variable $_post con otra $_session

Estas en el tema de comparacion variable $_post con otra $_session en el foro de PHP en Foros del Web. HOla, como estan? estoy teniendo dificultades para comparar el valor de dos variables. es un formulario para modifica datos de una persona en una base ...
  #1 (permalink)  
Antiguo 08/09/2012, 23:03
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
comparacion variable $_post con otra $_session

HOla, como estan?
estoy teniendo dificultades para comparar el valor de dos variables.
es un formulario para modifica datos de una persona en una base de datos mysql.
yo comparo el valor que consulto a mysql con el nuevo valor que envia el formulario para ver si fue modificado, para guardar el cambio:

$query = mysql_query("SELECT * FROM afiliado WHERE num_afiliado = '$id'") or die(mysql_error());
$afil = mysql_fetch_array($query);
$_SESSION['valor3']=$afi['nombre'];
$valor3=$_POST['3'];

if($_SESSION['valor3']!=$valor3){$cambio['3']=1; $_SESSION['valor3']=$valor3;$diferencia="si";}else{$_SESSION['valor3']=$valor3; $cambio['3']=0;if($diferencia=="")$diferencia="nulo";}


el problerma es que siempre devuelve$cambio['3']=1;
que puede ser que este mal?
osea,la sintaxis esta bien para el tipo de condicion?

el formulario funciona bien para guardar los cambios, muestra bien los valores iniciales en el formulario.-


muchas gracias de antemano
  #2 (permalink)  
Antiguo 09/09/2012, 01:25
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: comparacion variable $_post con otra $_session

Es una muy mala práctica tener $variable_con_un_nombre = $_POST['otro_nombre_muy_diferente"], casi siempre te complica la lectura y la edición de tus scripts, deberías tener algo como:

Código PHP:
Ver original
  1. $_SESSION['nombre'] = $afil['nombre'];
  2. $nombre = $_POST['nombre'];
  3.  
  4. // Entonces, en tu comparación verías más claramente qué variables están involucradas

Observaciones y errores:
- Asegúrate de haber asignado un valor correcto a $id
- Al final de la linea $query = mysql_query() agrega or die(mysql_error()); eso te ayudará a saber si hay errores
- Después de ejecutar la consulta, debes verificar si hay resultados para leer antes de usar mysql_fetch_array(), revisa el manual de mysql_num_rows()
- Tienes la variable $afil para leer la consulta, sin embargo, asignas el nombre desde $afi (sin L al final)
- No pongas tu if-then-else en una sóla línea, queda muy ilegible
- Usa la herramienta Highlight del foro para mostrar tu código
- Por cierto, qué caso tiene usar una variable de sesión que sólo estará disponible para comparar el valor enviado en el formulario?
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: comparacion, formulario, mysql, post, session, sql, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:46.