如何为每位客户创建一个唯一的密钥?

时间:2016-02-01 09:20:53

标签: php codeigniter

我有一个代码可以从我的数据库中获取所有客户。我在下拉列表中获取所有客户。现在我想选择一个客户,当我提交时,我想为所选客户创建一个密钥。

这是我的控制器代码:

    public function index()
{
    $id = $this->data['org'] = $this->key_m->get_organisation();

    $this->data['key'] = $this->key_m->genrate_license();

    $this->data['subview'] = 'admin/key/index';
    $this->load->view('admin/_layout_main',$this->data);

}

视图:

<div class="col-sm-3">
      <div class="col-md-12">   
            <div class="form-group">            
            <h3><label for="sel1"> Organization Name:</label></h3>
            <select required  name="org-list"  id="org-list" class="form-control">  
                <option value="">Select</option>    
                <?php foreach($org as $value) { ?>              
                <option id="emp"  value="<?php echo $value['org_name'];?>"><?php echo $value['org_name'];?></option>
                <?php } ?>
            </select>
                <?php echo "<br>"; ?>   
            </div>
        </div>
</div>

             

             

所以我想保存客户的id和数据库中生成的密钥。当我在下拉列表中选择任何客户[公司在这里]时

2 个答案:

答案 0 :(得分:4)

写下您的选项如下: -

<option id="emp"  value="<?php echo $value['org_name'].'|'.md5(uniqid(rand(), true));?>"><?php echo $value['org_name'];?></option>

我已使用md5(uniqid(rand(), true))生成唯一键。

在你的控制器中,

$test = explode('|', $_POST['org-list']);

echo $test[0]为您提供value$test[1]为您提供key

答案 1 :(得分:3)

它将根据微时间和随机数生成始终不同的唯一字符串。

<?php
     // Here microtime will be unique everytime
     echo substr(md5(microtime()*rand(0,9999)),0,20); // 20 is length of key
 ?>