Comunidad de diseño web y desarrollo en internet online

Como recojer datos y crear sessiones correctamente

Citar            
MensajeEscrito el 18 May 2010 10:50 pm
a ver... si porfavor me ayudan con esto. Que seria mas recomendable usar en estos casos (noten las comillas) :

//PARA RECOGER DATOS DEL FORMULARIO
$clave=$HTTP_POST_VARS["txtclave"];
$clave=$HTTP_POST_VARS['txtclave'];

//PARA CREAR SESSIONES
$_SESSION["s_administrador"]=="zonarock"; o
$_SESSION['s_administrador']=="zonarock"; o

$_SESSION['s_administrador']=='zonarock'; o
$_SESSION["s_administrador"]=='zonarock';

//PARA BORRAR LA SESSION DE ARRIBA
Session_unregister("s_administrador"); o
Session_unregister('s_administrador');

por ejemplo si la session la creo con comillas dobles: $_SESSION["s_administrador"]=="zonarock"; deberia borrarla con comillas dobles : Session_unregister("s_administrador");

//PARA REDIRECCIONAR
header('Location: acceso.php'); o
header("Location: acceso.php");

//PARA EVALUACION de TEXTO
if($clave=="1234")
if($clave=='1234')

//PARA EVALUAR SI ESTA VACIA LA CADENA
if($clave!="")
if($clave!='')

//ESTOY USANDO EL ECHO CON PARENTESIS. ¿esta bien o no es recomendable?
echo("Acceso Negado, Clave Incorrecta");

//O ES MEJOR ASI
echo "Acceso Negado, Clave Incorrecta");

Disculpen si es una pregunta :? tonta pero esque estoy recontra mariado con las sessiones y las redirecciones (Location), todo funciona bien desde mi compu...(localhost) pero desde el server tengo algunos problemas con esto de las sessiones y el header location y no se si el problema tambien puede pasar por esto de las comillas.

Gracias por la atencion...

Por zonarock

65 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 18 May 2010 11:02 pm
No uses session_unregister si estas usando $_SESSION. Además esa función está depreciada, por lo que ya deberias dejar de usarla.

Para lo tuyo usa unset.

Código PHP :

<?php
session_start();

// creando variable de sesion
$_SESSION["mivar"] = "valor";
// destruyendo la variable
unset($_SESSION["mivar"]);
// esto es igual que la linea anterior
$_SESSION["mivar"] = null;

?>


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 18 May 2010 11:56 pm

Maikel escribió:

No uses session_unregister si estas usando $_SESSION. Además esa función está depreciada, por lo que ya deberias dejar de usarla.

Para lo tuyo usa unset.

Código PHP :

<?php
session_start();

// creando variable de sesion
$_SESSION["mivar"] = "valor";
// destruyendo la variable
unset($_SESSION["mivar"]);
// esto es igual que la linea anterior
$_SESSION["mivar"] = null;

?>


justo ahora estoy con este preoblema de las sessiones, desde mi compu funciona pero desde el server no me borra la session.

lo acabo de probar asi:

Código PHP :

//creo la session
<? session_start();
$clave=$HTTP_POST_VARS["txtclave"];
if($clave!=""){
   if($clave=="1234"){
      //CREA LA SESSION DEL ADMINISTRADOR
      $_SESSION["s_administrador"]="yo";
      header("Location: mantenimiento.php");}
   else{
      echo("Acceso Negado, Clave Incorrecta<br /><br />");}}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Acceso a mantenimiento</title>
</head>
<body>

<form action="mt_acceso.php" method="post" name="FrmAccedo" id="FrmAcceso">
   Clave : <input type="password" name="txtclave" />&nbsp;<input type="submit" value="Ingresar" />
</form>
<a href="index.php">inicio</a>
</body>
</html>

y para eliminar la session tengo este:

Código PHP :

<?
unset($_SESSION["s_administrador"]);
header("Location: mt_acceso.php");
?>

luego en mantenimiento evaluo si la session existe y comop ya esdta borra ad me deberia botar de la pagina pero no incluso me muestra el valor de la session (lo tengo como include)

inc_validaracceso.php

Código PHP :

<? if($_SESSION['s_administrador']==""){
header("Location: mt_acceso.php");}
?>

Por zonarock

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 19 May 2010 12:34 am
  • Usa la etiqueta <?php y no <?.
  • Cada vez que vayas acceder a la matriz $_SESSION debes haber invocado session_start() (sólo una sola vez).


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 19 May 2010 03:06 am
ujum, a excepcion de la ultimisa version que ya no hace uso del session_start, session_register y session_unregister echence una leeida a la documentacion pero si te funciona ;D chevere sigue con ellas saludos

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 19 May 2010 04:24 am

talcual escribió:

ujum, a excepcion de la ultimisa version que ya no hace uso del session_start, session_register y session_unregister echence una leeida a la documentacion pero si te funciona ;D chevere sigue con ellas saludos


session_start se sigue usando, sino dime la fuente que dice que no se usa ya...

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 24 May 2010 11:33 pm
ya ta... el problema estaba en no declarar la session_star() en donde elimino la session. lo que pasaba era que en mi confuracion del php etaba en on y en el server estaba en off lo de las sesiones, por eso funcionaba en mi compu y no en el server.

<?
session_star
unset($_SESSION["s_administrador"]);
header("Location: mt_acceso.php");
?>

gracias por la ayuda gente...

Por zonarock

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 May 2010 11:35 pm
Por eso dije arriba que, cada vez que fueras a usar $_SESSION invocaras session_start, bueno ya solucionaste.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 24 May 2010 11:44 pm

Maikel escribió:

Por eso dije arriba que, cada vez que fueras a usar $_SESSION invocaras session_start, bueno ya solucionaste.

saludos


si pues... tenias razon.. gracias

Por zonarock

65 de clabLevel



Genero:Masculino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.