Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou com uma dúvida que é bem simples para vocês, porém estou quebrando a cabeça...
Tenho um formulário de cadastro, onde tem alguns campos como nome, email e etc ... com validações em outras páginas, na página de cadastro por exemplo possui o trecho nome:
<input type="text" name="nome" value="<?php echo $nome ?>">
Esse trecho faz com que, quando eu clicar no botão cadastrar e se ele não tiver preenchido o campo seguinte, a variável fica gravada dentro do campo para que o usuário não precisa DIGITAR TUDO DENOVO, apenas o que está errado, porém não estou conseguindo fazer isto form do type Select.
Alguém pode me ajudar ?
Você deve definir o valor selecionado usando o atributo selected="selected"
Referência:
http://www.w3schools.com/tags/att_option_selected.asp
Exemplo:
<?php
$opcoes = array(
'valorA' => "Valor A",
'valorB' => "Valor B",
);
$selecao = isset($_POST['selecao']) ? $_POST['selecao'] : "";
var_dump($selecao);
?>
<form action="" method="post">
<select name="selecao">
<?php foreach ($opcoes as $valor => $rotulo) { ?>
<option value="<?php echo $valor; ?>"<?php if ($selecao == $valor) { echo ' selected="selected"'; } ?>><?php echo $rotulo; ?></option>
<?php } ?>
</select>
<button type="submit">test</button>
</form><select name="teste">
<option value="a"<?php selected('a', $teste); ?>>a</option>
<option value="b"<?php selected('b', $teste); ?>>b</option>
<option value="c"<?php selected('c', $teste); ?>>c</option>
<option value="d"<?php selected('d', $teste); ?>>d</option>
</select>
e ai declare a função php:
<?php
function selected( $value, $data ){
echo $value==$data ? ' selected="selected"' : '';
}mangak como ficaria no código abaixo por exemplo ? :
Nome Completo:
<input name="nome" type="text" id="nome" value="<?php echo $nome ?>" /><br />
<br />
Email:
<input name="email" type="text" id="email" value="<?php echo $email ?>" /><br />
<br />
Confirme o email:
<input name="email2" type="text" id="email2" value="<?php echo $email2 ?>" /><br /><br>
Data de nascimento: <select name="dia">
<option value="dia">Dia</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
Will não deu certo ... como ficaria no meu código tem como mostrar o exemplo ?
Nome Completo:
<input name="nome" type="text" id="nome" value="<?php echo $nome ?>" /><br />
<br />
Email:
<input name="email" type="text" id="email" value="<?php echo $email ?>" /><br />
<br />
Confirme o email:
<input name="email2" type="text" id="email2" value="<?php echo $email2 ?>" /><br /><br>
Data de nascimento: <select name="dia">
<option value="dia">Dia</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>No inicio da página, para identificar o dia selecionado e criar um array de dias (PHP)
$dias = range(1, 31);
$dia_selecionado = isset($_POST['dia']) ? $_POST['dia'] : "";
Gerar o select
Data de nascimento: <select name="dia">
<?php foreach ($dias as $dia) { if ($dia < 10) { $dia = "0" . $dia; } ?>
<option value="<?php echo $dia; ?>"<?php if ($dia_selecionado == $dia) { echo ' selected="selected"'; } ?>><?php echo $dia; ?></option>
<?php } ?>Acho que sua idéia está correta, mas agora não está listando os dias de 01 à 31
Se você está com problema no select por que postou o código do text? :mellow: