当我遇到障碍时,我正在阅读官方Code Igniter教程...
该教程让我保存并运行此代码:
<?php
class Blog extends Controller {
function index()
{
echo 'Hello World!';
}
function comments()
{
echo 'Look at this!';
}
}
?>
Run Code Online (Sandbox Code Playgroud)
如果我输入以下网址:
index.php/blog
它工作并显示"Hello World!".
当我修改URL以显示注释时,如下所示:
index.php/blog/comments/
我得到了404.
我想在模型中加载一些帮助器.这该怎么做?试图使用:
${get_parent_class($this)}->load->helper ('text');
Run Code Online (Sandbox Code Playgroud)
但仍然出现错误
致命错误:在非对象上调用成员函数helper()
是不是公共视图中的所有文件都是坏事?
当然,诸如/system/application/config/database.php之类的内容不应公开显示!
我有这个数组
Array
(
[0] => stdClass Object
(
[TransactionNo] => OPM-EC-K-LFMCD2-21.4
[StokOpnameTransNo] => OPM-EC-K-LFMCD2-21
[ItemCode] => BBG150400005
[ItemName] => BIG BAG
[OriginalPrice] => 289900.00
[Price] => 289900.00
[QtyBegining] => 0
[QtyIn] => 4
[QtySales] => 0
[QtyMutasi] => 0
[QtyStock] => 4
[QtyOpname] => 0
[QtyAdjust] => -4
[TotalAdjust] => -1159600.00
[rak] =>
[line] =>
[TransDate] => 2017-03-31 10:46:00.000
[CustomerCode] => K-LFMCD2
[CreatedBy] => 1208496.
[Remark] => re
[Remark2] => re
[SOTerakhir] =>
[TglSoTerakhir] =>
)
[1] => stdClass Object …Run Code Online (Sandbox Code Playgroud) 我正在尝试使我的CodeIgniter应用程序与WordPress类似.
我希望能够创建这些URL:
http://www.example.com/my-post-example
http://www.example.com/new-headline-here
http://www.example.com/i-love-stackoverflow
我的路由:
$route['(:any)'] = "core/index/$1";
Run Code Online (Sandbox Code Playgroud)
这将调用我的核心控制器并将页面名称传递给索引函数.
然后我在我的数据库中查找页面名称并将页面显示给用户.到现在为止还挺好.
但是,有时候我想调用另一个控制器.例如:
http://www.example.com/admin/edit_page/3
http://www.example.com/admin/settings
现在我假设我的路线将抓住所有这些规则并将它们发送到我的核心控制器.有没有办法对某些页面进行例外处理?或者在我的Core控制器中进行此检查是个好主意.
例如,
if ($page not in DB) {
// Call controller/method
}
Run Code Online (Sandbox Code Playgroud)
这似乎有点多余,因为我只想让CodeIgniter来处理这个问题.
如果没有阅读完整的问题,请不要将其标记为重复.
我知道这已经多次讨论了.
但这是不同的情况.
我正在对php方法进行简单的ajax调用,如下所示:
public function updateAbout()
{
log_message('debug', "updateAbout is called", false);
log_message('debug',$this->input->post('fname'), false);
log_message('debug', "updateAbout success", false);
}
Run Code Online (Sandbox Code Playgroud)
在这个方法中,我只是试图获取由ajax调用传递的数据.
但我没有得到ajax调用发布的数据而是获得2个错误:
Severity: Warning --> session_start(): Cannot send session cache limiter - headers already sent ...\..\\libraries\Session\Session.php 143
Severity: Warning --> Cannot modify header information - headers already sent ..\..\libraries\Session\Session.php 171
Run Code Online (Sandbox Code Playgroud)
注意:
我没有使用session_start(); 我项目中的任何地方.
此错误指向session_start()方法,该方法位于Codeigniter库的Session.php文件中.它没有指向我的代码中的任何地方,所以我不确定在哪里寻找问题.
我已经在互联网上查了答案,但似乎没有人能解决这个问题.
有人可以解释我为什么会收到此错误,我该如何防止这种情况?
谢谢.
编辑: 根据其他答案中的建议,我已经检查并删除了所有代码中的空格.
这是我的javascript代码,其中进行了ajx调用.
$("#btnupdateAbout").click(function(){
$fname=$("#updatefname").val();
$lname=$("#updatelname").val();
$country=$("#updatecountry").val();
$locality=$("#updatelocality").val();
if($('#optradioMale').is(':checked')) { $gender="Male"; }
else{$gender="Female";}
$.ajax({
url:"http://localhost/Voyager/ProfileControls/updateAbout",
data:{'fname':$fname,'lname':$lname,'country':$country,'locality':$locality,'gender':$gender},
method:"POST",
contentType:false,
cache:false,
processData:false,
success:function(){
}
}); …Run Code Online (Sandbox Code Playgroud) 如何通过使用Configure.IT API流程中的地理编码API下面的地址获取纬度和经度值.
https://maps.googleapis.com/maps/api/geocode/json?address=XXXXX&key=XXXXX
在下面的流程图中,在插入客户数据之前,我需要获取lat&lng值并将这些值存储到customer表中.
我有一个非常简单的查询,不知道我在这里做错了什么.
我的数据库调用没有insert id像我期望的那样收到.
表:
存储过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `addCustomerProduct`(IN in_customerID INT, in_productID INT)
BEGIN
INSERT INTO order_customer_product (customerID, productID, retailAmountAtPurchase, faceValue)
SELECT
in_customerID,
in_productID,
p.retail,
p.faceValue
FROM
products as p
WHERE
p.productID = in_productID;
END
Run Code Online (Sandbox Code Playgroud)
PHP:
public function addProduct($data, $userID)
{
// Do we already have a pending order for this user?
$orderID = $this->doesOrderExist($userID);
// We had no order, lets create one
if (!$orderID) {
$orderID = $this->createOrder($userID);
}
/**
* Insert the customer product.
* This …Run Code Online (Sandbox Code Playgroud) (在那之前,我为我糟糕的英语道歉)我有这样的研究案例:
我目前在使用Web应用程序时出现问题.我为某个公司制作了一个Web应用程序.我使用CodeIgniter 3制作了应用程序.
我使用Maria DB构建了数据库.对于每个表中的id,我使用每个表的应用程序数据库的自动增量ID.我通常将Web应用程序部署到云服务器(有时公司有自己的专用服务器,但有时却没有).有一天,有一家公司,他们不想将我之前制作的应用程序部署到云端(出于安全目的,他们说).
该公司希望将该应用程序部署到员工的个人电脑上,而每个员工的电脑不相互连接(即独立的个人电脑/个人电脑/员工的笔记本电脑).他们说,他们会每5个月将员工个人电脑的所有数据收集到公司的数据中心,当然数据中心也没有连接到互联网.我告诉他们这不是存储数据的好方法.(因为当我尝试将所有数据合并为一个数据时,数据将重复,因为我的每个表的列ID都是自动增量ID,并且它是主键).不幸的是,该公司仍然希望以这种方式保留应用程序,我不知道如何解决这个问题.
他们至少有10名员工会使用这个网络应用程序.据此,我必须亲自将应用程序部署到10台PC上.
附加信息:每个员工都有自己从公司获得的唯一ID,我为每个员工创建了auto_increment id,如下表所示:
id | employee_id | employee_name |
1 | 156901010 | emp1
2 | 156901039 | emp2
3 | 156901019 | emp3
4 | 156901015 | emp4
5 | 156901009 | emp5
6 | 156901038 | emp6
Run Code Online (Sandbox Code Playgroud)
问题是每当他们从该应用程序填充表单时,某些表不存储员工的id,而是存储来自增量id的新id.
例如electronic_parts表格.它们具有如下属性:
| id | electronic_part_name | kind_of_electronic_part_id |
Run Code Online (Sandbox Code Playgroud)
如果emp1从Web应用程序填写表单,表格的内容将在下面.
| id | electronic_part_name | kind_of_electronic_part_id |
| 1 | switch | 1 …Run Code Online (Sandbox Code Playgroud) 我正在使用Codeigniter框架并尝试与SendInBlue的PHP API集成.他们的PHP文档并不是非常有用,Github上的设置说明也不清楚.
该文档说"下载文件并包含autoload.php":
require_once('/path/to/APIv3-php-library/vendor/autoload.php');
Run Code Online (Sandbox Code Playgroud)
但我找不到autoload任何地方,我不确定如何在我的CI结构中包含它.
更新:
我联系了Sendinblue支持,他们没有CI用户的任何安装教程.我尝试使用Compiler,并创建了文件夹结构,但我仍然遇到与CI集成的问题.我将所有文件夹放在我的库中,但没有正确加载并抱怨Autoload类不存在.
codeigniter ×10
php ×8
mysql ×2
ajax ×1
apache ×1
arrays ×1
class ×1
configureit ×1
database ×1
duplicates ×1
google-maps ×1
mariadb ×1
security ×1
sendinblue ×1
session ×1
wordpress ×1