我试图让用户从复选框中进行选择,然后向他显示正确的列表。
这是我的代码:
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”检查了吗? 我还能做些其他选择吗?
请帮忙吗?
答案 0 :(得分:0)
如果要在用户检查班级类型后显示列表,请删除
if(isset($_POST['classRegular'])) {
if代码块。然后每次都会显示答案列表。
答案 1 :(得分:0)
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());
}
?>
还使用了准备好的语句。是的,您不是直接接受用户输入,但是恶意用户仍然可以检查页面并将选项的值更改为危险的值。