我需要在多个控制器中使用一个函数.所以我虽然使用自定义助手,但似乎我无法让它工作.(它在视图中工作,但我需要在控制器中)
它给我以下致命错误:
致命错误:在第12行的/application/controllers/developers.php中调用未定义的方法Developers :: checkIfLoggedIn()
使用帮助程序在多个控制器中使用函数是一个聪明的举动,或者我应该这样做.
马克,先谢谢你
编辑:
控制器文件:
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Developers extends CI_Controller
{
public function __construct()
{
parent::__construct()
$this->load->helper('form');
$this->load->helper('url');
$this->load->helper('login');
//helper function
checkIfLoggedIn($this->session->userdata('loggedIn'));
}
}
Run Code Online (Sandbox Code Playgroud)
助手文件:
if (!defined('BASEPATH')) exit('No direct script access allowed');
if (!function_exists('checkIfLoggedIn'))
{
function checkIfLoggedIn($session_loggedIn)
{
$loggedIn = $session_loggedIn;
if($loggedIn == false)
{
redirect('login/');
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
我知道用laravel 4来处理404错误就是在app/start/global.php上写:
App::missing(function($exception)
{
return Redirect::route('404_Error');
});
Run Code Online (Sandbox Code Playgroud)
但实际上我想使用这条路线:
Route::get('error', array(
'as' => '404_Error',
'uses' => 'ErrorController@get404Error'
));
Run Code Online (Sandbox Code Playgroud)
但要保持相同的URL.
例:
我的URL现在是localhost:8000/users/blat
(404错误).我不想重定向到错误页面.我想看看ErrorController@get404Error
这个URL.
非常感谢.
这是GA输出代码:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA_CODE']);
_gaq.push(['_setDomainName', 'SUBDOMAIN']);
_gaq.push(['_trackPageview']);
_gaq.push(['_trackEvent', 'Priority', 'Created (day)', 'Label info', '']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
Run Code Online (Sandbox Code Playgroud)
trackEvent行似乎是正确的......但由于某种原因没有跟踪.是因为我离开了值字段为零吗?
下面是一个代码片段
var pTags=document.getElementsByTagName('p');
for(i=0;i<pTags.length;i++)
{
var p=pTags[i], div=document.createElement('div');
div.innerHTML='P tag replaced with a div tag';
p.parentNode.replaceChild(div, p);
}
Run Code Online (Sandbox Code Playgroud)
它应该替换所有P
标签,Div
但它不会替换所有标签,而是替换其中一些标签。这些red
(小提琴)不会被替换。
我不需要这个,但我想知道我在这里做错了什么?所以,我的问题是为什么它不以这种方式工作。希望有人能告诉我事实。
谢谢你的努力!
我正在尝试制作一个管道符号italic
,但在其他字体显示为斜体的情况下它不起作用,我做错了什么吗(在 Chrome 中)?
<em>italic | italic</em> | <em class="italic">abc | abc</em>
Run Code Online (Sandbox Code Playgroud)
我的代码是正确的(我已经编程了13年),但出于某种原因,当我在WHERE子句中的SELECT查询中使用变量时,我得不到任何结果.如果我对它进行硬编码,它就可以了.怎么会这样?吹我的脑海......
$track = $wpdb->get_row($wpdb->prepare("SELECT tracking_id, order_id, outbound_tracking_number, return_tracking_numbers FROM wp_woocommerce_trackingnumbers WHERE order_id = %s", $o_id));
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在尝试使用javascript添加下面找到的完全相同的元素.我已经尝试了这里找到的所有解决方案,我甚至试图回应元素,php echo
但没有运气.没有必要更改任何输入名称或任何类似的东西,只需单击该按钮,向表中添加另一行,就是这样.
这是元素:
<tr>
<td><input type="text" name="links"></td>
<td><input type="text" name="keywords"></td>
<td><input type="text" name="violationtype"></td>
<td><input type="submit" id="last" class="button" value="Add another line" onclick:"addField();"></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我真的很喜欢,但是,我喜欢javascript,因为我保持我的系统没有任何外部引用(例如jquery),但此时我对任何建议持开放态度.我尝试使用以下代码执行此操作:
function addFields() {
var number = document.getElementById("last").value;
var html = '<tr>' +
'<td><input type="text" name="links"></td>' +
'<td><input type="text" name="keywords"></td>' +
'<td><input type="text" name="violationtype"></td>' +
'<td><input type="submit" id="last" class="button" value="Add another line" name="line" onclick:"addField();"></td>';
number.appendChild(html);
}
Run Code Online (Sandbox Code Playgroud)
但它似乎没有做任何事情.我假设我应该处理代码,知道哪个输入比最后一个更好,id="last"
但我不知道如何做到这一点.
我正在尝试访问Laravel 4项目中的系统变量.与用于ENV['VARIABLE_NAME']
访问RoR项目中的系统变量类似.
在我的Laravel代码中getenv('VARIABLE_NAME')
返回一个空字符串.但是,我可以php -r "echo getenv('VARIABLE_NAME')"
在命令提示符下访问并将此变量打印到屏幕上.
php -i
确认这个变量也存储在php的$_SERVER
超全局中.但是,尝试$_SERVER['VARIABLE_NAME']
从我的项目的database.php文件访问会导致Undefined index: VARIABLE_NAME
错误.
我是否可以出于某种原因从php访问任意系统变量(例如,潜在的安全问题)?如果是这种情况,我怎样才能将我需要的系统变量暴露给我的Laravel 4项目?
如果配置很重要,我使用php5-fpm和nginx在Ubuntu 13.04服务器上提供我的PHP.PHP版本是5.5.
我在wordpress中遇到了tinymce的问题.我需要放入tinymce元素.在tinymce编辑器中有两个选项卡"Visual"和"HTML".当我在"HTML"中使用我的代码时,它的工作原理.但是,当我想在"视觉"中使用时它不起作用......
我是这样想的:
JavaScript的
function insert_tag(text){
var cont = document.getElementById('bbp_topic_content');
cont.value += '<div>' + text + '</div>';
}
Run Code Online (Sandbox Code Playgroud)
HTML
<a onclick="insert_tag('HELLO')" >Insert text</a>
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
我有一个博客,它由WordPress提供支持.它之前有一个没有响应的主题,今天我已经安装了一个响应主题.我从一些免费的html主题构建了这个主题,从其他主题收集了一些和平,修改并在一周内将其转换为WordPress主题,它是HTML5,CSS3 modernizr.js
.
现在,我有一个奇怪的问题,那就是,header.php
我有一个搜索输入,它假设在输入时提交表单(默认行为),但每当我按Enter键时,它都不会提交表单.我几乎在每个JavaScript
文件中查找是否有任何keydown
或类似的事件可能阻止提交但没有找到任何东西,我也知道所有文件.这是该网站,现在仍在开发过程中,所以任何人都可以请看这个网站,让我知道我是否错过任何东西,这是标记
<form method="get" id="searchbar" action="<?php bloginfo('url'); ?>/search.php" style="margin:0 0 -10px !important;" _lpchecked="1">
<input id="search-submit" type="submit" name="submit" />
<input id="search-bkg" type="text" name="s" placeholder="Type and press enter.." />
</form>
Run Code Online (Sandbox Code Playgroud)
问题是,表单在输入时没有提交.也许我错过了一些东西,所以需要研究员的帮助或任何建议/提示来找出问题所在.谢谢!
更新:这是当前的代码(经过研讨会的一些建议)
<form action="<?php echo home_url() ?>/search.php" method="get">
<input id="search-submit" type="submit" name="submit" />
<input id="search-bkg" type="text" name="s" placeholder="Type and press enter.." />
</form>
Run Code Online (Sandbox Code Playgroud)
这是浏览器中呈现的标记
<form action="http://heera.it/search.php" method="get" _lpchecked="1">
<input id="search-submit" type="submit" name="submit">
<input id="search-bkg" type="text" name="s" placeholder="Type and press enter.." style="margin-top: …
Run Code Online (Sandbox Code Playgroud) html ×3
php ×3
javascript ×2
laravel ×2
wordpress ×2
codeigniter ×1
controller ×1
css ×1
forms ×1
frameworks ×1
helper ×1
laravel-4 ×1
nginx ×1
routing ×1
tinymce ×1
wpdb ×1