Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia caros amigos, estou com a seguinte dúvida:
Elaborei um campo no meu formulário que utilizando o "for" gero a quantidade de campos selecionada pelo usuário...
o nome destes inputs também são gerados automaticamente, gostaria de saber como faço para capturar esses campos, atualmente consigo pegar apenas o último!
Fiz isso transformei o nome do campo em name="nomeS[]"
e em seguida:
$nomeReserva = $_POST['nomeS()'];
For($i = 0;$i < count($nomeReserva);$i++) {
echo $nomeReserva;
}
no echo ele traz: Array...
:/
faz assim:
foreach($_POST['nomeS'] as $item){
echo $item;
}para gerar o for você tem vários?
<input type="text" name="nomeS[]" />
>
para gerar o for você tem vários?
<input type="text" name="nomeS[]" />
usei o for para quando existir um valor dentro do campo gerar um input de acordo com a quantidade...
porem não estou conseguindo pegar o valor destes inputs gerados!
tenta fazer assim (vou dar a lógica, o código você desenvolve):
<?php
$cont = 1;
?>
...
<?php
do(
echo "<input type='text' name='nome_<?php echo $cont; ?>' />";
$cont ++;
)while( CONDIÇÃO DO WHILE AKI );
?>
dai na hora de exibir, faz da mesma forma:
$cont = 1;
do(
$nome.$cont = $_POST['nome_'.$cont];
$cont ++;
)while( CONDIÇÃO DO WHILE AKI );Vlw's consegui resolver fiz da maneira que o Shini mostrou e funcionou corretamente!
Mais vou testar tbm a forma que o Rafael passou!
Galera quando dou o um echo ou qlqr comando para printar na tela
aparecem todos os valors... sem erro
quando submeto o form no email só aparece o último valor...
poste o resto do codigo.
// gera input de acordo com o tipo de quarto
if(isset($campo1)){
for($i = 1; $i <= $campo1; $i++){
?>
<tr>
<td width="100">
<small>Nome:</small></td><td colspan="3"><input type="text" class="dados" id="nome" name="nomeS[]" onchange="validarCampos();" value="Digite um nome para reserva" onfocus="if (this.value == 'Digite um nome para reserva') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Digite um nome para reserva';}" />
</td>
</tr>
<?php
}
}
//monta e envia mensagem
if(isset($_POST['valor1']) && ($_POST['valor1'] == 'ok') ){
if(isset($_POST['nomeS'])) {
foreach($_POST['nomeS'] as $item){
}
}
$mail_date = date('d/m/y H:i:s');
$mailDestino = "nome@site.com.br";
$assunto = "Solicito a cotação de um evento";
$headers = "MIME-version: 1.1\r\n";
$headers .= "content-type: text/html; charset=utf-8\r\n";
$headers .= "From: contato@site.com.br\r\n";
$mensagemEmp = '<h1>Solicitação de reserva</h1>
Acomodação escolhida: '.$qEscolhido.'<br />
Quantidade: '.$pctQtd.'<br />
Valor estimado: R$:'.$valorEstimado.'<br />
<strong>Nomes para reserva</strong><br />
</p>
';
$mensagemEmp .= $item.'\n';
$mensagemCli = '<h1>Solicitação de reserva</h1>
Acomodação escolhida: '.$qEscolhido.'<br />
Quantidade: '.$pctQtd.'<br />
Valor estimado: R$:'.$valorEstimado.'<br />
<strong>Nomes para reserva</strong><br />
</p>
<h4>Fique atento as condições de cancelamento de reserva</h4>
<h4>Em breve entraremos em contato</h4>
';
$mensagemCli .= $item.'\n';
mail($mailDestino, $assunto, $mensagemEmp, $headers );
mail($email, $assunto, $mensagemCli, $headers );
?>$destinatarios = "";
if(isset($_POST['nomeS'])) {
foreach($_POST['nomeS'] as $item){
$destinatarios .= $item .";";
}
assim nome vem como um array.
<input type="text" name="nome[]" />