对于我网站上的每个用户,他们都有自己的个人资料页面,其中包含文章列表.当用户单击其中一个列表项时,会发生一个动画,然后AJAX调用会显示一个显示该文章的div.同时,我使用一些javascript来强制更改URL以反映这一点:
http://www.example.com/UserName/Hello-World-Article
Run Code Online (Sandbox Code Playgroud)
当用户在浏览器中单击后退按钮时,它会调用javascript函数来设置回到listview状态的动画.
到现在为止还挺好.但是,假设用户将上述URL输入到他们的地址栏并按回车,这里是一个问题:
如何将"UserName"和"Hello-World-Article"变量传递给Codeigniter并在此上下文中正确使用它们?
我有以下代码,我需要在jquery中获得帖子的ID!请帮帮我.
foreach($posts->result() as $post){
echo "<div class='post' id='$post->id' >";
echo $post->content;
echo "<div class='commentor' id='commentor' >";
echo "<input type='text' class='commentor_input' />";
echo "</div>";
echo "</div>";
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用下面的代码获取帖子的代码,但是不起作用!
$('.commentor_input').change(function(e){
e.stopImmediatePropagation();
var comment = $(this).val();
var post_id = $(this).closest("div").find(".post").attr("id");
alert(post_id); // alerts Undefined!
});
Run Code Online (Sandbox Code Playgroud) 我有一个具有多个DB的配置,并且基于传递给配置的约束,使用了DB.有了这个,我正在尝试调试,以确保在我想要的时候使用正确的数据库.所以我需要看看正在使用什么数据库.我记得曾经发现这个宝石会显示这些信息,但没有保存它,也不记得引导我的搜索条件.
总的来说,我只想打印出db主机,数据库名称和连接信息,这样我就可以确保它与计划排成一行.
我想说命令是类似的$this->db()但是没有显示任何东西.所以偶然有人碰巧知道吗?因为我也无法在CI指南中找到它.
嘿,我正在使用Codeigniter的电子邮件助手,并解决了一个奇怪的问题.我有以下代码:
$path = mpdf_create_billing($html);
$this->load->library('email');
$this->email->set_newline("\r\n");
$this->email->from('no-reply@foo.com');
$this->email->to("foo@gmail.com");
$this->email->subject('Invoice for '.date('d/m/y'));
$this->email->message($message);
$this->email->attach($path);
if($this->email->send())
echo "Email Sent Successfully to $email with the file $path<br>";
else
echo "Should be sending email to $email , but i didn't<br>";
Run Code Online (Sandbox Code Playgroud)
现在这个代码在foreach循环中,在这种情况下是两次.mpdf_create_billing返回PDF文件的路径.现在这个代码回显了2个不同的文件路径,但电子邮件是相同的,并且在两个循环运行中,两个电子邮件都包含相同的文件,尽管文件路径不同.
谁知道如何解决它?这是我的输出:
Email Sent Successfully to foo@foo.com with the file
/path/to/pdf/Invoice_1368452801.82065190eec1c85eb.pdf
Email Sent Successfully to foo@foo.com with the file
/path/to/pdf/Invoice_1368452804.53475190eec482917.pdf
Run Code Online (Sandbox Code Playgroud)
这可能是我的SMTP服务器发送电子邮件的问题?我在2个邮件帐户上尝试过,结果相同.
public function include_header( $h, $h_data ) {
// Require header file
if (isset($h) && !empty($h)) {
$this->header_file = 'includes/header/'.$h;
} else { return false; }
// Pass optional array of parameters
if (isset($h_data) && is_array($h_data) && !empty($h_data)) {
// Loop through array & assign keys to appropriate class members
foreach($h_data as $key => $val) {
if ($key == 'doctype') { $this->doctype = $val; }
if ($key == 'title') { $this->title = $val; }
if ($key == 'meta') {
// The …Run Code Online (Sandbox Code Playgroud) 如果此查询选择所有记录,其中id = 11
$this->db->select('title')->from('mytable')->where('id', $id)->limit(10, 20);
$query = $this->db->get();
Run Code Online (Sandbox Code Playgroud)
那么选择所有记录的查询是什么,其中id!= 11的CodeIgniter样式.
我一直在尝试运行一个由朋友完成的现有CodeIgniter项目.在他的电脑上一切正常,但当我尝试在我的电脑上运行时,这条消息显示在浏览器中:
Parse error: syntax error, unexpected "[" in C:\wamp\www\P-project\application\controllers\user_controler.php on line 88
Run Code Online (Sandbox Code Playgroud)
这是第88行的代码:
$data = [];
Run Code Online (Sandbox Code Playgroud)
这是函数的代码:
function Shownews(){
$this->load->model('user');
$data = [];
$data['news'] = $this->user->getNews();
$this->load->vars($data);
}
Run Code Online (Sandbox Code Playgroud)
他已经完成了,所以项目URL是:
http://localhost/P-project/index.php/user_controler/log
Run Code Online (Sandbox Code Playgroud)
我们都使用Wampserver进行连接,使用Netbeans进行项目.
这是模型
function delete_exchange($ExchangeRateId) {
$this -> db -> where('ExchangeRateId', $ExchangeRateId);
$this -> db -> delete('exchange_rate');
}
Run Code Online (Sandbox Code Playgroud)
这是控制器
function delete($ExchangeRateId) {
$user_type = $this -> session -> userdata('user_type');
if ($user_type != "admin") {
redirect(base_url() . 'user_admin/login');
}
$this -> all -> delete_exchange($ExchangeRateId);
redirect(base_url() . 'exchange/index');
}
Run Code Online (Sandbox Code Playgroud)
删除按钮是清除的,听到我想要弹出是或然后必须运行我的意思删除通知
thansk提前...
我的客户网站有一个"在线评估"部分,其中包含40个字段表单.每个字段都需要用户输入,我有程序允许50到200个字符,具体取决于问题.
然后将表单发送到客户端的邮件,但它也存储在数据库中,以便客户端稍后可以检查所有表单.
我正在使用codeigniter,我使用活动记录来阻止sql注入.我也用我在另一个问题中发现的方法对它进行了spambot验证.我必须隐藏字段,一个隐藏着css.如果值已填充或不匹配,则表单不会验证.(顺便说一下,这还不够,还是我还应该添加验证码?).
代码是这样的:
<p class="mail"><input type="text" name="mail" id="mail" /></p> //then I hyde this with css
<input type="hidden" name="mail" value="some value" />
Run Code Online (Sandbox Code Playgroud)
然后我验证它
if( $this->input->post('mail', true) != '' AND $this->input->post('mail', true) != 'some value')
{
die('could not send your request');
}
else
{
process form
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,在创建数据库表时,因为我添加了42个字段,我不知道它是否是我的电脑,但我的互联网连接真的变慢了,几乎崩溃了.我担心攻击者可能会尝试多次填写此表单并完全填充每个字段,然后数据库崩溃了?这是真的吗?
将该表划分为两个或三个不同的表是否更安全?还是没有意义?我不太了解安全性,我正在努力寻找可以学习的地方,但我找到的所有信息都充满了我不太懂的术语,所以这很难.我非常感谢你的帮助.
编辑:这样做的正确方法是什么?
我已经和它一起工作了一段时间,这让我有点疯狂.我敢肯定,这只是我想念的傻事.
我正在使用codeigniter分页库来分页我的结果.它运行得非常好,但是对于较大的查询,数字会从页面上运行.反正是否限制前一个和下一个之间的链接数量?
我试过这个
$config['display_pages'] = '1, 2, 3';
Run Code Online (Sandbox Code Playgroud)
还有其他一些东西,但似乎没什么用.
codeigniter ×10
php ×8
ajax ×2
database ×2
javascript ×2
mysql ×2
email ×1
jquery ×1
loops ×1
pagination ×1
security ×1
smtp ×1