Ir para conteúdo

POWERED BY:

Arquivado

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

visitante_php

pegar array de variavel superglobal

Recommended Posts

eu estou com tres paginas com formularios, e keria usar apenas uma pagina com o form para insercao...entao eu pensei em pegar os nomes dos campos dinamicamente...cada campo no form tem um nome e seu valor eh recebido pela variavel $_POST[noime do campo], mas eu keria pegar o nome do campo dinamicamente sem ter q digiar...sera q tem como?eu imagino q seria uma funcao de array, se for, como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah, num livro q li, falava dessa funcao, eu keria confirmar...obrigado...mas ainda vou testar...

 

 

 

fiz esse teste e so deu 0...

<?php
$_POST['igor'];
$_POST['erika'];
$_POST['carmem'];

echo extract($_POST,EXTR_SKYP);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olhando o manual procurei usar tb array_keys e nao deu certo...usei d acorodo com o exemplo do manual...

 

foreach($_POST as $igorres){
	print_r($igorres);
	}

tela em branco....

 

imagina a situacao:

 

tenho 2 formularios q ira usar um mesmo arquivo para processar sua informacoes junto ao db...sao 2 forms variados...

 

e tenho esse arquivo q ira processar as informacoes, neste arquivo pelo usual , ja consta o nome dos campos do form...

 

ae eu invento de add um terceiro fomr..mas sem laterar o arquivo d processamento, ele teria q pegar dinamicamente, sozinho, sem alteracao, o nome dos campos do terceiro form...eh isso q eu kero fazer.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isto que você quer?

 

$post['campo']['nome'] = "Beraldo";
$post['campo']['cidade'] = "Curitiba";
$post['campo']['forum'] = "iMasters";

foreach ($post['campo'] as $k => $v)
{
	echo "<p>" . $k . " => " . $v . "</p>";
}

$post simula a superglobal $_POST

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda nao eh isso....por favor, leia calmamente e cuidadosamente meu ultimo post ali emcima, eh sem alterar o arquivo q ira processar as informacoes, q ele pegue automaticamente o nome dos campos do form...

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa ver se eu entendi...

no seu exemplo as 3 variaveis $post, estaria no html com form como no exemplo do link do script brasil...e o foreach estaria no arquivo q processaria as informacoes, ....eh isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o form esta

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
	<meta name="author" content="in Luar">

	<title>Untitled 1</title>
</head>

<body>

<form action="testepost.php" method="POST" enctype="text/plain">
<input type="text" name="campo[igor]" /><br><input type="text" name="campo[erika]" /><br><input type="button" name="nossa" />
</form>

</body>
</html>
e o q recebe o form eh

 

<?php
foreach ($post['campo'] as $k => $v)
{
	echo "<p>" . $k . " => " . $v . "</p>";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, agora eu fiz isso e nao deu..:

 

<?php
if($_POST){
	
foreach ($_POST['campo'] as $k => $v)
{
	echo "<p>" . $k . " => " . $v . "</p>";
}

}



?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
	<meta name="author" content="in Luar">

	<title>Untitled 1</title>
</head>

<body>

<form action="testepost.php" method="POST" enctype="text/plain">
<input type="text" name="campo[igor]" /><br><input type="text" name="campo[erika]" /><br><input type="button" name="nossa" />
</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh...acho q esse foi o erro...porem refiz, e fiz assim

 

 

<?php
if($_POST){
	
foreach ($_POST['campo'] as $k => $v)
{
	echo "<p>" . $k . " => " . $v . "</p>";
}

}



?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
	<meta name="author" content="in Luar">

	<title>Untitled 1</title>
</head>

<body>

<form action="testepost.php" method="POST" enctype="text/plain">
<input type="text" name="campo[igor]" /><br><input type="text" name="campo[erika]" /><br><input type="submit" name="botao" />
</form>

</body>
</html>

 

q resultou em....

 

 

 

Warning: Invalid argument supplied for foreach() in c:\program files\vertrigoserv\Apache\htdocs\testes\testepost.php on line 14

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.