【问题标题】:User action before continue a PHP code继续 PHP 代码之前的用户操作
【发布时间】:2015-10-14 12:11:23
【问题描述】:

我正在使用下面的 php 代码来创建和存储一个 cookie。

 if ($logged_in_user['slots'] > $this->devices_model->count_devices($logged_in_user['id'])) {
//HERE SHOULD BE PLACED WHAT I NEED
        $cookie = array(
            'name' => 'kolass_app',
            'value' => md5(uniqid($logged_in_user['id'], true)),
            'device' => $this->agent->browser() . ' ' . $this->agent->version(),
            'expire' => time() + (10 * 365 * 24 * 60 * 60),
        );
        $this->input->set_cookie($cookie);
        $data['user_id'] = $logged_in_user['id'];
        $data['device'] = $cookie['device'];
        $data['value'] = $cookie['value'];
        $this->devices_model->add_device($data);
        redirect(base_url());
    }

如何在继续创建和保存 cookie 之前获得用户操作是或否。

我正在使用 Codeigniter

【问题讨论】:

    标签: php codeigniter cookies


    【解决方案1】:

    您不能在 PHP 脚本中与用户交互。您需要做的是首先执行第一部分(if),然后向用户显示一个页面,他们可以在其中选择是或否。如果他们选择是,请将他们发送到执行其余代码的页面。请注意,您还需要第二页上的if,以防有人打开多个选项卡,然后在所有选项卡上选择“是”,从而获得比实际能够获得的更多“插槽”。

    【讨论】:

      【解决方案2】:

      使用

      <?php
      if ($logged_in_user['slots'] > $this->devices_model->count_devices($logged_in_user['id'])) {
      
      ?>
          <script>
          function myFunction() {
              var r = confirm("Are You sure??");
              if (r == true) {
                  <?php
                      $cookie = array(
                          'name' => 'kolass_app',
                          'value' => md5(uniqid($logged_in_user['id'], true)),
                          'device' => $this->agent->browser() . ' ' . $this->agent->version(),
                          'expire' => time() + (10 * 365 * 24 * 60 * 60),
                      );
      
                      $this->input->set_cookie($cookie);
                      $data['user_id'] = $logged_in_user['id'];
                      $data['device'] = $cookie['device'];
                      $data['value'] = $cookie['value'];
                      $this->devices_model->add_device($data);
                      redirect(base_url())
                  ?>
      
              } else {
                  alert('Not Served');
              }
          }
          </script>
      <?php
      }
      else
      {
          echo 'Not Loged In';
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-12
        • 2013-11-21
        • 1970-01-01
        • 1970-01-01
        • 2021-10-19
        • 2021-09-28
        相关资源
        最近更新 更多