我无法理解为什么在向数据库提交正确的值后单选按钮不会保持检查状态。 我可以在数据库中看到正确更新的值,但相应的单选按钮是空的。 你能帮帮我吗?
<?php
session_start();
include 'connect_to_database.php';
$tbl_name="members"; // Table name
$db = connect_to_database();
$email = $_SESSION['email'];
// To protect MySQL injection (more detail about MySQL injection)
function add_value_to_members($db, $email, $key, $value)
{
$new_name=$_POST[$value];
$new_name = stripslashes($new_name);
$new_name = mysqli_real_escape_string($db, $new_name);
if (strlen($new_name) > 0){
$new_name_sql="UPDATE members SET $key='$new_name' WHERE email='$email'";
$result=mysqli_query($db, $new_name_sql);
echo $result;
}
}
add_value_to_members($db, $email, "gender", "new_gender");
header("Location: ../edit_user.php");
exit();
// html
<div class="form-group">
<label class="col-lg-3 control-label">Gender</label>
<div class="col-lg-8">
<div class="radio">
<label>
<input type="radio" name="new_gender" value="male" <?php if (isset($_POST['gender']) && $_POST['gender'] == "male") echo "checked"; ?>> Male
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="new_gender" value="female" <?php if(isset($_POST['gender']) && $_POST['gender']=="female" ) echo "checked"; ?>> Female
</label>
</div>
</div>
</div>
答案 0 :(得分:1)
您的表单标签在哪里?无论如何,我认为它与发送重定向的标题有关,并且不发送帖子,如果这是您需要的,您可以在更新到您的数据库后立即将单选按钮值放入会话变量并检入您的单选按钮标记对于会话值,或者您可以使用获取参数,并将其发送到标题网址