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

Caneco

[ajuda] 2º Submit volta ao inicio...

7 mensagens neste tópico

No primeiro menu quando uma pessoa clica no botão "Adicionar novo produto" vai para a página adicionar um novo produto. Tudo certo até aqui. Porém, quando se clica no botão guardar o formulário volta para a página inicial. Ainda não percebi porquê.

Seja...

No teste1.php vai para o teste2.php... e o teste2.php vai para o teste3.php...

Porem o teste2.php vai para o teste1.php.

Mas se formos pelo teste2.php ele consegue chegar ao teste3.php

http://ink2pixel.com/problema/teste1.php

teste1.php

<?php
function mostra(){
?>
<form method='post' action='<?php echo $PHP_SELF;?>'>
<input type="submit" value="goto > teste2.php" id="new" name="new">
</form>
<?php
}
if(isset($_POST["new"])){
include("teste2.php");
}else{
print "primeiro form";
mostra();
}
?>

teste2.php

<?php
function mostra2(){
?>
<form method='post' action='<?php echo $PHP_SELF;?>'>
<input type="submit" value="goto > teste3.php" id="wen" name="wen">
</form>
<?php
}
if(isset($_POST["wen"])){
include("teste3.php");
}else{
print "segundo form";
mostra2();
}
?>

teste3.php

chegas-te aqui...

Será que alguém me pode ajudar nisto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

no teste2.php tenta:

<?php
function mostra2(){
?>
<form method='post' action='<?php echo $PHP_SELF;?>'>
<input type="submit" value="goto > teste3.php" id="wen" name="wen">
</form>
<?php
}
if(isset($_POST["wen"])){
include("teste3.php");
mostra3();
}else{
print "segundo form";
mostra2();
}
?>

e no teste3.php

<?php
function mostra3(){
?>
chegas-te aqui...
<?php } ?>

ou

<?php
function mostra3(){
print "chegas-te aqui...";
}
?>

eu teria feito td na msma pagina mas não sei o que queres por e também é conforme o tamanho.

<?php
if(isset($_POST['new'])){
?>
segundo form
<form method='post' action='<?php echo $PHP_SELF;?>'>
<input type="submit" value="goto > teste3.php" id="wen" name="wen">
</form>
<?php
} elseif(isset($_POST["wen"])){
?>
chegas-te aqui...
<?php
} else {
?>
primeiro form
<form method='post' action='<?php echo $PHP_SELF;?>'>
<input type="submit" value="goto > teste2.php" id="new" name="new">
</form>
<?php
}
?>

cumps andreb

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O meu problema e que eu queria um form em php+html que fizesse isto:

>login

caso o user e pass estivesse bem redireccionava para >admin

mas isto atravez de header('location: ___') o problema e que aparece-me a mensagem tradicional "cannot change header"... bla bla bla...

alguem sabe como resolver isto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

faz algo assim :) :

<?php
if(isset($_POST['login']) && $_POST['user']=="blablabla" && $_POST['pass']=="blablabla"){
header("location:admin.php"); // muda de pagina para admin.php metes no inicio da pagina antes da tag html para n dar erro
exit();
} else {
?>
<form method="POST" action="<?php echo $PHP_SELF;?>">
<p>User:<input type="text" name="user" size="20"></p>
<p>Pass:<input type="password" name="pass" size="20"></p>
<p><input type="submit" value="Login" name="login"></p>
</form>
<?php } ?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tenho é o user e pass em base de dados... e nao sei se com isso dá para fazer a coisa bem...

o que mais me enerva e o "desgraçado" do erro do header... se nao fosse isso dava para fazer a coisa bem melhor... :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o erro do header dá porque tu metes esse código a meio da pagina dentro da tag html que define headers também experimenta por o código no inicio

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja resolvi... peguei no exerto de código que me deste e apliquei ao que eu tinha... é de facto uma maneira mais fixe de fazer a coisa... :)

obrigado pela ajuda.

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