Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] SESSION en PHP 5

Estas en el tema de SESSION en PHP 5 en el foro de PHP en Foros del Web. saludos compañeros, pase mis sistemas a php5 (todos funcionaban al pelo) pero al correrlos en php5 saltaron varios warning y errores. el que mas me ...
  #1 (permalink)  
Antiguo 11/02/2013, 11:30
 
Fecha de Ingreso: abril-2006
Mensajes: 72
Antigüedad: 18 años
Puntos: 0
SESSION en PHP 5

saludos compañeros, pase mis sistemas a php5 (todos funcionaban al pelo) pero al correrlos en php5 saltaron varios warning y errores. el que mas me interesa solventar es el siguiente:
tengo un sistema integrado donde se programan modulos y se van agregando a ese gran sistema integrado, al crear un modulo se crea un directorio donde se guardan los archivos php de dicho modulo, y no se por que creo que ahi inicia el problema fijense al momento de loguearte en el sistema integrado se crean las variables de sesion de esa persona lo cual le permitera ver los modulos que les corresponde como usuario, en el login esta el session_start(); al inicio se uso el <?php en todo el sistema todo debe funcionar y lo hace siempre que chekeo las variables de session en el mismo directorio donde esta el login pero cuando paso a un modulo es decir a un directorio distinto pierdo las variables de session es decir si doy un echo $_SESSION["s_variable1"] me salta un error de que la variable _SESSION no existe, solvente poniendo session_satart(); en las paginas como estaba en la version anterior del pHP y funcionaba sin probleme pero al unicio el te indica q si ya hiciste un session_start() no hace falta repetirlo; bueno solvente colocando @session_satart() y se lee las variables de session pero no creo que sea lo correcto por eso quiero saber que puede estar pasando.


codigo de login
<?php
session_start();
if($_POST)
{
$usuario_user=$_POST["usuario"];
$password_user=$_POST["password"];
include 'conexion.php';
$sql="SELECT * FROM users WHERE username='$usuario_user' AND password='".md5($_POST['password'])."'";
$consulta=mysql_query($sql);
if($res=mysql_fetch_object($consulta)){
//creo las variables de session
$_SESSION["s_user_nombre"]=$res->nombre;
$_SESSION["s_user_username"]=$res->username;
$_SESSION["s_user_tipo_user"]=$res->tipo_user;
$_SESSION["s_cedula"]=$res->cedula;
echo ("<script language='javascript'>
var pagina='pdc.php'
location.href=pagina

</script>");
}else{ //no coinciden los datos con los registrados


echo ("<script language='javascript'>
alert('Datos incorrectos verifique')
var pagina='index.php'
location.href=pagina

</script>");

}
}else {

echo ("<script language='javascript'>
alert('No tiene los privilegios para visualizar esta pagina')
var pagina='index.php'
location.href=pagina

</script>");
}

?>



y el de uno de los modulos donde no funcan las variables de session

<?php
session_start();
if (isset($_SESSION["s_user_username"])) {

$cedula=$_SESSION["s_cedula"];
include_once 'funciones.php';

if ($_POST){

if (@$_POST['editar_usuario']==1)
{
$cedula=$_SESSION["s_cedula"];
include 'conexion.php';

$sql="select codigo_direccion,codigo_dependencia,codigo_car from personal where cedula='$cedula'";
$consulta=mysql_query($sql);
if($res=mysql_fetch_object($consulta)){
$direccion_dep=obt_dir_dep($res->codigo_direccion);
$dependencia_ads=obt_dep($res->codigo_dependencia);
$cargo=obt_cargo($res->codigo_car); }
// verifico que todo este bien
$sw=0;
//verifico el telefono
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=latin1" />
<title>.: SIA :.</title>
<!-- Begin DropDown -->
</head>

<body>
<?php include 'header_principal.php'; ?>
<?php include '../botonera_general.php'; ?>

<div>
<form name="form1" method="post" action="registro_actualizacion.php">
<h2>Actualiza tus datos</h2>
<ul>
<li id="foli8" class="notranslate leftHalf">
Nombre
<div>
<input id="nombre" name="nombre" type="text" class="field text medium" value="<?php echo $nombre; ?>" maxlength="250" tabindex="1" onKeyPress="return teclear(event,1)" />
</div>
<li id="foli8" class="notranslate leftHalf ">
C&eacute;dula
<div>
<input name="cedula" type="text" id="cedula" tabindex="2" onkeyup="" value="<?php echo $cedula; ?>" readonly="readonly" class="field text medium" />
</div>
<li id="foli8" class="notranslate leftHalf ">
Telefono
<div>
<input name="telefono" type="text" class="field text medium" id="telefono" tabindex="3" onKeyPress="return teclear(event,3)" value="<?php echo $telefono; ?>" maxlength="25" />
</div>
<li id="foli8" class="notranslate leftHalf ">
Fecha de Nacimiento
<div>
<input name="fecha_nac" type="text" class="field text medium datepicker" id="fecha_nac" tabindex="4" value="<?php echo $fecha_nac; ?>" maxlength="10" />
</div>
<li id="foli8" class="notranslate leftHalf ">
Correo Personal
<div>
<input name="correo_per" type="text" value="<?php echo $correo_per; ?>" maxlength="255" tabindex="5" onKeyPress="return teclear(event,8)" class="field text medium" />
</div>
<li id="foli15" class="notranslate leftHalf ">

Municipio
<div>
<?php generamunicipio(); ?>
</div>
</li>
<li id="foli15" class="notranslate leftHalf ">

Parroquia
<div>
<select disabled="disabled" name="estados" id="estados" tabindex="7" class="field text medium" >
<option selected="selected" value="0" >
Seleccionar
</option>
</select>
</div>
</li>
<li id="foli8" class="notranslate leftHalf">Direcci&oacute;n de Habitaci&oacute;n
<div>
<textarea class="field select medium"
name="direccion_hab"
rows="5" cols="50" tabindex="8"
><?php echo $direccion_hab; ?></textarea>

</div>
</li>
<li id="foli8" class="notranslate leftHalf ">
Fecha de Ingreso a la Instituci&oacute;n
<div>
<input name="fecha_ing" type="text" class="field text medium datepicker" id="fecha_ing" tabindex="9" value="<?php echo $fecha_ing; ?>" maxlength="10" readonly="readonly" />
</div>
<li id="foli8" class="notranslate leftHalf ">
Direcci&oacute;n de la que depende
<div>
<input name="direccion" type="text" class="field text medium" id="direccion" tabindex="10" onkeyup="" value="<?php echo $direccion_dep; ?>" readonly="readonly" />
</div>
<li id="foli8" class="notranslate leftHalf ">
Dependencia a la que est&aacute; adscrito(a)
<div>
<input name="dependencia" type="text" class="field text medium" id="dependencia" tabindex="11" onkeyup="" value="<?php echo $dependencia_ads; ?>" readonly="readonly" />
</div>
<li id="foli8" class="notranslate leftHalf ">
Dependencia en la que trabaja actualmente
<div>
</body>
</html>
<?php }else{
echo ("<script language='javascript'>
alert('Esta pagina es privada, no tiene los permisos necesarios')
var pagina='index.php'
location.href=pagina</script>");

} ?>


en ese ejemplo primero me da un error de que no debo colocar nuevamente el session_start() al quitarla el valor de $_SESSION["s_user_username"] no tiene nada de hecho si hago "echo $_SESSION["s_user_username"];" me dice que _SESSION no existe

alguna orientacion?
  #2 (permalink)  
Antiguo 11/02/2013, 11:56
 
Fecha de Ingreso: julio-2012
Ubicación: Nómoda como un ave
Mensajes: 61
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: SESSION en PHP 5

Verifica si en alguna de tus paginas haz terminado las variables de secion ?
Asegurate de que el nombre 's_user_username' esta tal y como lo especificaste cuando envias ese valor.
Te recomiendo que escribas el nombre en comillas simples.
  #3 (permalink)  
Antiguo 11/02/2013, 13:19
 
Fecha de Ingreso: abril-2006
Mensajes: 72
Antigüedad: 18 años
Puntos: 0
Respuesta: SESSION en PHP 5

coño que de pinga mi pana funciono al pelo lo cambie en el login y en todos los demas y funcion (cambiar " por ') te molesto con algo mas, por que es eso??? no seria lo mismo? $_SESSION["s_user"] a $_SESSION['s_user'] cual es la explicacion??
  #4 (permalink)  
Antiguo 11/02/2013, 13:37
 
Fecha de Ingreso: julio-2012
Ubicación: Nómoda como un ave
Mensajes: 61
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: SESSION en PHP 5

Ah pues contestando a tu prgunta seria porque las comillas dobles en php significan Texto o un titulo o comentario que quieras imprimir y las comillas simples denotan una variable.

para que me entiendas mejor te dejo un ejemplo.

echo "Bienvenidos a la clase de programacion";

$numero1 =$_SESSION['s_user'];
echo $numero;


Espero haber sido claro.
y sobre todo me agrada haber resuelto tu duda, en este foro para eso estamos.
  #5 (permalink)  
Antiguo 11/02/2013, 14:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: SESSION en PHP 5

Cita:
Iniciado por Papito18 Ver Mensaje
Ah pues contestando a tu prgunta seria porque las comillas dobles en php significan Texto o un titulo o comentario que quieras imprimir y las comillas simples denotan una variable.
Estás completamente equivocado, ¿o en qué parte del dice eso que acabas de afirmar?

La única diferencia es que las comillas dobles permiten la interpolación de variables y las sencillas no.

Así que es indiferente el uso cuando tratamos de acceder a un elemento de un array:
Código PHP:
$foo = array('candy' => 'bar');

echo 
$foo['candy']; // bar
echo $foo["candy"]; // bar 
Aquí está el código ejecutable: https://ignite.io/code/51194d00ec221e9476000000

Te hago una invitación a debatir al respecto ya que no puedes ir por ahí afirmando cosas que no son.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 11/02/2013, 14:17
 
Fecha de Ingreso: julio-2012
Ubicación: Nómoda como un ave
Mensajes: 61
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: SESSION en PHP 5

quizas y amarre mi argumento a un solo ejemplo a los cual pido disculpas
es evidente que el uso de las comillas simples y dobles cambia dependiendo el escenario

ejemplo:
Cuando vamos a imprimir cierta informacion pero dentro del mismo echo necesitamos meter codigo html debemos hacer una combinacion de ambas.


"
  #7 (permalink)  
Antiguo 11/02/2013, 14:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: SESSION en PHP 5

Claro pero eso no cambia que ambos son strings, y que ambos se usan en casos diferentes.
  #8 (permalink)  
Antiguo 11/02/2013, 14:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: SESSION en PHP 5

Cita:
Iniciado por Papito18 Ver Mensaje
Cuando vamos a imprimir cierta informacion pero dentro del mismo echo necesitamos meter codigo html debemos hacer una combinacion de ambas.
Definitivamente, incluso he escrito ya hace tiempo un tema al respecto:
http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 11/02/2013, 16:38
 
Fecha de Ingreso: julio-2012
Ubicación: Nómoda como un ave
Mensajes: 61
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: SESSION en PHP 5

Muy de acuerdo señor-.

Etiquetas: html, registro, select, 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 20:56.