Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
costelo

PHP - Abrir resultado do post do form em nova janela.

Recommended Posts

Daê!

Estou desenvolvendo um site e gostaria de fazer o seguinte.

Tenho e seguinte formulário


<form name="form1" id="form1">
<select name="teste" class="formfield" id="teste" >
<?php
$res = mysql_query("SELECT * FROM teste");
while($linha = mysql_fetch_array($res))
{
$id = $linha['id'];
$categoria = $linha['titulo'];
$titulo = substr($categoria, 0, 35);
echo "<option value=$id>$titulo ...</option>";
}
?>
</select>
<INPUT type="button" value=" Ir " onClick="window.open('mostra_teste.php','mywindow','width=400,height=200,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes')">
</form>

Este formulário lista uma série de titulos de textos.

Gostaria q apos selecionar o titulo e clicar no botão " IR " esse texto fosse mostrador em uma nova janela.

Mas o fato é q esta nova janela abre, mas nao está recebendo a variavel ID da opção selecionada.

Acredito q falte alguma coisa no codigo do botão


<INPUT type="button" value=" Ir " onClick="window.open('mostra_teste.php','mywindow','width=400,height=200,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes')">

Alguem pode me ajudar...

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Submete o formulário por POST, na tela seguinte você vai ter o $_POST[teste] (name do <select>) e nele o ID como valor (que é o value da <option>). Faça uma nova consulta no banco pegando o registro com esse ID e mostre.

Se você quiser em popup basta colocar no <form> target="_blank"

Compartilhar este post


Link para o post
Compartilhar em outros sites
Daê!

Estou desenvolvendo um site e gostaria de fazer o seguinte.

Tenho e seguinte formulário


<form name="form1" id="form1">
<select name="teste" class="formfield" id="teste" >
<?php
$res = mysql_query("SELECT * FROM teste");
while($linha = mysql_fetch_array($res))
{
$id = $linha['id'];
$categoria = $linha['titulo'];
$titulo = substr($categoria, 0, 35);
echo "<option value=$id>$titulo ...</option>";
}
?>
</select>
<INPUT type="button" value=" Ir " onClick="window.open('mostra_teste.php','mywindow','width=400,height=200,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes')">
</form>

Este formulário lista uma série de titulos de textos.

Gostaria q apos selecionar o titulo e clicar no botão " IR " esse texto fosse mostrador em uma nova janela.

Mas o fato é q esta nova janela abre, mas nao está recebendo a variavel ID da opção selecionada.

Acredito q falte alguma coisa no codigo do botão


<INPUT type="button" value=" Ir " onClick="window.open('mostra_teste.php','mywindow','width=400,height=200,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes')">

Alguem pode me ajudar...

Obrigado

é necessario colocar o metlhod get ou post nas tags do form que não foi escrito

Editado por rickayron
erro de linguagem

Compartilhar este post


Link para o post
Compartilhar em outros sites
Submete o formulário por POST, na tela seguinte você vai ter o $_POST[teste] (name do <select>) e nele o ID como valor (que é o value da <option>). Faça uma nova consulta no banco pegando o registro com esse ID e mostre.

Se você quiser em popup basta colocar no <form> target="_blank"

como ficaria o codigo na pagina q vai receber o resultado do post?

tentei assim mas nao funcionou:

$poema = $_POST[form1] (poemas);

$sql = "SELECT * FROM pt_poemas WHERE id = $poema";

quanto ao target="_blank" até funciona, mas quero poder controlar esse popuo quanto ao tamanho e posicionamento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$poema = $_POST[teste] > que é o name do select

o restante OK

Quanto ao tamanho do popup e posicionamento a forma mais simples é você criar um evento "onsubmit" na declaração do formulário. Este evento dispararia uma função que abriria uma janela com o window.open() e também definiria o target do formulário

Exemplo:

<form name="formu" method="post" action="acao.php" onsubmit="javascript: abreResposta(this)">

Daí em javascript você cria a função abreResposta():

<script language="javascript" type="text/javascript">
function abreResposta(formulario) {
window.open("_blank","novaJanela","......");
formulario.target = 'novaJanela';
return true;
}
</script>

Cara, nem testei, mas você se encontrar algum erro vai ser alguma coisa besta. E tá bem tranquilo tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... nao funcionou de nem uma maneira :(

O problema é q a nova pagina que abre nao está recebendo a variavel do select do formulário.

criei um arquivo teste pra assim

<?
echo ($_POST[nomedoselect]);
echo ($_REQUEST[nomedoselect]);
?>

e mesmo assim vi q nao escreve a variavel.

se eu fizer o resultado do formulário abrir normalmente tudo funciona perfeitamente, mas tentando abrir em um popup nao dá.

utilizando o java script

<script language="javascript" type="text/javascript">
function abreResposta(formulario) {
window.open("_blank","novaJanela","......");
formulario.target = 'novaJanela';
return true;
}
</script>

o resultado é o mesmo de por target="_blank" na declaração do formulário.

mais alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente colocar o nome dos seletores entre aspas

<?

echo ($_POST['nomedoselect']);

//ou

echo ($_POST["nomedoselect"]);

?>

dica:

para facilitar a vida dos usuários avançados, troque o seu method de POST para GET e não suma com a barra de endereços com java,

porque ai o usuário avançado que olhar na pagina:

minhapagina.net/poemas.php?poem_id=1

de cara vai pensar em tacar 2 se quiser ler outro... (tenho até um plugin de firefox que faz isso (MouseGestures - direta cima direita cima incrementa, direita baixo direita baixo decrementa =D))

e para recuperar

//Com esse trecho no início do código php evita que a página continue sendo interpolada se não estiver setada a variavel poem_id
if (!isset($_GET['poem_id']) {
die('ID não encontrado.');
}
//em seqüência:
$poem_id = $_GET['poem_id'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Além do que o KodornaRocks disse, você mudou a declaração do seu formulário, colocando method, action e tal? Porque a primeira estava incompleta...

Compartilhar este post


Link para o post
Compartilhar em outros sites

depois de mexer muito o codigo ficou assim


<form name="form1" id="form1" method="get" action="mostra_poema.php">
<select name="poemas" class="formfield" id="poemas" >
<?php
$res = mysql_query("SELECT * FROM pt_poemas");
while($linha = mysql_fetch_array($res))
{
$id = $linha['id'];
$titulo = $linha['titulo'];
echo "<option value=$id>$titulo</option>";
}
?>
</select>
<INPUT type="button" value=" Ir " onClick="window.open('mostra_poema.php','mywindow','width=400,height=200,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes')">
</form>

o arquivo mostra_poema.php está assim

<?
echo ($_GET[poemas]);
?>

mas ainda nao está recebendo a variável.

ja tentei com o method="post" tambem e nao deu certo.

mais alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Enquanto você não submeter o formulário não vai receber mesmo, o que você colocou ali foi um botão normal, não um submit.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora fiz o seguinte:

a declaração do formulário ficou assim

<form name="form1" id="form1" method="post" >

tirei a action porque com a action e com o botão submit a pagina home muda para a mostra_poema.php e nao é isso q eu quero. quero q a mosta_poema.php abra em um popup.

mudei o botão para:

<INPUT name="Enviar" type="submit" onClick="window.open('mostra_poema.php','mywindow','width=400,height=200,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes')" value=" Ir ">

mas a mostra_poema.php continua nao recebendo a variavel.

vou refazer tudo porque de tanto que mexi já nao me encontro mais.

se funcionar posto aqui pra vocês como fiz.. se nao funcionar vou pensar em outra maneira de fazer isso.

abraço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lá no post #5 a dica que eu te dei eu testei aqui e funcionou: IE, FF, etc.

Obs.: você precisa do action.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal, agradeço mesmo a todos vocês q me ajudaram, mas por falta de conhecimento meu nao consegui implementar isso.

Agora já mudei de ideia e farei o resultado do post abrir em uma nova pagina normalmente.

Como todos aqui foram prestativos gostaria de uma ajuda com outro problema: :D

quero de criar um filtro por ip para que os acessos feitos do brasil fossem direcionados para a versão em portugues, enquanto os acessos feitos de qualquer outro lugar fossem direcionados para a versão em inglês.

Alguem já viu algo parecido?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega,

Creio que seu erro está no direcionamento para a janela que abre:

INPUT type="button" value=" Ir " onClick="window.open('mostra_teste.php','mywindow','width=400,height=200...

você deve informar as variáveis enviadas assim:

'mostra_teste.php?variável1=$id&&variavel2=$titulo'

Assim fazendo, a página 'mostra_teste.php' recebe suas variáveis

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×