如何 "acces" 在 HTML 中指定名称
How to "acces" specific name in HTML
我想用 PHP 乘以矩阵,我希望用户指定它们的大小。
所以我创建了表单和输入,以便用户可以生成他的矩阵。
要上传矩阵中每个字段的值,我需要在该矩阵中输入不同的名称(我理解正确吗?)
我的函数 'draws' 矩阵看起来像这样:
function Draw($matrixName, $rows, $columns){
echo '<table> Matrix '.$nazwa.'<br>';
for ($i = 0; $i < $rows; $i++){
echo '<td>';
for ($j = 0; $j < $columns; $j++){
echo '<tr><input type="number" name="'.$nazwa.$i.$j.'"></tr>';
}
echo '</td><br>';
}
echo '</table>';
这是我的问题。以后如何访问此名称或输入值?
我试过这个:
function UploadData($name, $rows, $columns){
$matrix = array();
for ($i = 0; $i < $rows; $i++){
for ($j = 0; $j < $columns; $j++){
$matrix[$i][$j] = $_POST['$name.$i.$j'];
}
}
return $matrix;
}
但是我的 $matrix 好像是空的。当我这样做时
var_dump($matrix[$i][$j]);
或者那个
var_dump($_POST['$matrix[$i][$j]']);
我的浏览器说它是 NULL。
所以请告诉我我在哪里犯了错误,因为我被卡住了..
我将我的变量保存在 $_SESSION 中,所以我这样调用这个函数:
$MatrixA = UploadData("A", $_SESSION['$rowsA'], $_SESSION['$columnsA']);
在此操作之前,我的值 $_SESSION['$rowsA'] 和 $_SESSION['$columnsA'] 不为空(我已经用 var_dump 进行了检查)。
首先通过正确放置 "tr" 和 "td" 标签来更正您的 table 矩阵生成,其次,第一个参数需要与您使用的相同 'name',将其从“$matrixName”更改为“$nazwa”
function Draw($nazwa, $rows, $columns){
echo '<table> Matrix '.$nazwa.'<br>';
for ($i = 0; $i < $rows; $i++){
echo '<tr>';
for ($j = 0; $j < $columns; $j++){
echo '<td><input type="number" name="'.$nazwa.$i.$j.'"></td>';
}
echo '</tr>';
}
echo '</table>';
}
在您从 POST 分配值的那一行的下一个位置,删除了单引号。
function UploadData($name, $rows, $columns){
$matrix = array();
for ($i = 0; $i < $rows; $i++){
for ($j = 0; $j < $columns; $j++){
$matrix[$i][$j] = $_POST[ $name . $i .$j ];
}
}
return $matrix;
}
我想用 PHP 乘以矩阵,我希望用户指定它们的大小。 所以我创建了表单和输入,以便用户可以生成他的矩阵。
要上传矩阵中每个字段的值,我需要在该矩阵中输入不同的名称(我理解正确吗?)
我的函数 'draws' 矩阵看起来像这样:
function Draw($matrixName, $rows, $columns){
echo '<table> Matrix '.$nazwa.'<br>';
for ($i = 0; $i < $rows; $i++){
echo '<td>';
for ($j = 0; $j < $columns; $j++){
echo '<tr><input type="number" name="'.$nazwa.$i.$j.'"></tr>';
}
echo '</td><br>';
}
echo '</table>';
这是我的问题。以后如何访问此名称或输入值?
我试过这个:
function UploadData($name, $rows, $columns){
$matrix = array();
for ($i = 0; $i < $rows; $i++){
for ($j = 0; $j < $columns; $j++){
$matrix[$i][$j] = $_POST['$name.$i.$j'];
}
}
return $matrix;
}
但是我的 $matrix 好像是空的。当我这样做时
var_dump($matrix[$i][$j]);
或者那个
var_dump($_POST['$matrix[$i][$j]']);
我的浏览器说它是 NULL。
所以请告诉我我在哪里犯了错误,因为我被卡住了..
我将我的变量保存在 $_SESSION 中,所以我这样调用这个函数:
$MatrixA = UploadData("A", $_SESSION['$rowsA'], $_SESSION['$columnsA']);
在此操作之前,我的值 $_SESSION['$rowsA'] 和 $_SESSION['$columnsA'] 不为空(我已经用 var_dump 进行了检查)。
首先通过正确放置 "tr" 和 "td" 标签来更正您的 table 矩阵生成,其次,第一个参数需要与您使用的相同 'name',将其从“$matrixName”更改为“$nazwa”
function Draw($nazwa, $rows, $columns){
echo '<table> Matrix '.$nazwa.'<br>';
for ($i = 0; $i < $rows; $i++){
echo '<tr>';
for ($j = 0; $j < $columns; $j++){
echo '<td><input type="number" name="'.$nazwa.$i.$j.'"></td>';
}
echo '</tr>';
}
echo '</table>';
}
在您从 POST 分配值的那一行的下一个位置,删除了单引号。
function UploadData($name, $rows, $columns){
$matrix = array();
for ($i = 0; $i < $rows; $i++){
for ($j = 0; $j < $columns; $j++){
$matrix[$i][$j] = $_POST[ $name . $i .$j ];
}
}
return $matrix;
}