所以,我下载了Tank Auth,并把它放在我的CodeIgniter库文件夹中......现在怎样?只是基于此库的登录页面(控制器+视图)的基本实现将非常感激,让我朝着正确的方向前进.谢谢.
添加行似乎很容易,但我想在我的数据中添加具有复选框的列,以便您可以"编辑"或"删除"该行.
任何CI友好的方式来做到这一点?
我是CodeIgniter的新手,我正在使用Ion Auth进行用户授权.使用Ion Auth库,您将获得如下用户对象:
$user = $this->ion_auth->get_user();
echo $user->email;
Run Code Online (Sandbox Code Playgroud)
如果用户已登录,我希望$ user对象在任何页面上(在任何控制器中)都可用.我怎样才能做到这一点?(我正在使用CodeIgniter 2)
如果我取消注释此代码,我会在网站上找到空白页面.如果我评论这个,网站工作.这是我的退出代码(会话授权):
function exit($action='') {
if ($action == "true") {
echo "Exit.";
return;
}
$login = $this->session->userdata('username');
if ($login == NULL) {
redirect('/blog/login/', 'location', '301');
}
$array_itmes = array('username' => "$login");
$this->session->unset_userdata($array_items);
redirect('/blog/exit/true/', 'location', '301');}
Run Code Online (Sandbox Code Playgroud)
正常登录后:
$newdata = array('username' => "$name");
$this->session->set_userdata($newdata);
Run Code Online (Sandbox Code Playgroud)
在我使用的其他行动中:
$login = $this->session->userdata('username');
if ($login !== NULL) {
echo $login;
}
Run Code Online (Sandbox Code Playgroud)
我得到了我的用户名.第一个代码中的错误在哪里?我来自俄罗斯,很抱歉英语不好.
我正在编写一个从Dropbox下载文件的脚本,应该调整该图像的大小,然后将其拍摄到S3存储桶.
出于某种原因,我无法让图像调整大小.
我不断收到以下错误:
图像的路径不正确.您的服务器不支持处理此类图像所需的GD功能.
代码库:
public function resize_test() {
$postcard_assets = $this->conn->getPostcardDirContent("folder_name", "Photos", TRUE);
foreach($postcard_assets['contents'] as $asset) {
$file = pathinfo($asset['path']);
$original_file = $this->conn->downloadFile($asset['path']);
$raw_file = sha1($file['basename']);
$s3_file_name = "1_{$raw_file}.{$file['extension']}";
$this->resize_photo($original_file);
$this->s3->putObject($s3_file_name, $original_file, 's3-bucket-name', 'public-read');
$s3_check = $this->s3->getObjectInfo($s3_file_name, 's3-bucket-name');
if($s3_check['content-length'] > 0) {
krumo($s3_check);
exit();
}
}
}
private function resize_photo($photo) {
$config['image_library'] = 'imagemagick';
$config['source_image'] = $photo;
$config['maintain_ratio'] = TRUE;
$config['width'] = 640;
$config['height'] = 480;
$this->load->library('image_lib', $config);
if(!$this->image_lib->resize()) {
exit($this->image_lib->display_errors());
}
}
Run Code Online (Sandbox Code Playgroud)
Dropbox API DownloadFile:
public function downloadFile($file) …Run Code Online (Sandbox Code Playgroud) 我的欢迎控制器编码如下,
function index()
{
// some code here to set up my table
echo $this->table->generate();
$data['heading'] = "My Real Heading";
$this->load->view('view_page', $data);
}
Run Code Online (Sandbox Code Playgroud)
当我打开http://localhost/ci/index.php/welcome/
我发现表成功生成了.但是如何将我的桌子展示在我的标题下呢?我很困惑,表类由模块函数生成.它将在视图页面加载之前完成.这就是问题发生的原因.
[更新].
我发现echo $this->table->generate();可以进入我的视图页面.它现在有效.
我认为$ query是数组对象,因为我可以将这些数据打印到这样的列表表中.我的控制器代码
$data['dates'] = $this->calendar_model->get_cal_eventDate();
$this->load->library('table');
$this->load->view('my_test', $data);
Run Code Online (Sandbox Code Playgroud)
我的观点代码
echo $this->table->generate($dates);
Run Code Online (Sandbox Code Playgroud)
但是当我改变我的代码以尝试通过打印$ tbDataArr时foreach.它没用.如何将$ query结果(eventDate字段值)转换为数组对象.
function get_cal_eventDate() {
$this->db->select('eventDate');
$query = $this->db->get('tb_event_calendar');
return $query;
}
$tbDataArr = $this->calendar_model->get_cal_eventDate();
foreach ($tbDataArr as $key => $value) {
echo "Key: $key; Value: $value<br />\n";
}
Run Code Online (Sandbox Code Playgroud) 我想在MySql中输入datetime字段的日期和时间.现在,它正在以00:00:00进入datetime.我有3个表:文章,用户和userarticles.
article:id(int),title(varchar),url(varchar),body(text),date(datetime)
user:id(int)....
userarticle:uid(int),aid(int)-where uid是user.id,援助是article.id
这是我的用户控制器的一部分:
function newArticle()
{
$this->load->view('newArticleview');
}
function insertArticle()
{
//insert from form into article table
$this->db->insert('article', $_POST);
//get ID of the row just added
$rowID = $this->db->insert_id();
$uid = $this->tank_auth->get_user_id();
$data = array('uid' => $uid, 'aid' => $rowID);
//insert uid and aid into userarticles table
$this->db->insert('userarticles', $data);
redirect('');
}
Run Code Online (Sandbox Code Playgroud)
我的新文章
<html>
<head>
<title>Save Me - Add New Article</title>
</head>
<body>
<?php
$date = date("Y-m-d H:i:s");
echo form_hidden('date', $date);
echo form_open('user/insertArticle');
?>
<p>Title:<input type="text" name="title"></p>
<p>URL:<input …Run Code Online (Sandbox Code Playgroud) 代码和错误输出:http: //i.stack.imgur.com/S0W3m.png
"遇到错误无法加载请求的驱动程序:CI_Cache_apc"
参考:http: //codeigniter.com/user_guide/libraries/caching.html
注意:使用CI 2.0.2 app/cache和system/libraries/Cache是递归的(文件和文件夹)CHMOD'd 777. lib只是用于测试是否解决了问题,但事实并非如此.
谢谢!
我有这个模型来裁剪用户的图像
function crop_avatar()
{
$id = $this->tank_auth->get_user_id();
//get current avatar
$query = $this->db->get_where('user_profiles', array('id' => $id));
foreach ($query->result() as $row) {
$j[$row->avatar] = $row->avatar;
}
$config['image_library'] = 'gd';
$config['source_image'] = '.' . substr("$row->avatar", 18);
$config['x_axis'] = '10';
$config['y_axis'] = '60';
$this->load->library('image_lib');
$this->image_lib->initialize($config);
if ( ! $this->image_lib->crop())
{
echo $this->image_lib->display_errors();
}
// print_r($config);
}
Run Code Online (Sandbox Code Playgroud)
生成这个数组(通过print_r)
Array
(
[image_library] => gd
[source_image] => ./images/avatars/b0b623057.jpg
[x_axis] => 10
[y_axis] => 60
)
Run Code Online (Sandbox Code Playgroud)
由于某种原因我不知道 - 没有任何裁剪.原始图像通过此模型直接传递,并且不变.
我的服务器上有GD - 任何想法在这里可能有什么问题?
万分感谢.
codeigniter ×10
php ×9
arrays ×1
caching ×1
controller ×1
crop ×1
datetime ×1
frameworks ×1
gd ×1
html ×1
html-table ×1
ion-auth ×1
login ×1
module ×1
mysql ×1
session ×1
view ×1