• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Xikinho90

Problema com as variaveis

8 mensagens neste tópico

Boas tenho um problema que me está a dar cabo da cabeça!

eu fiz um código pequeno para ser mais fácil perceber o que quero:

<?
if (!$HTTP_POST_VARS){
$a=1;
}

if ($HTTP_POST_VARS){
echo 'a'.$a;
}


?>
<html>
<head>
<title>Novo Artigo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form1" method="post" action="a.php">
T
<input  name="Titulo" type="text" id="titulo">
</form>
</body>
</html>

Alguém me explica como é que aqui :

if ($HTTP_POST_VARS){
echo 'a'.$a;
}

meto a variável a para aparecer com o valor que declarei aqui :

if (!$HTTP_POST_VARS){
$a=1;
}

ou seja 1

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uh? Lê o código de novo antes de postares.

já li varias vezes, só meti aqui porque não consigo resolver o problema.

Eu percebo o que está mal só quero é uma maneira de resolver isso.

pá eu não sou nenhum especialista em php, e comecei nisto a pouco tempo..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Teres

if(!$var){
    $a = "xpto";
}
if($var){
    echo $a;
}

É o mesmo que teres:

if(!$var){
    $a = "xpto";
}else{
    echo $a;
}

Que traduzido para um pseudo-php em português é

se(não existir $a){
    $a = "xpto";
}caso contrário{
    echo $a;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois mas no código original( é muito grande para meter aqui) está diferente.

O que eu quero é que ele receba uma variavel através do http_get_vars depois caso seja um meto uma flag a 1 else a flag vai para 0.

depois faço um formulário e quando processo o formulario http_post_vars que que se a flag for 1 ele faça de uma maneira else faça de outra, mas quando processo o formulário as variáveis que estão dentro do http_get_vars ficaram limpas...

Eu sei que não me expliqueii da melhor maneira, e devo ter alguma coisa mal no código original... amanha vou olhar melhor para ele

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
if($_GET['var'] == 1){
    $flag = 1;
}else{
    $flag = 0;
}
// ...
if($flag == 1){
    processar o formulario duma maneira;
}elseif($flag == 0){
    processar o formulario doutra maneira;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

isso foi mais ou menos o que eu fiz e não funciona.

A primeira vez que acedo ele faz o get_vars e mete a flag = 1

de segunda em vez do get ele vai para o post e já perdeu a informação que guardou dentro do get_vars...

esquece, parece que vou ter de fazer de outra forma

EDIT: acho que já tenho uma maneira para fazer o que quero...

afinal não..

<?

echo $HTTP_POST_VARS['a'];



?>
<html>
<head>
<title>Novo Artigo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form1" method="post" action="a.php">
T
<input  name="Titulo" type="text" id="title">
<?
$HTTP_POST_VARS['a'] = 3;
?>
<input type="submit" name="Submeter" value="Submeter">
</form>
</body>
</html>

basicamente eu queria que lá em cima ele escrevesse o 3 e ele nada, já me estou a passar com isto..

já consegui fazer isto!!

não sei se é o mais correcto mas ficou feito, ainda aceito ajuda apesar que já consegui

obrigado pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nota: HTTP_POST_VARS <- não existe no meu dicionário a muito tempo, tenta $_POST ... uma coisa mais php 5...

e se queres que mostre o 3... convém defenires a var antes de a chamares...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora