如何在用户输入后更新表单,然后再发布



我试图让用户从复选框中进行选择,然后向他显示正确的列表。

这是我的代码:

qualification: <select name="qualification">
<option value="ET">ET</option>
<option value="TM">TM</option>
</select><br> 
current registration: <input type="checkbox" name="classRegular" value="RegularClass">Regular Class<br>
<input type="checkbox" name="classTaahdoh" value="Taahdoh">Taahdoh<br>
<?php
$selectedQualification = $_POST['qualification'];  // Storing Selected Value In Variable
if(isset($_POST['classRegular'])){
if ( $selectedQualification == "ET") {
echo 'Class: <select name="regularClass">';
$sql = "SELECT idClass FROM Class Where category = 'ET' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
//output data of each row in dropdown list
while($row = $result->fetch_assoc()) {
echo "<option value='{".$d['idClass']."}'>".$d['idClass']."</option>";
}
} else {
echo '0 results';
}
?>

在用户检查类的类型后,它不会显示列表,是因为我用"POST"检查吗?我还能做什么其他选择?

请帮忙吗?

如果您想在用户检查类的类型后显示列表,请删除

if(isset($_POST['classRegular'])) {

如果块来自代码。然后每次都会显示答案列表。

1.无法将结果发送到页面。除非您使用提交按钮或ajax

2.没有连接到数据库。

所以添加类似以下代码:

<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'yourpassword');
define('DB_NAME', 'yourwebsite');
/* Attempt to connect to MySQL database */
try{
$pdo = new PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME, DB_USERNAME, DB_PASSWORD);
// Set the PDO error mode to exception
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("ERROR: Could not connect. " . $e->getMessage());
}
?>

此外,还使用了事先准备好的陈述。是的,你不直接接受用户的请求,但恶意用户仍然可以检查页面,并将选项的值更改为危险的

最新更新