我正在對我正在進行的迷你項目進行挑戰,並且在沒有進展的情況下搜索了幾個小時的解決方案。 我在我的數據庫表中有一列,其內容是通過爆炸先前的表單輸入(在表中用逗號分隔)生成的。現在我需要在表單中使用textarea獲取這些值的輸入(來自用戶)。這些輸入將在數組中取決於從數據庫中獲取的內容的數量,然後存儲在我的表中的另一列中。這裏的問題是,每次我提交表單時,我都會在textarea字段中得到一個未定義的索引通知,即test-col []。 請參閱下面我的代碼:如何使用php獲取動態生成的textarea輸入的值
<?php
$conn = mysqli_connect('localhost', 'root', '', 'myDb');
$users_id = mysqli_real_escape_string($conn, $_GET['id']);
$res = mysqli_query($conn, "SELECT tests FROM bal WHERE users_id = '$users_id'");
if ($res){
while ($row = mysqli_fetch_array($res)){
$tests = explode(',', $row['tests']);
foreach($tests as $test){
if ($test ==""){
continue;
}
echo '<div class="test-res" style="margin-top:10px;">
<form action="" method="post" role="form" class="form-horizontal">
<div class="form-group">
<label for= "test-col" class="form-label col-md-2">'.$test.' test</label>
<div class="col-md-10">
<textarea class="form-control" rows="3" name="test-col[]" placeholder="Test result"> </textarea>
</div>
</div>
</form>
</div>';
'<br /> <br />';
}
}
}
echo '<form action="" method="post">
<button type="submit" class="btn btn-success col-md-offset-5" name="sub-res">Send Result</button>
</form>';
?>
//to insert textarea values in db
<?php
if(isset($_POST['sub-res'])){
$conn = mysqli_connect('localhost', 'root', '', 'myDb');
foreach ($_POST ['test-col'] as $values){
$test_results = implode("<br>", $values);
}
$ins = mysqli_query($conn, "INSERT INTO bal (results) VALUES
('$test_results') WHERE users_id = '$users_id'");
if (!$ins){
die(mysqli_error());
}
else{
echo '<div class="alert alert-success">Successfully sent</div>';
}
}
?>
我修改了代碼的格式,使它變得可讀。它被格式化的方式完全不可能讀取。我建議您始終正確地設置代碼格式,無論是爲讀者還是爲自己閱讀。 –
謝謝@唐納德 – banky