我刚刚开始进入 CodeIgniter 框架,并且仍在习惯模型- Controller - View 设置。
我有一个名为“Customer”的 Controller 类,它包含我需要访问的以下代码:
function loadCustomer(){
if(!empty($_POST)){
$result['Success'] = 0;
$user = $this->User->LoadUser($_POST['UserID']);
if($user){
$result['Success'] = 1;
$user->Package = $this->User->GetPrimaryPackage($user->UserID);
$user->AccountAlerts = $this->User->GetAccountAlertOptions($user->UserID);
$_SESSION['User'] = $user;
$_SESSION['UserLoggedIn'] = true;
$result['User'] = $user;
$result['UserLoggedIn'] = true;
}
echo json_encode($result);
}
else
return null;
}
名为“User”的模型包含以下内容:
function LoadUser($UserID = null){
if(!$UserID){
trigger_error("No userid supplied.", E_USER_ERROR);
exit();
}
$result = $this->db->query("SELECT * FROM mydb.tblUsers where UserID='$UserID';")->row();
if(!empty($result)){
return $result;
}
else{
return null;
}
}
我正在使用以下代码,我需要能够访问 Customer 中的“loadCustomer()”
函数,以便我可以根据 UserID 执行自动登录:
<?php
$con = mysqli_connect('localhost','root','root','mydb');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"mydb");
$sql = "SELECT * FROM incoming_calls";
$result = mysqli_query($con,$sql);
while ($row = mysqli_fetch_array($result)) {
if (!empty($row)) {
$number = $row['phone_number'];
}
}
$sql = "SELECT Username, UserID, Name
FROM tblUsers
WHERE PhoneHome='$number' OR PhoneCell='$number' OR PhoneWork='$number'";
$result = mysqli_query($con,$sql);
while ($row = mysqli_fetch_array($result)) {
$userArray[] = array("name" => $row['Name'], "username" => $row['Username'], "user_id" => $row['UserID']);
}
if (!empty($userArray)) {
echo json_encode($userArray);
}
mysqli_close($con);
?>
我该如何解决这个问题,非常感谢任何帮助?
最佳答案
我希望您的模型有更多的内容,因为您发布的模型没有所需的类结构。
请查看此内容: https://ellislab.com/codeigniter/user-guide/general/models.html
CodeIgniter 的文档将成为您最好的 friend 。 ...大多数时候,我遇到过一些文档遗漏某些内容的情况,但这种情况非常罕见,在这一点上 Google 是您最好的 friend 。
我还建议使用 CodeIgniter 的 session 库。因为它不太容易出错,更容易使用,并且包含一些简洁的功能......
https://ellislab.com/codeigniter/user-guide/libraries/sessions.html
示例代码:
Controller :
class MyPage extends CI_Controller
{
function index()
{
$this->load->model("user");
$sum = $this->user->doWork(4, 4);
}
}
型号
class User extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
public function doWork($x, $y)
{
return $x + $y;
}
}
关于PHP CodeIgniter 外部 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27533927/