Jump to content

Recommended Posts

Posted

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 😄

Posted

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

Posted

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...

Posted

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 😄

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

Posted

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?

Posted
<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

Posted

É 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???

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.