Ir para conteúdo

POWERED BY:

Arquivado

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

weikan_1991

[DÚVIDA]PEGAR VALOR DE UM "SELECT"

Recommended Posts

Olá.

 

Estou criando um sistema onde preciso pegar o valor de um campo "select" e colocá-lo numa variável.

 

Já li diversos tutoriais à respeito aqui no site e os segui porém não está dando certo.

 

Pelo que li, se eu tenho um campo select em um arquivo php, como este:

<form method="post" action="pagina2.php">
<select name="escolhas">

<option value="escolha1">Escolha 1</option>
<option value="escolha2">Escolha 2</option>
<option value="escolha3">Escolha 3</option>
<option value="escolha4">Escolha 4</option>

</select>
</form>

Digamos que eu escolho a opção 3. Agora eu crio um arquivo chamado "pagina2.php" e coloco o seguinte código:

<?php

$variavel = $_POST['escolhas'];

echo $variavel;

?>

Segundo a lógica destes tutoriais, ele deveria escrever na tela: "Escolha 3". Não há nenhuma dificuldade nisso.

 

Agora segue o meu código. Primeiramente, o arquivo "selecionar_relatorio.php":

<html>

<head>
    <title>Selecionar Relatório</title>
    <link rel="stylesheet" style="text/css" href="form.css"/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>

<?php

$user = "root";
$senha = "";
$host = "localhost";
$conexao = mysqli_connect($host, $user, $senha) or die (mysqli_error());
$selecionar = mysqli_select_db($conexao, "sistema");

$seleciona = mysqli_query($conexao, "SELECT titulo FROM relatorios") or die (mysqli_error());
?>
<form method="post" action="exibe_relatorio.php">
<table align="center" width="350">

      <tr>
          <td align="center">
              <p>Selecionar Relatório: </p>
          </td>
          <td align="center">
             <select name="relatorio">

                 <!--<option>Selecione...</option>-->
                 <?php while($prod = mysqli_fetch_array($seleciona)) { ?>
                     <option value="<?php echo $prod['titulo'] ?>"><?php echo $prod['titulo'] ?></option>
                 <?php } ?>

             </select>
          </td>
          <td align="center">

              <input type="submit" value="Exibir"/>

          </td>
      </tr>

</table>
</form>
</body>

</html>

E agora o arquivo "exibe_relatorio.php":

<?php

$user = "root";
$senha = "";
$host = "localhost";
$conexao = mysqli_connect($host, $user, $senha) or die (mysqli_error());
$selecionar = mysqli_select_db($conexao, "sistema");

$vari = $item;

echo $vari;

?>

Eu esperava que ele me exibisse o nome da opção que eu escolhi na tela, porém ele dá erro de variável indefinida.

 

Alguém poderia me ajudar a solucionar este problema?

 

Agradeço desde já pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie um id para o form. Ex: sel1

<script>
function selecionar(){
 document.getElementById('sel1').submit();
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, Não é necessário esse javascript no post #2.

 

Segundo, você precisa recuperar o valor do campo, como explicado no tutorial acima, você não entendeu o tutorial ??

 

na sua página para exibir o relatório você deve fazer isso:

$valor = isset($_POST['relatorio']) ? $_POST['relatorio'] : false;

echo $valor

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.