PHP - Recuperar valor de option após submit

2 respostas
P

Olá pessoal,

Gostaria de saber como posso pegar o valor da option value que selecionei e colocar na option value da mesma página.

Tentei usar a lógica abaixo:

<?php
session_start();
$_SESSION['valor'] = $_GET['select_estado'];
?>

<html> 
<head>
<title>teste</title>
<form action="teste.php">
Nome<input type="text" name="text_nome">
<br>
Estado
<select name="select_estado" id="select_estado" value="<?= $_SESSION['valor']; ?>">
<option value="SP">São Paulo</option>
<option value="RJ">Rio de Janeiro</option>
<option value="MG">Minas Gerais</option>
</select>
<br> <br> <br> 
<input type="submit" value="Enviar">
</form>
</head>
</html>

2 Respostas

D

o ideal seria fazer essa listagem de dinâmica com uma condição pra selecionar o cara escolhido anteriormente.
Por exemplo:

<? $array = array('SP', 'RJ', 'MG'); for ($array as $option) { if ($option == $GET['campo_do_form']) echo '{$option}"; else echo '{$option}"; }
J

A idéia do danilowz tá certa, melhor você criar um array, eu faria assim:

<?php
$estados = array(
    'SP'=>'São Paulo',
    'RJ'=>'Rio de Janeiro',
    'MG'=>'Minas Gerais'
);
$select_estado = $_GET['select_estado']; // não precisa colocar na sessão aqui
?>

<html> 
<head>
<title>teste</title>
<form action="teste.php">
Nome<input type="text" name="text_nome">
<br>
Estado
<select name="select_estado" id="select_estado">
<?php foreach($estados as $sigla=>$nome)} ?>
<option value="<?php echo $sigla; ?>" <?php echo ($sigla==$select_estado) ?'selected="selected"':''; ?>><?php echo $nome; ?></option>
<?php } ?>
</select>
<br> <br> <br> 
<input type="submit" value="Enviar">
</form>
</head>
</html>
Criado 10 de fevereiro de 2012
Ultima resposta 10 de fev. de 2012
Respostas 2
Participantes 3