【问题标题】:Get value from a select and insert id insetad of string into database - PHP MVC从选择中获取值并将 id 而不是字符串插入数据库 - PHP MVC
【发布时间】:2022-01-16 08:23:48
【问题描述】:

您好,我遇到了一个我无法解决的问题,我正在完成一个注册表单,用户提供了用户名、电子邮件密码并且必须从选择字段中选择一个值,一旦用户注册而不是将选项值作为字符串发送它应该发送 id,但我不知道该怎么做。

这是 RegisterController 上的注册操作(在 dd 上,值作为字符串传递)

public function reg(){

    $email=$this->request->post('email');
    $username=$this->request->post('username');
    $password=$this->request->post('password');
    $password2=$this->request->post('password2');
    $role = $this->request->post('role');

    if(isset($email) && !empty($email) 
        && isset($username) && !empty($username)
        && isset($password) && !empty($password) 
        && isset($password2) && !empty($password2)
        && isset($role) && !empty($role)){
        if($password == $password2){
            $pass=password_hash($password,PASSWORD_BCRYPT,['cost'=>4]);
            try {
                $data=[$username,$email,$pass,$role];
                dd($data);
                Registry::get('database')->insert($data);
                Controller::redirectTo('login');
            } catch (\PDOException $e) {
                return false;
            }
        } else {
            Controller::redirectTo('index');
        }
    }
}

这是 注册视图(试图在值字段中获取每个角色的 ID,但是当我这样做时它停止在视图上显示选项)

<label class="text-white ml-4 mr-4" for="role">Role:</label>
            <select class="my-8 rounded-lg bg-indigo-500 border cursor-pointer text-white p-2" name="role" id="role">
            <?php foreach($roles as $role):?>
                <option value="<?php echo $role->id;?>" class="m-4"><?php echo $role->role;?></option>
            <?php endforeach; ?>
            </select><br>

如果有人需要另一个文件,如 QueryBuilder(查看插入)或任何其他文件,我会在需要时提供。

【问题讨论】:

    标签: php arrays model-view-controller option


    【解决方案1】:

    您可以尝试将值类型转换为整数,如下所示:

    $role = intval($this->request->post('role'));
    

    php 文档:https://www.php.net/manual/en/function.intval.php

    【讨论】:

    • 谢谢!这似乎很完美!
    猜你喜欢
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    相关资源
    最近更新 更多