Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

crazy4combat

[Resolvido] Alteração do valor da session

Recommended Posts

Bom dia,

Tenho um formulário que é direcionado para uma página que usa insert no bd. Por medidas de segurança não quero que ao ser redirecionado e gravar uma vez o usuário de reload e grava de nova.

Então na página do formulário usei

<? $_SESSION[gravar]="1"; ?>

Aí na página do insert crio a condicional

<?
if($_SESSION[gravar]==1)
{
insert....
echo "gravou";
$_SESSION[gravar]=0;
}
else
{
echo "Não gravou";
}
?>

Ao gravar pela primeira vez $_SESSION[gravar] fica 0 não é? Porque ao dar reload a session continua ==1 ?

 

OBS: Não posso usar session_destroy() porque irá destruir todas, o sistema possui um sistema de autentificação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você nao colocou as aspas talvez

 

você colocou assim

 

$_SESSION[gravar];

 

mas tem que ser assim

 

$_SESSION['gravar'] // com aspas

 

 

tenta ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você nao colocou as aspas talvez

 

você colocou assim

 

$_SESSION[gravar];

 

mas tem que ser assim

 

$_SESSION['gravar'] // com aspas

 

 

tenta ae

 

Na verdade as aspas é opcional neste caso, mesmo assim tentei coloca-las e não funciona!

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos lá:

 

Primeiro:

 

<? $_SESSION[gravar]="1"; ?>

Está incorreta a forma de tratar um numeral, pois a sessão irá reconhecer como STRING e não INT, com isso na hora da comparação você já terá problemas.

 

Aqui:

<?
if($_SESSION[gravar]==1)
{
insert....
echo "gravou";
$_SESSION[gravar]=0;
}
else
{
echo "Não gravou";
}
?>

Você compara como INT, mais como declarou como string, não vai funcionar, logo seu código deve estar assim:

 

<?php 
session_start();
$_SESSION['gravar']=1; 
?>

<?php
if($_SESSION['gravar']==1)
{
insert....
echo "gravou";
$_SESSION['gravar']=0;
}
else
{
echo "Não gravou";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.