Ir para o conteúdo
alexvaz

Passagem de parâmetros

Mensagens Recomendadas

alexvaz    0
alexvaz

Boas. Tenho uma tabela dentro de um form onde cada célula tem um textfield. Ao carregar no submeter, queria ir para outra página, guardando o valor de cada célula numa matriz e passando-a por parâmetro. Há alguma maneira de fazer isto? Já tentei com POST e com GET mas não consigo. Se alguém conehcer alguma maneira, seja com form ou sem form, agradecia a ajuda. Obrigado :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
revX    0
revX

No ficheiro do form metes o conteudo do form dentro da tag form e o url do ficheiro para onde queres enviar

form.php

<html>
<head>
</head>
<body>

<form action="ficheiro_para_qual_queres_enviar.php" method="POST">

[ COLA AQUI O CONTEUDO DO FORM ]

Por exemplo:

<input type="text" maxlength="500" name="texto" />

<input type="submit" value="Submeter">
</form>

</body>
</html>

Depois no ficheiro onde queres mostrar fazes

output.php

<html>
<head>
</head>
<body>

<?php

$texto=$_POST['texto'];

echo  "O texto que introduziste é $texto";

?>

</body>
</html>

E aqui fica o output... basicamente ao submeter o conteúdo é enviado e para chamar basta usar $POST_['nome_do_input_do_form'];

Props

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
alexvaz    0
alexvaz

Sim, eu isso sei fazer. Mas o que quero passar não é texto, é uma matriz de números. O que tenho é isto:

if(isset($_GET["matriz"]))
$matriz=$_GET["matriz"];

else
{		
$matriz[10][10]=0;

$i=1;
$j=1;

for($i=1; $i<10; $i++)
	for($j=1; $j<10; $j++)
	{
		$matriz[$i][$j] = 0;
	}

}		


echo "
<form name=\"form1\" method=\"get\" action=\"sudolu.php\">

<table align=\"center\" border=\"1\" width=\"400\" id=\"table1\">
<tr>
	<td height=\"40\" width=\"40\" align=\"center\" style=\"border-style: solid; border-width: 1px\" bgcolor=\"#C0C0C0\"><input type=\"text\" name=$matriz[1][1] size=\"1\"></td>
	<td height=\"40\" width=\"40\" align=\"center\" style=\"border-style: solid; border-width: 1px\" bgcolor=\"#C0C0C0\"> </td>

.....

e a tabela continua. Agora não sei o k hei-de meter no textfield e no action...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
milks    0
milks

Se entendi bem queres uma tabela que represente uma matriz é?

Experimenta assim:

ficheiro_qualquer.php

<?php
$matriz = isset($_POST['matriz']) ? $_POST['matriz'] : null;
/**
* <!> PARA TESTAR A MATRIZ <!>
* <!> REMOVER COMENTARIOS ABAIXO <!>
*/
//if(!is_null($matriz)) {
//  echo '<pre>';
//  print_r($matriz);
//  echo '</pre>';
//}
?>
<form name="frm" method="post">
<table>
<?php for($i=0; $i<=10; $i++) { ?>
  <tr>
  <?php
  for($j=0; $j<=10; $j++) {
    echo '<td>';
    echo '<input type="text" size="5" name="matriz['.$i.']['.$j.']" value="'.$matriz[$i][$j].'" />';
    echo '</td>';
  } // fim do for do $j
  ?>
  </tr>
<?php } // fim do for do $i ?>
</table>
<input type="submit" name="submeter" value=" Okapa " />
</form>

Isto gera-te uma tabela de 10 por 10, e o formulário é submetido para a mesma página, se quiseres testar os valores da matriz é só removeres os comentários lá em cima :D

Os campos ficam com o valor que for submetido, se nenhum for submetido, fica vazio.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
alexvaz    0
alexvaz

Epá, obrigadissimo, era mesmo isso que queria. Já agora, não sabes como posso fazer um textfield sem linha á volta e também com cor de fundo?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
alexvaz    0
alexvaz

Não percebo muito de css. Podias dar-me uma ajuda? eu tenho isto:

<head>

<style type="text/css">
class TextField{
background-color: transparent;
border: none;
border-color: White;
}
</style>

</head>

...

e depois na linha do textfield tenho:

echo '<input class="TextField" type="text" size="1" maxlength="1" name="matriz['.$i.']['.$j.']" value="'.$matriz[$i][$j].'" />';

Mas não funciona... Sabes onde possa estar o erro?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
revX    0
revX

<head> 

<style type="text/css"> 
.TextField{ 
background-color: transparent; 
border: 1px solid #FFFFFF;
padding: 5px; <- presumo que o espaço la dentro de jeito para n ficar apegado ao texto
} 
</style> 

</head> 

Tente assim

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
alexvaz    0
alexvaz

É mesmo isso! Funcionou! Muito obrigado. Mas agora estou com um problema. a matriz é $matriz[9][9]. Para aceder á linha, posso fazer $matriz[1], $matriz[2], etc. Mas como posso aceder á coluna???

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade