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

Umbus

Post para todas as paginas

6 mensagens neste tópico

Boas eu tenho uma pagina com um formulario que me envia um dado por post para outra pagina. Dentro dessa segunda pagina tenho varias paginas para buscar valores a tabela a partir do dado da primeira pagina, mas sempre que clico num link para a mesma pagina so que com dados diferentes, ele já nao me encontra o dado como posso dar a volta?

Caso:

pagina 1:

<form action="pag2.php" method="post">
Dado: <input name="dado" type="text" />
<input type="submit" name="submit" value="seguinte" />
</form>

pagina 2:

dado=$_POST['dado'];

<?php if($dado) { // aqui ele não entra por exemplo na pagina pag2.php?pagina=10 ou outra qualquer pagina
...
}

else {

echo "Não está autorizado a entrar directamente nesta pagina";

}

Ajuda please

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes usar sessions.

Procura no manual do PHP.

Um exemplo de sessions, é em cada ficheiro pores session_start(); antes de mais nada, e em vezes de usares variáveis "normais", usas variáveis SESSION.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso nao vai afectar os logins?

Não existe outra forma mais simples de fazer, o get nao funca?

E que nao tou a ver como vou por o post para session

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

maneira simples? Vou de dar uma super martelada para fazeres isto simples:

Em casa uma das paginas crias vários inputs com os valores que queres, sempre que vais a pagina um vindo de post fazes o processo e escreves uns inputs num form e com javascript fazes post para a próxima pagina que queres chamar, nessa próxima fazes exactamente a mesma coisa... impensável não é? 

USA SESSIONS

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso nao vai afectar os logins?

Não existe outra forma mais simples de fazer, o get nao funca?

E que nao tou a ver como vou por o post para session

Os logins são feito com sessions, ou por get (sem segurança nenhuma e muito trabalhoso)

Fazer sessions tem segurança.

para fazer a session crias uma pagina a parte chamada login.php

fazer o teu post para la.

Na pagina login pões apenas:

<?

session_start(); //iniciar sessão

$util=$_POST['util']; //atribuir o utilizador a variável

$pass=$_POST['pass']; //atribuir pass a variável

//ligação BD

$ligacao = mysql_connect("localhost","util","pass") or die("Problemas na base de dados");

mysql_select_db("inagim_bd",$ligacao);

$sql="select * from cliente where nick = '$util' and pass = '$pass'";

$resultado=mysql_query($sql,$ligacao);

$registo=mysql_fetch_row($resultado);

//caso encontre o utilizador

if($registo[0]!="")

{

$_SESSION['util_id'] =$registo[0];//cria uma variável de sessão com o nome util_id que fica disponível para todas  as paginas

header('location:index.php'); // volta para a pagina index, neste caso pões a pagina que pretendes

}

else

{ //caso não encontre utilizador avisa e cria um link para retroceder a pagina anterior

?>

Utilizador não encontrado ou password invalida!<br>

<a href="javascript:history.back(1);">Voltar</a>

<?

}

?>

Quando precisares do ID do utilizador, na propria pagina:

logo na primeira linha pões:

<?

session_start();

?>

e onde precisares dele fazes:

if($_SESSION['util_id'] == "")

{

    echo $_SESSION['util_id']; //escreve o id do utilizador

}

Cada vez que precisare de fazer logoff crias outra pagina, imagina "logoff.php"

e lá dentro:

<?

session_start();

session_destroy();

header('location:index.php'); // volta para a pagina index, neste caso pões a pagina que pretendes

?>

para fazer logoff, é so chamar logoff.php o resto ele faz.

Nota

convem teres as caixas de texto com o nome dos meus posts

Cumps :P

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