标签: codeigniter

codeigniter - 电子邮件类 - 提交后注册

做了一个简单的提交用户表格电子邮件和城市数据保存在数据库中,现在我需要在提交数据系统后添加这个表格在用户地址上生成自动电子邮件但是提到的变量我使用一个变量调用$lang如果用户输入是ar所以发送阿拉伯语的电子邮件或如果用户输入en所以用英语发送电子邮件,我面临两个问题,不知道如何在代码中修复此电子邮件类,以便我共享代码.

电子邮件类

public function email() {
    $email = $this->input->post('email');
    $city = $this->input->post('city');
    $this->load->library('email');
    $this->email->from('noreply@abc.com', 'Halalat');
    $this->email->to('$emai');
    $this->email->subject('Halalat Newsletter Subscription');
    $this->email->message( 'Thankyou for submission' );
    $this->email->send();
    echo $this->email->print_debugger();
}
Run Code Online (Sandbox Code Playgroud)

控制器中的user.php

<?php 

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class User extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->helper('form');
        $this->load->helper('url');
        $this->load->library('user_agent');
        $this->load->library('form_validation');
    }

    public function create_user() {
        // field name, error message, validation rules
        $lang = $this->input->post("lang");
        $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|is_unique[users.email]');        
        $this->form_validation->set_rules('city', 'City', 'trim|required');
        if ($this->form_validation->run() == …
Run Code Online (Sandbox Code Playgroud)

php forms email codeigniter

5
推荐指数
1
解决办法
1642
查看次数

我应该使用set_value()在CodeIgniter中重新填充表单

我的问题是我是否应该使用set_value()来重新填充表单.这可能看起来很奇怪,但是我正在创建一个共享控制器功能和视图,可用于添加新记录或编辑现有记录.这样做似乎很有意义,因为功能非常相似.

因此,如果我们调用现有记录进行编辑,我会这样做:

$data['fields'] = $this->customer_model->get_customer($id);
Run Code Online (Sandbox Code Playgroud)

如果表单提交保存记录,或者如果我们要添加一条记录的第一次,形式必须重新加载,如果用户出错的可能性,所以我填充$数据["域"]这种方式来代替:

$data['fields'] = array(
    'company' => $this->input->post('company') ?: '',
    'website' => $this->input->post('website') ?: '',
    'credit_limit' => $this->input->post('credit_limit') ?: ''
);
Run Code Online (Sandbox Code Playgroud)

我的表单元素如下所示:

<input type="text" name="company" value="<?php echo set_value('company', $fields['company']); ?>"  />
Run Code Online (Sandbox Code Playgroud)

但我认为它可能看起来像这样:

<input type="text" name="company" value="<?php echo escape_html($fields['company']); ?>"  />
Run Code Online (Sandbox Code Playgroud)

由于表单数据可能来自任何用户输入(添加或保存时)或从数据库(检索记录进行编辑时),我不能完全依赖post()或set_value()没有第二个参数.此外,set_value()的第二个参数将始终存在($fields['company']在此示例中),因为它从头开始初始化,这就是为什么我想直接使用它.

这种方法有问题吗?

php forms codeigniter

5
推荐指数
1
解决办法
1469
查看次数

CodeIgniter致命错误

我正在尝试使用比特币骰子网站的脚本,我认为它使用CodeIgniter.问题是这个错误不断出现:

Fatal error: Class 'CI_DB_mysql6.000webhost.com_driver' not found in /home/forever/public_html/system/database/DB.php on line 144
Run Code Online (Sandbox Code Playgroud)

这是我的DB.php档案:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 5.1.6 or newer
 *
 * @package     CodeIgniter
 * @author      ExpressionEngine Dev Team
 * @copyright   Copyright (c) 2008 - 2011, EllisLab, Inc.
 * @license     http://codeigniter.com/user_guide/license.html
 * @link        http://codeigniter.com
 * @since       Version 1.0
 * @filesource
 */

// ------------------------------------------------------------------------

/**
 * Initialize the …
Run Code Online (Sandbox Code Playgroud)

html php codeigniter

5
推荐指数
1
解决办法
5087
查看次数

表单数据丢失

我在codeigniter中有一个php应用程序,我遇到了以下问题.随机提交带有Ipad的表单时,会丢失帖子数据.我试过以四种不同的方式访问帖子数据.

print_r($this->input->post());
print_r($_POST);
print_r(file_get_contents('php://input'));
print_r($_REQUEST);
Run Code Online (Sandbox Code Playgroud)

所有这些都不返回任何内容或空数组.这种情况似乎只发生在使用Ipad或Iphone时,但它已经发生了一次桌面游览中的50多次测试.当在PC浏览器上大约100次测试时(firefox,chrome,IE)它没有发生,只有一次在safari中.

表格的代码;

<form id="email_report_form" name="email_report_form" method="post" accept-charset="utf-8" action="/handleajax/email_page" class="email_report_form ajaxform" onsubmit="return validate();">
    <div class="form_step_container clearfix">
        <div class="element clearfix">
            <div class="col_left">
                <label>Email: <span class="required">*</span></label>
            </div>
            <div class="col_right">
                <input type="text" name="form_email_to" id="form_email_to"  />
                <div>&nbsp;</div>
                <label>Separate multiple email addresses with a comma</label>
            </div>
        </div>
        <div class="element clearfix">
            <div class="col_left">
                <label>Your Message:</label>
            </div>
            <div class="col_right">
                <textarea name="form_email_message" cols="125" rows="5" onkeypress="return checkLength(event, this, 1000);"></textarea>
                <label>(Maximum of 1000 characters)</label>
                <br />
                <input type="hidden" name="redirect_path" id="redirect_path" value="" />
                <input type="submit" value="Send" class="btn …
Run Code Online (Sandbox Code Playgroud)

javascript php post codeigniter

5
推荐指数
1
解决办法
926
查看次数

htaccess强制执行"www"但允许子域访问

我到处寻找解决方案,但找不到我想要的确切解决方案.我不擅长htaccess的东西.需要一些帮助.

我已经在我的htaccess文件中强制执行了"www",当我尝试创建子域时它已经开始了.

我正在使用这个设置,我发现它到目前为止它没有子域工作正常.

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP_Host} ^(www\.)?example\.net$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)

创建子域后,它在前面添加"www"并重定向到主站点而不是子域.

For example: folder.domain.com -> becomes -> www.folder.domain.com (displayes the main site)
Run Code Online (Sandbox Code Playgroud)

我在这个htaccess中需要做什么修改?

  1. 强制执行"www".
  2. 如果它不是"www",也允许子域.
  3. 加上".net"中的subdomin网址也会重定向到".com"

顺便说一句,我的主要网站是在codeigniter,我也有这个:

RewriteCond $1 !^(index\.php|js|media|style)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

想在子文件夹上安装博客并将其用作子域名.

简单的方法是修改(添加"博客")

RewriteCond $1 !^(index\.php|js|media|style|blog)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

然后我访问它作为www.domain.com/blog

但我希望它整洁干净,以便控制器创建的URL不会与子文件夹冲突.可能不允许直接访问子文件夹.

谢谢

apache .htaccess mod-rewrite codeigniter

5
推荐指数
1
解决办法
1438
查看次数

致命错误:未找到"CI_Model"类

我的问题是使用模型(findByPk,FindByAttributes等)的例程创建具有公共函数的超类模型.

对于thjs,我决定创建扩展CI_Model类的新库,并从MY_Model类扩展所有模型.

所以我添加MY_Model到$autoload['libraries']数组.

添加model到此数组时,我遇到错误:

无法加载请求的类:Model

但主要的问题是,在应用程序启动时,我得到:

致命错误:找不到类"CI_Model"

CI_Modelcore存在文件夹中的类.所以请说出"为什么我不能用MY_Model在我的库中扩展CI_Model类"的解释.

codeigniter fatal-error

5
推荐指数
1
解决办法
3802
查看次数

从Codeigniter中的Result with Limit中选择SUM

我是codeigniter的初学者.
我有这样的查询,我想在codeigniter中使用此查询

SELECT sum(price) 
FROM (SELECT price
      FROM items
      ORDER BY price DESC
      LIMIT 3
) AS subquery;
Run Code Online (Sandbox Code Playgroud)

我做到了

$this->db->select('SUM(price)');
$this->db->select('price');
$this->db->from('items');
$this->db->order_by('price desc');
$this->db->limit(3);
$this->db->get();
Run Code Online (Sandbox Code Playgroud)

这给出了这样的输出

SELECT sum(price), price
      FROM items
      ORDER BY price DESC
      LIMIT 3;
Run Code Online (Sandbox Code Playgroud)

我能做什么?

php mysql codeigniter sum

5
推荐指数
2
解决办法
3万
查看次数

mpdf错误 - preg_replace():不推荐使用/ e修饰符,而是使用preg_replace_callback

我正在使用MPDF在codeigniter中生成pdf文件.

我的控制器功能看起来像

   function save_pdf($std_id)
   {
     $data['section1_report']= $this->common_model->get_details('tbl_section1',array('id'=>$std_id));
     $html = $this->load->view('reports/section1',$data,true);
      // print_r($html);exit; 
     $this->load->library('pdf');
     $pdf = $this->pdf->load();
     $pdf->WriteHTML($html);
     $pdf->Output();
}
Run Code Online (Sandbox Code Playgroud)

我的pdf图书馆是

 <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
   class pdf {    
      function pdf()
      {
         $CI = & get_instance();
         log_message('Debug', 'mPDF class is loaded.');
      }

     function load($param=NULL)
     {
         include_once APPPATH.'/mpdf/mpdf.php';         
         if ($params == NULL)
         {
             $param = '"en-GB-x","A4","","",10,10,10,10,6,3';         
         }         
       return new mPDF($param);
     }
  }
Run Code Online (Sandbox Code Playgroud)

我想从视图文件生成pdf文件section1.但是当我调用控制器功能时save_pdf,我得到的错误如下

在此输入图像描述

当我print_r($html);exit;,它显示视图file.i中的所有内容preg_replace_callback而不是preg_replacein,mpdf/includes/functions.php但它仍然显示这样的错误

在此输入图像描述

我研究了 …

codeigniter mpdf

5
推荐指数
1
解决办法
1万
查看次数

使用PHP向下滚动页面时加载Ajax数据

使用这样的功能在页面向下滚动时加载数据

$(window).scroll(function(){
        if ($(window).scrollTop() == $(document).height() - $(window).height())
        {
            //alert('Scrolling Down');
            get_summary_details(); //Here it calls AJax Function load the data

        }
    });
Run Code Online (Sandbox Code Playgroud)

get_summary_details() 页面向下滚动时功能正常.此功能是这样的

function get_summary_details()
    {

        var dataString=[];
        $('div.company_summary_data').each(function() {
            var id = $(this).attr('id');
            dataString.push(id);
        });                     
        $.ajax({
            url:"getajaxcompanysummarydetails",
            type:"POST",
            //dataType: "json",
            data:"last_app_data_id="+JSON.stringify(dataString),
            success:function(data)
            {                               
                $('.company_summary_data:last').after(data);

            }

        });         
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是

  • 而get_summary_details()处理请求的用户会去top的页面和Scroll下降,这同样get_summary_details()功能将被执行.

如何在没有完成第一个请求的情况下防止第二个请求处理.这可能吗?因此,我得到重复的数据记录.我需要阻止显示重复记录.

谢谢!

php ajax jquery codeigniter

5
推荐指数
1
解决办法
1615
查看次数

连接postgresql和codeigniter

我是新用的postgresql,我已经使用Codeigniter一年了.

我有一个小的postgresql数据库,我想从Codeigniter调用它.

在我的database.php文件中,我有这个设置:

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
'dsn'   => 'pgsql:host=localhost;port=5432;dbname=test;user=postgres;password=aPass',
// 'dsn'    => '',
'hostname' => 'localhost',
'username' => 'postgres',
'password' => 'aPass',
'database' => 'test',
'dbdriver' => '',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
  // 'port' => '5432'
);
Run Code Online (Sandbox Code Playgroud)

在控制器中我有这个功能:

public …
Run Code Online (Sandbox Code Playgroud)

php database postgresql codeigniter

5
推荐指数
1
解决办法
3万
查看次数