Возьмите ввод с переключателя на php, затем добавьте в базу данных - PullRequest
0 голосов
/ 20 сентября 2018

Моя таблица пользователи в базе данных mysql имеет роль столбца, объявленную как enum, что означает, что пользователь будет инвестором или управляющим.Таким образом, на странице php мне нужно принять ввод с помощью переключателя

Код выглядит следующим образом

<div class="form-group <?php echo (!empty($role_err)) ? 'has-error' : ''; ?>">
    <label>ROLE </label>
    <form action="" method="post">
        <input type="radio" name="role" value="<php echo $role; ?>">INVESTOR
        <input type="radio" name="role" value="<php echo $role; ?>">MANAGER
        <span class="help-block"><?php echo $role_err;?></span>
</div>

Код проверки выглядит следующим образом

if($_POST["role"])
{
    $input_role = trim($_POST["role"]);
    if(empty($input_role)){
        $role_err = "Please enter a proper role.";     
    } else{
        $role = $input_role;
    }
}

sqlзапрос, который я использую для всей таблицы:

// Check input errors before inserting in database
if(empty($username_err) && empty($fullname_err) && empty($age_err) && empty($phonenumber_err) && empty($role_err)){
    // Prepare an insert statement
    $sql = "INSERT INTO users (user_name, full_name, age, phone_number, role) VALUES (?, ?, ?, ?, ?)";

    if($stmt = mysqli_prepare($link, $sql)){
        // Bind variables to the prepared statement as parameters
        mysqli_stmt_bind_param($stmt, "ssiis", $param_username, $param_fullname, $param_age, $param_phonenumber, $param_role);

        // Set parameters
        $param_username = $username;
        $param_fullname = $fullname;
        $param_age = $age;
        $param_phonenumber = $phonenumber;
        $param_role = $role;

        // Attempt to execute the prepared statement
        if(mysqli_stmt_execute($stmt)){
            echo "Records created successfully. Redirect to landing page";
            // Records created successfully. Redirect to landing page
            header("location: index.php");
            exit();
        } else{
            echo "Something went wrong. Please try again later.";
        }
    }

    // Close statement
    mysqli_stmt_close($stmt);
}

// Close connection
mysqli_close($link);
}

Даже после этого роль добавляется как NULL;

1 Ответ

0 голосов
/ 23 сентября 2018

Попробуйте, это должно работать:

<div class="form-group <?php echo (!empty($role_err)) ? 'has-error' : ''; ?>">
    <label>ROLE </label>
    <form action="" method="post">
    <input type="radio" name="role"
    <?php if (isset($role) && $role=="INVESTOR") echo "checked"; value="INVESTOR">INVESTOR
    <input type="radio" name="role"
    <?php if (isset($role) && $role=="MANAGER") echo "checked";?value="MANAGER">MANAGER
    <span class="help-block"><?php echo $role_err;?></span>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...