Autor Tema: [resuelto] ayudenme de nuevo con php, please  (Leído 2251 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado 0rion

  • MiembrosReales
  • *
  • Mensajes: 46
[resuelto] ayudenme de nuevo con php, please
« : marzo 25, 2010, 11:12:20 pm »
Hey necesito ayuda para encontrar los errores de un codigo de php, se supone que mi programa debe crear una matriz dada por las filas y las columnas que se ingresan mediante un formulario, el problema es que al tratar de pasar los valores ingresados en las cajas de texto creadas a una variable matriz, simplemente no lo hace, no se en que me he equivocado porque ademas necesito sacar la suma de cada fila a la hora de procesar la matriz y si esta no toma valores simplemente no puedo.
Código: [Seleccionar]
<?php
$matriz
="";
$val=array();

if(isset(
$_POST["Accion"]))
{
for($x=0;$x<$_POST["Filas"];$x++)
{
for($y=0;$y<$_POST["Columnas"];$y++)
{
$val[$x][$y] = @$_POST["val[$x][$y]"];
}
}
switch($_POST["Accion"])
{
case "crear":
$matriz .= "<table>";
for($x=0;$x<$_POST["Filas"];$x++)
{
$matriz .= "<tr>";
for($y=0;$y<$_POST["Columnas"];$y++)
{
$matriz .= "<td><input type=\"text\" name=\"val[".$x."][".$y."]\" /></td>";
}
$matriz .= "</tr>";
}
$matriz .= "</table><br />
<input type=\"submit\" name=\"Accion\" value=\"calcular\""
;
break;
case "calcular":
$matriz .= "<table>";
for($x=0;$x<$_POST["Filas"];$x++)
{
$sumcol="";
$matriz .= "<tr>";
for($y=0;$y<$_POST["Columnas"];$y++)
{
$sumcol+=$val[$x][$y];
$matriz .= "<td><input type=\"text\" name=\"val[".$x."][".$y."]\" value=\"".$val[$x][$y]."\"]\"/></td>";
}
$matriz .= "<td>$sumcol</td></tr>";
}
$matriz .= "</table><br />
<input type=\"submit\" name=\"Accion\" value=\"calcular\""
;
break;
}

}

echo"
<!DOCTYPE html PUBLIC \"~//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\" >
<html xmlns:\"http://www.w3.org/1999/xhtml\">
<head>
<title>P4P3 [Escriba aquí su nombre completo]</title>
</head>
<body>
<form method=\"POST\" action=\"
$_SERVER[PHP_SELF]\">
<fieldset>
<legend>Pr&aacute;ctica 4 - Ejercicio 3</legend>
<table>
<tr>
<td>
Filas
</td>
<td>
<input type=\"text\" name=\"Filas\" value=\""
.$_POST["Filas"]."\" />
</td>
</tr>
<tr>
<td>
Columnas
</td>
<td>
<input type=\"text\" name=\"Columnas\" value=\""
.$_POST["Columnas"]."\" />
</td>
</tr>
<tr>
<td>
<input type=\"submit\" name=\"Accion\" value=\"crear\" />
</td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>MATRIZ</legend>
$matriz
</fieldset>
</form>
</body>
</html>"
;
?>
« Última Modificación: abril 14, 2010, 01:07:33 pm por vlad »


Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re:ayudenme de nuevo con php, please
« Respuesta #1 : marzo 26, 2010, 08:06:13 am »
Tenes todo bien excepto la forma en la que estas extrayendo el valor del POST en modo matriz.

Eso es porque todos los campos cuyo nombre incluya [] se convierten en matrices automaticamente.
Así que esto:
Código: [Seleccionar]
<?php $val[$x][$y] = @$_POST["val[$x][$y]l"]; ?>Pasa a ser esto:
Código: [Seleccionar]
<?php $val[$x][$y] = @$_POST["val"][$x][$y]; ?>
Y listo!.

Prueba de que solo eso es el error:
http://flor360.com/extra/test.php

Lo que pasa es que no te dabas cuenta porque le pusiste el @ para evitar que PHP te diera error, que para el caso era el problema que andabas buscando :D

Esto se menciona muy brevemente en la ayuda de PHP:
http://php.net/manual/en/language.variables.external.php - Example #3 More complex form variables

Desconectado ELITE

  • The Communiter-
  • *
  • Mensajes: 6232
  • NEMO ME IMPUNE LACESSIT
Re:ayudenme de nuevo con php, please
« Respuesta #2 : marzo 27, 2010, 03:37:34 pm »
Si solo eso es el error porq el codigo arriba de la funcion o eso es parte del programita  :phew:


Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re:ayudenme de nuevo con php, please
« Respuesta #3 : marzo 27, 2010, 04:36:04 pm »
eso es el resultado de print_r($_POST); para ver los datos de $_POST y ver claramente como queda estructurado al enviar el formulario.

Desconectado 0rion

  • MiembrosReales
  • *
  • Mensajes: 46
Re:ayudenme de nuevo con php, please
« Respuesta #4 : marzo 29, 2010, 08:56:44 am »
 :D graciassss a todos, ojala y me puedan seguir dando clases de php en el futuro, es que si no no paso la materia :phew: vlad :sur: .
mi problema es que en la escuela no me dicen esos detalles, siempre obvian lo importante
« Última Modificación: marzo 29, 2010, 11:29:41 am por 0rion »