簡體   English   中英

如何在Codeigniter中將數據從視圖發送到控制器

[英]How to send data from view to controller in codeigniter

我是代碼點火器的新手。 在我的視圖中,我添加了此代碼以在我的網站中啟用Google登錄。

<html lang="en">
<head>
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="720765566138-5c6jreo4r7ma6cm0hdblj5cmjtdiruk4.apps.googleusercontent.com">
<script src="https://apis.google.com/js/platform.js" async defer>     </script>
</head>
<body>
<div class="g-signin2" data-onsuccess="onSignIn" data-onfailure="onFailure" data-theme="dark"></div>
<script>
function onFailure(msg){ console.log(msg); }
function onSignIn(googleUser) {
    console.log("onSignIn");
    var profile = googleUser.getBasicProfile();
    var user_name = profile.getName();
    var id = googleUser.getAuthResponse().id;
};
</script>
</body>
</html>

如何將變量user_name和id發送到Controller,以便可以調用Model將值插入數據庫。

您必須執行控制器的操作,在此過程中您必須傳遞這樣的變量:

function test{
    $user_name = "XYZ";
    $this->load->view('view_name', $user_name);
    }

如果要傳遞多個變量,請使用以下命令:

function test{
        $user_name = "XYZ";
        $data = 123;
        $this->load->view('view_name', array("user_name"=>$user_name,"data"=>$data));
    }
May this will help you :)

正常提交Form或使用Ajax如果post方法)

$this->input->post();

此方法默認包含其他所有數據get方法

$this->input->get();

如下所示制作form

 <form action="baseurl/controller_name/method">
 add hidden field of user_id then sumbmit 
 </form>

在您的控制器中

  function YOUR_METHOD()
  {
      print_r($this->input->get())//By default get method
  } 

一旦獲得信息,您可以簡單地使用ajax發布信息(使用下面的jquery):

<script>
    function onSignIn(googleUser)
   {
       var profile = googleUser.getBasicProfile();
       var user_name = profile.getName();
       var id = googleUser.getAuthResponse().id;
       $.ajax({
               'url': 'the/path/to/controller',
               'type': 'POST',
               'data':{'user_name': user_name, 'id':id},
               'success': function(){}, //up to you
               'error': function() // up to you
             })
    };
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM