Как «получить доступ» конкретное имя в HTML

Я хочу умножить матрицы с помощью PHP, и я хочу, чтобы пользователь указал их размер.
Поэтому я создаю форму и входные данные, чтобы пользователь мог генерировать свои матрицы.

Чтобы загрузить значение каждого поля в матрице, мне нужны разные имена входов в этой матрице (правильно ли я понимаю?)

Моя функция, которая «рисует» матрицу, выглядит так:

    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;
}

Но похоже, что моя $ матрица пуста. Когда я делаю это

var_dump($matrix[$i][$j]);

или это

var_dump($_POST['$matrix[$i][$j]']);

мой браузер говорит, что это NULL.

Так скажи мне, пожалуйста, где я делаю ошибку, потому что я застрял ..

Я держу свои переменные в $ _SESSION, поэтому я вызываю эти функции следующим образом:

$MatrixA = UploadData("A", $_SESSION['$rowsA'], $_SESSION['$columnsA']);

и перед этой операцией мои значения $ _SESSION [‘$ rowA’] и $ _SESSION [‘$ columnsA’] не равны нулю (я проверял с помощью var_dump).

0

Решение

Во-первых, вы исправили генерацию матрицы таблицы, правильно разместив теги «tr» и «td». Во-вторых, первый аргумент должен совпадать с тем, что вы используете в качестве «имени», изменив его с «$ 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;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]