我需要发送这个XML
<?xml version="1.0" encoding="UTF-8"?>
<gate>
<country>NO</country>
<accessNumber>1900</accessNumber>
<senderNumber>1900</senderNumber>
<targetNumber>4792267523</targetNumber>
<price>0</price>
<sms>
<content><![CDATA[This is a test æøå ÆØÅ]]></content>
</sms>
</gate>
Run Code Online (Sandbox Code Playgroud)
到SMS网关服务.该服务侦听HTTP POST请求.XML必须嵌入POST请求的BODY中.
我正在使用PHP和CodeIgniter框架,但我总是PHP n00b,所以理想情况下我需要一个完整的指南,但任何正确方向的指针都将受到赞赏.
我曾经在codeigniter问过这个问题,现在我想在laravel中询问这个问题.
我想为自定义帮助器,模型和控制器设置一个全局变量,该变量来自数据库结果.
这是一个例子:
不知道把变量放在哪里
$data= DB::table('categories')->where('id', '2')->first();
$this->product_var = $data->product; **//main global variable**
Run Code Online (Sandbox Code Playgroud)
自定义助手
function test() {
if($this->product_var=="product name") {
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器
function index() {
echo $this->product_var;
}
Run Code Online (Sandbox Code Playgroud)
我的模特
function get_data() {
echo $this->product_var;
}
Run Code Online (Sandbox Code Playgroud)
正如你可以在上面看到我的剧本,$this->product_var几乎用custom helper,my controller和my model.在codeigniter中,我们在libraries文件夹中创建Globals.php,或者只是将变量放在核心控制器中.我应该在哪里设置全局变量?
我正在使用CodeIgniter运行LAMP环境.我希望能够使用它的URL模式,比如http://localhost/controller/function/ID,但是默认情况下它必须是http://localhost/index.php/controller/function/ID.用户指南说我需要一个.htaccess文件来使前一种风格成为可能,并以此为例:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
但我不明白这是如何工作的.我应该把.htaccess放在哪里?它必须在服务器根目录中吗?
如果我的服务器上运行了多个站点,该怎么办?我是否必须将其插入/var/www/并根据加载的目录指定条件?或者我可以把它放进去/var/www/site_using_codeigniter/?我不确定如何让这个工作.
如果请求的URL实际上不存在,我是否可以将其设置为仅映射到MVC URL?例如,它http://localhost/articles/2009/some-article-name不是服务器上的目录,因此它将映射到index.php并给予codeigniter,但http://localhost/forum 它将存在于服务器上但不应由codeigniter处理.
我应该用.htaccess文件做的任何其他事情?有什么好看的吗?
我改变了我的配置文件:
$config['index_page'] = ""; //used to be "index.php"
Run Code Online (Sandbox Code Playgroud)
并将其添加到.htaccess文件中:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
并将其保存在我的站点根目录中(在本例中/var/www/cms/)
我进入了/etc/apache2/conf.d/security(由/etc/apache2/apache2.conf包含)并执行了以下操作:
<Directory />
AllowOverride All #was "none", but this was all commented out
Order Deny,Allow
Deny from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
但它仍然无法正常工作.如果我导航到http://localhost/cms/index.php/hello,它会打印"Hello there",但http://localhost/cms/hello会出现404错误.
想法? …
我刚刚使用Zend一段时间后才开始使用CodeIgniter.我的新站点有一个功能,您可以通过Ajax注册.在Zend我可以使用它来检查传入的POST是否通过AJAX,因此来自我的网站:
if(!$this->getRequest()->isXMLHttpRequest())
Run Code Online (Sandbox Code Playgroud)
CodeIgniter中是否有一段代码可以执行相同的操作?如果我不确定它是一个AJAX调用,理论上可以通过创建一个表单发布到我的控制器来注册任何他们想要的东西.
谢谢!
在CodeIgniter中,会话数据默认保存在cookie中.但是我的服务器上必须还有一个文件(命名为会话ID)来验证数据(在cookie中)是否有效,或者我错了?
我正在搜索会话保存的位置.我已经查看了"session.save_path"目录(/ var/lib/php5),但是在这个目录中只有其他会话,而不是CodeIgniter会话.
我也没有在数据库中保存会话,所以CodeIgniter如何知道数据(在cookie中)是有效的?
我已经被困在这一点很长一段时间,甚至在阅读了一些帖子之后,我还没有找到解决方案.
我正在为测验创建一个界面,在管理界面中,我需要将图像上传到文件夹并将图像名称上传到数据库.我可以处理其他事情,但图像上传很长时间都困扰着我.
请看下面的代码.
<?php echo form_open_multipart('admin/update_question'); ?>
<?php echo form_hidden('questionid', $question->level); ?>
<?php echo form_label('Comment', 'comment'); ?>
<div class="input">
<?php
$arr_comment = array(
'name' => 'comment',
'id' => 'comment',
'value' => $question->comment
);
echo form_textarea($arr_comment);
?>
</div>
<br/>
<?php echo form_label('Answer', 'answer'); ?>
<div class="input">
<?php
$arr_answer = array(
'name' => 'answer',
'id' => 'answer',
'size' => '10000',
'value' => $question->answer
);
echo form_input($arr_answer);
?>
</div>
<br/>
<?php echo form_label('Image', 'userfile'); ?>
<div class="input">
<?php
$arr_image = array(
'name' …Run Code Online (Sandbox Code Playgroud) 我正在设置Apache重写规则来整理我的CodeIgniter URL.
这个问题(以及我在这个地方发现的很多论坛帖子等)记录了以下规则的使用(或者非常类似的东西):
RewriteEngine on
RewriteCond $1 !^(index\.php|phpinfo\.php|images|robots\.txt|sitemap\.xml\.gz|sitemap\.xml|assets)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
我知道RewriteRule后的$ 1引用了从(.*)获取的字符串,但是第一个$ 1(RewriteCond之后的代码)代表什么?我见过的很多例子都使用%{REQUEST_URI}作为RewriteCond的第一个参数.
我的查询有问题,我需要从不同的数据库加入两个表,现在我的问题是如何执行我的查询.我从这里得到了我的语法格式
请先访问此链接,以便了解我的SQL语法为何如此
http://www.x-developer.com/php-scripts/sql-connecting-multiple-databases-in-a-single-query
$ENROLLEES = $this->load->database('ENROLLEES', TRUE);
$ACCOUNTS = $this->load->database('ACCOUNTS', TRUE);
$SELECT = "SELECT $ACCOUNTS.BALANCES_TABLE.IDNO, $ACCOUNTS.BALANCES_TABLE.balance";
$FROM = "FROM $ACCOUNTS.BALANCES_TABLE";
$WHERE = "$ACCOUNTS.BALANCES_TABLE.IDNO IN (SELECT $ENROLLEES.ENROLLEES_TABLE.IDNO FROM $ENROLLEES.ENROLLEES_TABLE)";
$SQL = $SELECT ." ". $FROM ." ". $WHERE;
Run Code Online (Sandbox Code Playgroud)
主要问题:如何执行我的查询?
如果我们在codeIgniter中这样做:
$ENROLLEES->query($SQL); or $ACCOUNTS->query($SQL);
Run Code Online (Sandbox Code Playgroud)
如何执行我有多个数据库的查询?我将在这里提供[database]->query($SQL);什么?
我收到angularjs [$ rootScope:inprog]错误.
Error: [$rootScope:inprog] http://errors.angularjs.org/1.2.7/$rootScope/inprog?p0=%24digest.
这是函数调用
Members.get({}, function (response) { // success
$scope.family_mem = response.data;
}, function (error) { // ajax loading error
Data.errorMsg(); // display error notification
});
Run Code Online (Sandbox Code Playgroud)
在控制台我通过php控制器功能获得结果.但是没有更新$scope.family_mem而是转到错误部分.这是指令
myApp.directive('mySelect', function() {
return{
restrict: 'A',
link: function(scope, element){
$(element).select2();
}
};
});
Run Code Online (Sandbox Code Playgroud) codeigniter ×10
php ×5
post ×2
.htaccess ×1
ajax ×1
angularjs ×1
apache ×1
cookies ×1
file-upload ×1
http ×1
javascript ×1
join ×1
laravel-5.4 ×1
mod-rewrite ×1
session ×1
sql ×1
xml ×1