Ir para conteúdo

POWERED BY:

Arquivado

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

Skidrow

Problema com Foreach sem valor.

Recommended Posts

Boa tarde pessoal ,

 

Possuo um simples formulário com um input de multiplos valores.

 

teste39.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form role="form" action="teste40.php" method="post">
<label for="fazenda">Fazendas a serem liberadas - Recepção.</label>
					 <select name="fazendarcp[]" class="form-control" multiple>
      <option value="LABI\n">Labrunier I</option>
      <option value="LAB2\n">Labrunier II</option>
       <option value="VDU\n">Vale das Uvas</option>
      <option value="ORG\n">Organica</option>
      <option value="BRU\n">Brasiluvas</option>
    </select>
    <input type="submit" value="Solicitar" name="botao" class="btn btn-success">
</body>
</html>

e uma outra pagina que ira receber esses valores

 

teste40.php

<?php

$fazendarcp = $_POST['fazendarcp'];
$fazendarcpbd = '';





if(is_array($fazendarcp))
{
foreach ($fazendarcp as $aa)
	{
		$fazendarcpbd .= (nl2br("$aa"));
	}
}


echo $fazendarcpbd
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

Porem caso eu não selecione nenhum valor no campo input , da o erro

 

Undefined index: fazendarcp in C:\xamp\htdocs\euteste\teste40.php on line 5

 

Há alguma forma de que , quando nenhum valor do input for selecionado , ele for substituido por outro valor ?

 

Ou outra forma de corrigir o erro ?

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites


$fazendarcp = (isset($_POST['fazendarcp']))?$_POST['fazendarcp']:'outro valor qualquer';

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro ocorre por que sua validação só será true se vier um array, caso contrário nada acontece, melhor fazer como o ESerra colocou, Pois assim você estará checando se a variável foi iniciada.

 

Só uma dúvida,

 

foreach ($fazendarcp as $aa)
{
$fazendarcpbd .= (nl2br("$aa"));// este "$aa" é assim mesmo? Não seria sem as aspas?
}
}

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.