codeigniter 相关问题

CodeIgniter是由EllisLab公司创建的开源PHP Web开发框架,它已被不列颠哥伦比亚理工学院采用。该框架实现了Model-View-Controller设计模式的修改版本。有关CodeIgniter类,方法,函数,语法和用法的问题,请使用此标记。

在一个 json 对象中两次查询 mysql,并在 Codeigniter 中检索每个详细信息

我有两个表,我想将它们转换为json,如下所示: $first_query = $this->db->query("SELECT * FROM `parameters` WHERE Patient_id=7 ORDER BYcreated_on DESC LIMIT 10"); $second_q...

回答 2 投票 0

如何在codeigniter中将http重定向到https

第1点 如果我输入: www.myurl.com/somepage http://www.myurl.com/somepage http://myurl.com/somepage https://myurl.com/somepage 让它重定向到 https://www.myurl.com/somepage 第2点 当我...

回答 14 投票 0

如何在Nginx、FastCGI的两个目录中配置两个Codeigniter应用程序

我有一个特定要求,即在指向domain.com/和domain.com/site2的同一个Nginx服务器中设置两个基于CodeIgniter的应用程序。 到目前为止我已经尝试了各种配置组合

回答 2 投票 0

Codeigniter 4 中的子查询条件

知道如何将下面的查询转换为 Codeigniter 吗? 从机构不在的机构中选择机构(从行程中选择机构,其中 trip_type = '本地行程' 按 trip_type 分组,机构有 count(a...

回答 1 投票 0

使用 codeigniter 的活动记录模式进行 UNION 查询

如何使用PHP CodeIgniter框架的活动记录查询格式进行UNION查询?

回答 11 投票 0

对控制器方法的意外 HTTP 请求导致动态生成的表单中出现 403 Forbidden

我在dashboard_view.php中有一个锚标记,它的设计就像一个重定向到view_cart控制器方法的按钮。 我在 dashboard_view.php 中有一个锚标记,它的设计就像一个重定向到 view_cart 控制器方法的按钮。 <a class="show_cart" href="<?=base_url('ProductsController/view_cart');?>">Cart (0)</a> 我有一个控制器方法来加载包含表单的页面。 public function view_cart() { $this->load->view('customer/cart_view'); } 流程如下: 我获取产品并将其单独放入表格中。 cart_view.php $(document).ready(function() { getCartProducts(); processProductQuantityForm(); function getCartProducts() { $.ajax({ url: "<?=base_url('ProductsController/getCartProducts');?>", type: 'GET', dataType: 'json', success: function(response) { $.each(response.cart_items, function(index, cart) { let cartItem = `<form action="" class="product" method="post"> <input type="hidden" name="<?=$this->security->get_csrf_token_name();?>" value="<?=$this->security->get_csrf_hash();?>"> <input type="hidden" name="cart_id" value="${cart.cart_id}"> <input type="text" class="csrf" value="123"> <ul> <li> <img src="<?=base_url('${cart.image_url}');?>" alt=""> <h3>${cart.name}</h3> <span>₱${cart.price}</span> <ul> <li> <label>Quantity</label> <input type="text" min-value="1" id="quantity" data-cart_id="${cart.cart_id}" value="${cart.quantity}" name="quantity"> <!--NOTE: This is the button that triggers the submit--> <ul> <li><button type="button" class="increase_quantity" data-quantity-ctrl="1"></button></li> <li><button type="button" class="decrease_quantity" data-quantity-ctrl="0"></button></li> </ul> </li> <li> <label>Total Amount</label> <span class="total_amount" data-price="${cart.price}" id="total_amount">₱${cart.total_amount}</span> </li> <li> <button type="button" class="remove_item"></button> </li> </ul> <div> <p>Are you sure you want to remove this item?</p> <button type="button" class="cancel_remove">Cancel</button> <button type="button" class="remove">Remove</button> </div> </li> </ul> </form>`; $('.cart_items_form').append(cartItem); }); updateProductQuantity(); }, error: function(jqXHR, textStatus, errorThrown) { console.log('AJAX Error:', textStatus, errorThrown); } }); } }); 用户提交表单来更新数量,触发更新购物车中产品数量的 AJAX 调用。 function updateProductQuantity() { $('.product').on('click', '.increase_quantity, .decrease_quantity', function() { let quantityInput = $(this).closest('form').find('#quantity'); let quantity = quantityInput.attr('value'); let newValue; if ($(this).hasClass('increase_quantity')) { quantityInput.attr('value', function(index, oldValue){ newValue = parseInt(oldValue, 10) + 1; return newValue; }); } else if (quantity > 1) { quantityInput.attr('value', function(index, oldValue) { newValue = parseInt(oldValue, 10) - 1; return newValue; }); } /*Submit the form when these buttons are clicked, containing the new quantity, csrf token and cart id*/ $(this).closest('.product').submit(); updateTotal(quantityInput); }); 成功 AJAX 响应后,我会更新提交表单中的 CSRF 令牌。 function processProductQuantityForm() { $('.cart_items_form').on('submit', '.product', function(e) { e.preventDefault(); let formData = new FormData(this); $.ajax({ url: "<?=base_url('ProductsController/processProductQuantityForm');?>", type: 'POST', dataType: 'json', data: formData, contentType: false, processData: false, success: function(response) { console.log(response); $(".csrf").val(response.result.newCsrfToken); $("input[name='<?= $this->security->get_csrf_token_name() ?>']").val(response.result.newCsrfToken); }, error: function(jqXHR, textStatus, errorThrown) { console.log('AJAX error:', textStatus, errorThrown); } }); }) } 问题是: 紧接着,会自动触发对 http://localhost/thrifted-threads/ProductsController/view_cart 的意外 HTTP POST 请求,从而导致 403 Forbidden 错误。我无法确定为什么会发生此请求。但它在前端运行成功,并且成功更新数据库中的数量。 我认为你需要 e.stopImmediatePropogation() 而不是 e.preventDefault() 来防止事件冒泡到表单元素。 https://api.jquery.com/on/

回答 1 投票 0

我在下面的 ci3 分页中遇到一些错误,我已附上错误

这是错误 遇到 PHP 错误 严重性:8192 消息:ctype_digit():类型为 null 的参数将来将被解释为字符串 文件名:libraries/Pagination.php 行号...

回答 0 投票 0

Codeigniter URL 在没有 index.php 的情况下无法工作

我刚刚建立了一个新网站http://www.reviewongadgets.com 但是URL渲染有问题 当我输入如下 URL 时,它不起作用并给出页面未找到错误 http://www.

回答 4 投票 0

CodeIgniter 4 中上传字段强制问题

我有一个涉及头像上传字段的问题:我不希望该字段是必需的,我不想更新头像图片,我该如何解决这个问题? 编辑.php 我有一个涉及avatar上传字段的问题:我不希望该字段是必需的,我不想更新头像图片,我该如何解决这个问题? edit.php <form method="POST" action="<?= site_url('customer/update/'.$customer['id']) ?>" enctype="multipart/form-data"> <?= csrf_field() ?> <input type="hidden" name="_method" value="PATCH"> <div class="form-group"> <label for="avatar">Avatar:</label> <input class="form-control <?= isset($errors['avatar']) ? 'is-invalid' : '' ?>" name="avatar[]" type="file" multiple /> <?php echo session()->getFlashdata('errors')["avatar"] ?? "";?> </div> <br> <button type="submit" class="btn btn-primary"><i class="fa fa-arrows-rotate"></i>&nbsp;Update</button> </form> CustomerController.php public function update($id) { $model = new CostumerModel(); $validations = new CustomerValidation(); if (!$this->validate($validacoes->customer_update)) { return redirect()->back()->withInput()->with('errors', $this->validator->getErrors()); } $processed_data = [ 'customer_name' => trim($this->request->getVar('customer_name')), ]; $model->update($id, $processed_data); if ($this->request->getFileMultiple('avatar')[0]->isValid()) { $avatar_model = new AvatarModel(); $avatar_model->where('customer_id', $id)->delete(); foreach ($this->request->getFileMultiple('avatar') as $avatar) { $original_name = $avatar->getName(); $image_path = 'uploads/avatars/' . $id . '/' . $original_name; $avatar->move(WRITEPATH . 'uploads/avatars/' . $id, $original_name); $avatar_model->insert([ 'customer_id' => $id, 'image' => $image_path, ]); } } return redirect()->to(route_to('indexPerson')); } CustomerValidation.php public array $customer_update = [ 'avatar' => 'permit_empty', ]; 如何解决 avatar 字段的强制性问题。 以下是修改更新方法的方法: public function update($id) { $model = new CostumerModel(); $validations = new CustomerValidation(); // Get the avatar files $avatarFiles = $this->request->getFileMultiple('avatar'); // Validate only if avatar files are provided if (!empty($avatarFiles)) { if (!$this->validate($validations->customer_update)) { return redirect()->back()->withInput()->with('errors', $this->validator->getErrors()); } } // Process other data $processedData = [ 'customer_name' => trim($this->request->getVar('customer_name')), ]; $model->update($id, $processedData); // Handle avatar update if files are provided if (!empty($avatarFiles)) { $avatarModel = new AvatarModel(); $avatarModel->where('customer_id', $id)->delete(); foreach ($avatarFiles as $avatar) { if ($avatar->isValid()) { $originalName = $avatar->getName(); $imagePath = 'uploads/avatars/' . $id . '/' . $originalName; $avatar->move(WRITEPATH . 'uploads/avatars/' . $id, $originalName); $avatarModel->insert([ 'customer_id' => $id, 'image' => $imagePath, ]); } } } return redirect()->to(route_to('indexPerson')); }

回答 1 投票 0

在 CodeIgniter 4 (PHP 8) 中不推荐将 null 传递给字符串类型的参数 #1 ($datetime)

我试图在今天和数据库(数组)中的字段中的日期之间添加日期差异(以天为单位),这是我的代码: $date1 = date_create($v['sipp_ed']);//这是来自数据库中的字段 $日期...

回答 1 投票 0

我如何找到编写应用程序的 Codeigniter 版本?

我正在查看某人的代码,我可以看到他们正在使用 codeigniter。但我想弄清楚他们使用的是哪个版本。我一直在目录结构中寻找一些

回答 3 投票 0

获取子文件夹中的文件名及其在控制器中的信息

我有一个“图像”文件夹,里面有包含图像的子文件夹。我想要的是数组中所有图像的名称及其路径。 我在我的控制器中写了这个: $数据['

回答 1 投票 0

Codeigniter 2:多次插入和最后插入id

Codeigniter 2 是否有更简洁的方法来执行下面代码中所示的操作? 正如您所看到的,我尝试通过 POST 将数据插入到 3 个彼此相关的单独表中。 一旦我进去...

回答 1 投票 0

smtp 主机更改后内联添加电子邮件附件

我有一个 Codeigniter 3.1.4 网站,在托管公司更改其电子邮件主机之前一直运行良好。 我从我的网站发送附有 PDF 的电子邮件,但 smtp 提供商已更改,我已更新...

回答 1 投票 0

我正在使用 Vonage (Tokbox) API 进行视频通话。我已经生成了会话和令牌,但没有创建流 id

我正在使用 Vonage (Tokbox) API 进行视频通话。使用 codeigniter 集成 Vonage。 我已经生成了会话和令牌,但未创建流 ID。发生了什么 getStream($session...

回答 2 投票 0

路由问题 - Codeigniter

我有根据 URI 从数据库生成的页面。它可以正常工作,但是我无法设置路由来消除 URL 中的控制器和函数。 $route['工作室...

回答 2 投票 0

codeigniter 中的多个数据库连接错误

大家好,我在 CI 中连接多个数据库时遇到错误。当我连接到多个数据库时,有人可以指出我的正确方法吗? 这是我的database.php 文件 $active_group = '默认...

回答 1 投票 0

使用多个表格进行搜索和过滤

我想从多个表中搜索和过滤,并将搜索词作为用户的输入 我有像这样的桌子 简介 id 名字 姓氏 中间名 性别 life_status lds_number 状态 ...

回答 1 投票 0

使用 CodeIgniter 上传多张图片

我是在项目中使用代码点火器的新用户,我在上传多个文件时遇到一个问题,但最后一个仅插入到所有图像三个图像字段。 我的控制器是: 功能

回答 4 投票 0

如何合并两个表中的数据并将其显示在单列中?

我有两种看法,维修和保养。两者都是三个表的组合:repair、r_list、item;以及维护、m_list 和 item。我需要把维修id和维护id我...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.