Ir para conteúdo
Fórum Script Brasil
  • 0

Esta Aparecendo Um Warning De Foreach()


felipeatto

Pergunta

aí galera !...o warning é o seguinte !

Warning: Invalid argument supplied for foreach() in C:\apache\htdocs\contratosweb\cef\cadastro_placas\resultado.php on line 14

.

.

o código é esse:

<?php

if ($tipo == "" || $part == "" || $numero == ""){

echo"<table border=1 align=center bordercolor=red><tr><td><center><font size=\"5\" color=\"#FF0000\">";

echo"O Cadastro Possúi Campo(s) Em Branco!</font></center></td></tr>";

echo"<tr><td><a href=\"javascript:history.go(-1)\"><center><b><font color=red>VOLTAR</font></b></center></td></tr></table>";

return 0;}

//aqui chama a pagina que esta a configuração da sua conexao

include "conecta.php";

include "valida_data.php";

// essa função pega os campos do form e cria a variavel com o mesmo nome

foreach ($_POST as $campo => $valor) { $$campo = $valor; }

if (!validar($dia, $mes, $ano)){

echo "<center><font color=red>Data Inválida : $dia/$mes/$ano </font></center><br>

<a href=\"javascript:history.go(-1)\"><center>Voltar</center></a>";

exit();

}

$entrada = "$ano-$mes-$dia";// ele vai pegar a data e deixar assim 0000-00-00

mysql_query("INSERT INTO tabelateste VALUES ('$tipo', '$part', '$central',

'$numero', '$entrada', '$fornecedor', '$notaf', '$prateleira', '$obs')");

if (mysql_query){

echo "<table border=1 align=center><tr><td><center><font size=\"5\" color=\"#000000\">

Cadastro Executado Com Sucesso!!!</font></center></td></tr>";

echo "<tr><td><a href=\"//localhost/contratosweb/cef/Cadastro_Placas/cefcadplacas.php\">

<center><b><font color=\"#000000\">Novo Cadastro</font></b></center></a></td></tr></table>";}

?>

vlws!!! biggrin.gif

Link para o comentário
Compartilhar em outros sites

21 respostass a esta questão

Posts Recomendados

  • 0

Tem um alien no seu código:
foreach ($_POST as $campo => $valor) { $$campo = $valor; }
rolleyes.gif

Que alen?

foreach ($_POST as $campo => $valor) { $$campo = $valor; }

Não sabe pra que serve isso?

esta correto essa função se quiser eu te explico o que ela faz

obs o foreach ($_POST as $campo => $valor) { $$campo = $valor; }

ele recebe os dados de um campo olha o nome que ta e cria a variavel com o nome exemplo : vem um campo nome dai ele pega e cria o $nome

não tem segredo e não é nenhum alen e faz parte do php ,o que pode estar acontecendo é que se você tiver com o registers_globals em on não iri precisar criar a variavel

biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Não, aquela função ali tá certa... pelo menos, eu acho. É uma variável variável, não tá errado, não.

Existe alguma coisa nesse array $_POST quando você carrega a página? Acho que ele está dando erro na hora de incluir um valor de uma variável no BD, pois na hora que ele vai buscar da onde veio aquela variável, ele vai na função "foreach". E acho que daria erro se esse array não estiver definido...

você não tá carregando essa página "resultado.php" diretamente, né? Eu digo, sem passar pelo form... ???

Link para o comentário
Compartilhar em outros sites

  • 0

olha o fonte da form...:

<html>

<body>

<tr>

<big><u>Cadastro de Placas:</u></big>

</tr><br>

<html>

<body>

<form name="cadastro" method="post" action="resultado.php">

<table border=0>

<br>

<tr>

<td width=200>Tipo da Placa:</td>

<td><input type="text" name="tipo" size=15></td>

</tr>

<tr>

<td>Part-Number:</td>

<td><input type="text" name="part" size=30></td>

</tr>

<tr>

<td>Central:</td>

<td><input type="text" name="central" size=15></td>

</tr>

<tr>

<td>Número de Série:</td>

<td><input type="text" name="numero" size=10></td>

</tr>

<tr>

<td>Data de Entrada:</td>

<td><?

// construindo o select do dia

echo "<select name=\"dia\">\n";

for ($i = 1; $i <= 31; $i++) {

$i = sprintf("%02d", $i); // preencher com zero a esquerda

echo "\t<option value=$i>$i</option>\n";

}

echo "</select>";

?>

<?

echo "/ ";

// construindo o select do mes

echo "<select name=\"mes\">\n";

for ($i = 1; $i <= 12; $i++) {

$i = sprintf("%02d", $i); // preencher com zero a esquerda

echo "\t<option value=$i>$i</option>\n";

}

echo "</select>";

?>

<?

echo "/ ";

// construindo o select do ano

echo "<select name=\"ano\">\n";

for ($i = 2003; $i <= 2004; $i++)

echo "\t<option value=$i>$i</option>\n";

echo "</select>";

?></td>

</tr>

<tr>

<td>Fornecedor:</td>

<td><input type="text" name="fornecedor" size=20></td>

</tr>

<tr>

<td>Nota Fiscal nº:</td>

<td><input type="text" name="notaf" size=10></td>

</tr>

<tr>

<td>Prateleira:</td>

<td><input type="text" name="prateleira" size=5></td>

</tr>

<tr>

<td>Observação:</td>

<td><textarea name="obs" cols=20 rows=3></textarea></td>

</table>

<tr><input type="submit" name="botao" value="Salvar Cadastro"></tr>

</form>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Se esta repassando os dados de uma pra outra você tem que fazer assim

na primeira pagina você recebe os dados normal mas quando for pra mandar pra outra vc manda assim pagina.php?nome=$nome&senha=$senha etc...

dai você vai receber na outra os dados pelo GET

Link para o comentário
Compartilhar em outros sites

  • 0
Tem um alien no seu código:
foreach ($_POST as $campo => $valor) { $$campo = $valor; }
rolleyes.gif

Que alen?

foreach ($_POST as $campo => $valor) { $$campo = $valor; }

Não sabe pra que serve isso?

esta correto essa função se quiser eu te explico o que ela faz

obs o foreach ($_POST as $campo => $valor) { $$campo = $valor; }

ele recebe os dados de um campo olha o nome que ta e cria a variavel com o nome exemplo : vem um campo nome dai ele pega e cria o $nome

não tem segredo e não é nenhum alen e faz parte do php ,o que pode estar acontecendo é que se você tiver com o registers_globals em on não iri precisar criar a variavel

biggrin.gif

O sr. tem razão... eu não prestei atenção no que a função faz...desculpem a minha inguinorânssa unsure.gif

Mas alen são aquelas chavezinhas hexagonais que a gente usa pra mexer na bicicleta... aquilo ali em cima é um alien... rolleyes.gif

Link para o comentário
Compartilhar em outros sites

  • 0

huh.gif ...cara mas mesmo assim continuo na mesma do warning...aí vão meus dois códigos !

o do form principal :

<html>

<body>

<tr>

<big><u>Cadastro de Placas:</u></big>

</tr><br>

<html>

<body>

<form name="cadastro" method="post" action="resultado.php">

<table border=0>

<br>

<tr>

<td width=200>Tipo da Placa:</td>

<td><input type="text" name="tipo" size=15></td>

</tr>

<tr>

<td>Part-Number:</td>

<td><input type="text" name="part" size=30></td>

</tr>

<tr>

<td>Central:</td>

<td><input type="text" name="central" size=15></td>

</tr>

<tr>

<td>Número de Série:</td>

<td><input type="text" name="numero" size=10></td>

</tr>

<tr>

<td>Data de Entrada:</td>

<td><?

// construindo o select do dia

echo "<select name=\"dia\">\n";

for ($i = 1; $i <= 31; $i++) {

$i = sprintf("%02d", $i); // preencher com zero a esquerda

echo "\t<option value=$i>$i</option>\n";

}

echo "</select>";

?>

<?

echo "/ ";

// construindo o select do mes

echo "<select name=\"mes\">\n";

for ($i = 1; $i <= 12; $i++) {

$i = sprintf("%02d", $i); // preencher com zero a esquerda

echo "\t<option value=$i>$i</option>\n";

}

echo "</select>";

?>

<?

echo "/ ";

// construindo o select do ano

echo "<select name=\"ano\">\n";

for ($i = 2003; $i <= 2004; $i++)

echo "\t<option value=$i>$i</option>\n";

echo "</select>";

?></td>

</tr>

<tr>

<td>Fornecedor:</td>

<td><input type="text" name="fornecedor" size=20></td>

</tr>

<tr>

<td>Nota Fiscal nº:</td>

<td><input type="text" name="notaf" size=10></td>

</tr>

<tr>

<td>Prateleira:</td>

<td><input type="text" name="prateleira" size=5></td>

</tr>

<tr>

<td>Observação:</td>

<td><textarea name="obs" cols=20 rows=3></textarea></td>

</table>

<tr><input type="submit" name="botao" value="Salvar Cadastro"></tr>

</form>

</body>

</html>

e o da página de resultado:

<?php

if ($tipo == "" || $part == "" || $numero == ""){

echo"<table border=1 align=center bordercolor=red><tr><td><center><font size=\"5\" color=\"#FF0000\">";

echo"O Cadastro Possúi Campo(s) Em Branco!</font></center></td></tr>";

echo"<tr><td><a href=\"javascript:history.go(-1)\"><center><b><font color=red>VOLTAR</font></b></center></td></tr></table>";

return 0;}

//aqui chama a pagina que esta a configuração da sua conexao

include "conecta.php";

include "valida_data.php";

// essa função pega os campos do form e cria a variavel com o mesmo nome

foreach ($_POST as $campo => $valor) { $$campo = $valor; }

if (!validar($dia, $mes, $ano)){

echo "<center><font color=red>Data Inválida : $dia/$mes/$ano </font></center><br>

<a href=\"javascript:history.go(-1)\"><center>Voltar</center></a>";

exit();

}

$entrada = "$ano-$mes-$dia";// ele vai pegar a data e deixar assim 0000-00-00

mysql_query("INSERT INTO tabelateste VALUES ('$tipo', '$part', '$central',

'$numero', '$entrada', '$fornecedor', '$notaf', '$prateleira', '$obs')");

if (mysql_query){

echo "<table border=1 align=center><tr><td><center><font size=\"5\" color=\"#000000\">

Cadastro Executado Com Sucesso!!!</font></center></td></tr>";

echo "<tr><td><a href=\"//localhost/contratosweb/cef/Cadastro_Placas/cefcadplacas.php\">

<center><b><font color=\"#000000\">Novo Cadastro</font></b></center></a></td></tr></table>";}

?>

mexi em um kilo de coisas e não acho o motivo do warning... mad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

if (mysql_query)

{

echo "<table border=1 align=center><tr><td><center><font size=\"5\" color=\"#000000\">Cadastro Executado Com Sucesso!!!</font></center></td></tr>

   <tr><td><a href=\"cefcadplacas.php\">

<center><b><font color=\"#000000\">Novo Cadastro</font></b></center></a></td></tr></table>";

}

presta atenção que você errou no link

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...