Foros del Web » Programando para Internet » PHP »

paso de valor de sessiones

Estas en el tema de paso de valor de sessiones en el foro de PHP en Foros del Web. hola que tal amigods de foros del web...tengo un problemilla espero me puedean ayudar... en mi web programe un combo que me jala datos de ...
  #1 (permalink)  
Antiguo 27/11/2009, 14:15
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 10 años, 10 meses
Puntos: 0
paso de valor de sessiones

hola que tal amigods de foros del web...tengo un problemilla espero me puedean ayudar...


en mi web programe un combo que me jala datos de la BD, del value del combo hago nuevamente una consulta y me muetra la consulata en la misms pag...
dicha pag recibe una variable con la cual creo una sesion... el problema viene que cuando se refresca la pg con la segunda consulta, cambia el valor de ls sesion ...
les pongo el código ...
<?php session_start();

$reporte=$_GET['tipo_rep']; // recibe el dato de reporte de panel asesor

?>
<html>
<head>
<title>Café Punta del Cielo</title>
<link rel="stylesheet" href="menu_style.css" type="text/css" media="screen" />
<link rel="stylesheet" type="text/css" media="screen" href="css/menus.css" />
<style type="text/css">
<!--

.big4 { font-family: Arial, Helvetica, sans-serif;
font-size: 18px;

color: #ffffff;
}
.big5 { font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
color: #000000;
}
.Estilo1 {
font-family: Arial, Helvetica, sans-serif;
color: #0066cc;
font-size: 12px;
}
.Estilo3 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #FFFFFF;
}
.Estilo6 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #0066cc; }

.Enlace {
color: #0066cc;
font-size: 11px;
font-style: normal;
font-family: verdana;
text-decoration: none;
}
.Estilo7 {font-family: Arial, Helvetica, sans-serif; color: #0066cc; font-size: 12px; font-style: italic; }
.Estilo8 {font-size: 12px; color: #FFFFFF; font-family: Arial, Helvetica, sans-serif;}

-->
ul#dos {
font-family: Arial, Helvetica, sans-serif;
font-size: 36pt;
//list-style:none;
margin:0;
padding:0;
}
ul#dos li {
margin:2px;
padding:0;
float:left;
}
ul#dos li a {
display:block;
width:200px;
padding:4px 0;
text-decoration:none;
text-align: left;
font-size:12px;
color:#c5c5c5;
background-color:#1a1a1a;
}
ul#dos li a:hover {
color:#0076ba;
background-color:#1a1a1a;
font-size: 12px;
}
-->menu lado der
ul#dos3 {
font-family: Arial, Helvetica, sans-serif;
font-size: 36pt;
//list-style:none;
margin:0;
padding:0;
}
ul#dos3 li {
margin:2px;
padding:0;
float:left;
font-family: Arial, Helvetica, sans-serif;
font-style: normal;
}
ul#dos3 li a {
display:block;
width:160px;
padding:4px 0;
text-decoration:none;
text-align: left;
font-size:14px;
color:#c5c5c5;
background-color:#1a1a1a;
}
ul#dos3 li a:hover {
color:#0076ba;
background-color:#1a1a1a;
font-size: 14px;
}

</style>

</head>


<body bottommargin="0" bgcolor="#000000" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
<table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000" height="447" style="WIDTH: 525px">
<tr>
<td bgcolor="#000000"></td>
<td><table bgcolor="#000000"width="81%" border="0" align="center" cellpadding="0" cellspacing="0">


<tr>
<td height="386" valign="top"><table width="49%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td valign="middle"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<table width="69%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="35" bgcolor="#0076ba" align="center" class="Estilo6">
<?
if ($reporte == "visita")
{
echo "<span class='Estilo3'>Subir archivo del visitante</span";
$SESSION["tipo_reporte"]='visita';
session_register("SESSION8");
}
else
{
echo "<span class='Estilo3'>Subir archivo del visitante misterioso</span";
$SESSION["tipo_reporte"]='visita_misteriosa';
session_register("SESSION8");
} ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#CCCCCC"><? echo $SESSION["tipo_reporte"];?>
<tr>
<td><table width="338" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="284" height="48" class="descarga"><div align="center">
<?php

$nom_comercial=$_POST['nom_comercial'];

include"conect.php";
mysql_select_db($database,$conexion) or die("No se puede seleccionar BD");
$result=mysql_query("SELECT * FROM franquiciatarios");

echo'<form method="post" action="subir_rep_visita.php">';

echo '<select name="nom_comercial" onChange="submit()" style="left:10px;width:130px;font-family:Arial;font-size:12px;z-index:0">';

echo "<option value= '$nom_comercial'>".$nom_comercial.'</option>';

while($row = mysql_fetch_array($result)){

echo '<option value= "'.$row['nom_comercial'].'">'.$row['nom_comercial'].'</option>';
}


echo '</select>';
echo '</form>';
?>
</div></td>
</tr>
<tr>
<td><a href="Untitled-2.php" class="Enlace">ver sesion</a></td>
</tr>
<tr>
<td><?php

include"conect.php";

mysql_select_db($database,$conexion) or die("No se puede seleccionar BD");
$result=mysql_query("select * from franquiciatarios where nom_comercial='$nom_comercial'");


?>
<table width="100%" border="0" align="center" cellpadding="0" sellspacing="0">
<?php
while($row = mysql_fetch_array($result)) {
$SESSION["id_user"]=$row['id_user'];
session_register("SESSION4");
// $SESSION["tipo_reporte"]=$reporte;
//session_register("SESSION5");


?>
<tr>
<td width="40%"bgcolor="#0076ba" >&nbsp;<span class="current"> Nombre comercial</span></td>
<td width="3%">&nbsp;</td>
<td width="57%" ><?php echo "<span class='current'>". $row['nom_comercial']."</span>"; ?></td>
</tr>
<tr>
<td colspan="3" height="10px"></td>
</tr>
<tr>
<td bgcolor="#0076ba" >&nbsp; <span class="current">Ciudad</span></td>
<td>&nbsp;</td>
<td ><?php echo "<span class='current'>". $row['ciudad']."</span>"; ?></td>
</tr>
<tr>
<td colspan="3" height="10px"></td>
</tr>
<tr>
<td bgcolor="#0076ba" >&nbsp; <span class="current">Direcci&oacute;n</span></td>
<td>&nbsp;</td>
<td ><?php echo "<span class='current'>". $row['direccion']."</span>"; ?></td>
</tr>
<tr>
<td colspan="3" height="10px"></td>
</tr>
<tr>
<td bgcolor="#0076ba" >&nbsp; <span class="current">Tel&eacute;fono </span></td>
<td>&nbsp;</td>
<td ><?php echo "<span class='current'>". $row['telefono']."</span>"; ?></td>
</tr>
<?php }
mysql_free_result($result);
?>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="middle"><form action="subir_rep_visita_script.php" method="post" enctype="multipart/form-data">
<table width="106%" border="0" align="center" cellpadding="0" cellspacing="0" class="Estilo3">

<tr>
<td>Cargar archivo </td>
<td><input name="fichero" type="file" size="20" maxlength="100"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td colspan="2" align="center"><input name="submit" type="submit" value="Subir"></td>
</tr>
<tr><td colspan="4"></td>
</tr>
</table>
</form></td>
</tr>

</table></td>
</tr>
</table></td>
</tr>

</table></td>
<td bgcolor="#000000">&nbsp;</td>
</tr>

</table>
  #2 (permalink)  
Antiguo 27/11/2009, 14:52
 
Fecha de Ingreso: julio-2003
Ubicación: Cochabamba Bolivia
Mensajes: 300
Antigüedad: 16 años, 6 meses
Puntos: 14
Respuesta: paso de valor de sessiones

Yo creo que tu problema esta por esta linea ya que siempre estas dando la session y por eso cambia, mira esto

Código PHP:
while($row mysql_fetch_array($result)) {
$SESSION["id_user"]=$row['id_user'];
session_register("SESSION4"); 
Lo unico que haces es dar la session si esta en la bd o no? si la encuentra le da un nuevo valor, pero que pasa si encuentra y ademas ya tiene un valor anterior?

pues entonces deberias de hacer algo asi antes de asignar el valor al variable de session:

Código PHP:
if($SESSION["id_user"]<>"")
{
while(
$row mysql_fetch_array($result)) {
$SESSION["id_user"]=$row['id_user'];
session_register("SESSION4");

Asi solo registrara la session si el valor esta vacio.

Aunque creo que tu planteamiento esta mal ya que esta verificacion deberias hacerlo aparte y no en esta misma pagina y llamarlo con un include solo cuando sea necesario.

Saludos.
__________________
:policia: Uno para todos y todos para uno.
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 11:08.