消息:未定义的属性:使用codeigniter的CI_Loader :: $ session

时间:2014-03-11 13:51:48

标签: php codeigniter session

  当用户成功发送消息时,

set_flashdata到我的联系我们页面,我刚刚添加了成功发送的flashdata。当我试图将文件上传到实时服务器并进行测试时,我遇到了这个错误   消息:未定义的属性:CI_Loader :: $ session   它说   致命错误:在第18行的/home/content/87/10599987/html/application/views/content/contact_us_content.php中调用非对象上的成员函数flashdata()   谁能想到我怎么设置这个?   这是我的控制器

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
session_start();
class Contact_us extends CI_Controller {

    public function __construct(){
      parent::__construct();
      $this->load->library('javascript');
      $this->load->library('form_validation');
      $this->load->library('email');
    }

    public function index(){
      $this->data['title'] = 'Contact Us | Spring Rain Global Consultancy Inc';
      $this->data['active_menu'] = 'contacts';

      $this->load->view('pages/header', $this->data);
      $this->load->view('templates/contacts', $this->data);
      $this->load->view('pages/footer');
      $this->load->view('pages/footer_below');
    }

    public function send(){
      $this->form_validation->set_rules('name', 'Name', 'required');
      $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
      $this->form_validation->set_rules('message', 'Message', 'required');

      if($this->form_validation->run() == FALSE){
        $this->data['title'] = 'Contact Us | Spring Rain Global Consultancy Inc';
        $this->data['active_menu'] = 'contacts';

        $this->load->view('pages/header', $this->data);
        $this->load->view('templates/contacts');
        $this->load->view('pages/footer');
        $this->load->view('pages/footer_below');

      }else{
        $name = $this->input->post('name');
        $email = $this->input->post('email');
        $msg = $this->input->post('message');

        $this->email->from('info@springrainglobal.com', 'SPRING RAIN GLOBAL CONSULTANCY INC');
        $this->email->to($email);
        $this->email->subject('CONTACT US! SPRING RAIN GLOBAL CONSULTANCY INC WEBSITE');
        $this->email->message("
              <!DOCTYPE html>
                <html>
                <head>
                <title>Spring Rain Global Consultancy Inc</title>
                </head>
                <body>
                <div style='width:500px; >
                  <div style='width:500px;'>
                    <a href='http://www.springrainglobal.com' target='_blank' rel='nofollow' >
                      <img alt='springrain logo' src='http://www.springrainglobal.com/images/461962_333397740048531_1893235327_o(1).jpg' width='180' height='122' />
                    </a>
                  </div>
                  <div style='margin-left:40px; margin-top:80px;'>
                    <h1>
                        Thank you for contacting us!... <br />
                        We will contact you within 48 hours.
                    </h1>
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <p>
                      SpringRain Global Consultancy Inc Team

                    </p>
                  </div>
                </div>
                </body>
                </html>
                ");
        $this->email->send();

        $this->email->from('info@springrainglobal.com', $email);
        $list = array(
                  'macky_nyxz86@yahoo.com', 'info@springrainglobal.com'
                  );
        $this->email->to($list);
        $this->email->subject('CONTACT US! SPRING RAIN GLOBAL CONSULTANCY INC WEBSITE');
        $this->email->message("
              <!DOCTYPE html>
              <html>
              <head>
              <title>Spring Rain Global Consultancy Inc</title>
              </head>
              <body>
              <div style='width:500px; >
                <div style='width:500px;'>
                  <a href='http://www.springrainglobal.com' target='_blank' rel='nofollow' >
                    <img alt='springrain logo' src='http://www.springrainglobal.com/images/461962_333397740048531_1893235327_o(1).jpg' width='180' height='122' />
                  </a>

                </div>
                <div style='margin-left:40px; margin-top:80px;'>
                <p style='font-family:arial; font-size:13px;'><strong>Name :</strong>".$name." </p> 
                <p style='font-family:arial; font-size:13px;'><strong>Email :</strong>".$email." </p> 
                <p style='font-family:arial; font-size:13px;'><strong>Comments :</strong>".$msg." </p> 
                </div>
              </div>
              </body>
              </html>
            ");

       if($this->email->send()){
          $this->data['title'] = 'Contact Us | Spring Rain Global Consultancy Inc';
          $this->data['active_menu'] = 'contacts';

          $this->load->view('pages/header', $this->data);
          $this->session->set_flashdata('success', 1);
          $this->load->view('templates/contacts');
          $this->load->view('pages/footer');
          $this->load->view('pages/footer_below');
          #echo "Thank you for contacting us! You will receive a reply to your email shortly";
          #echo "<br />";
          #$this->sendNow();

       }else{
          //echo "failed";
          $this->data['title'] = 'Contact Us | Spring Rain Global Consultancy Inc';
          $this->data['active_menu'] = 'contacts';

          $this->load->view('pages/header', $this->data);
          $this->load->view('templates/contacts', $this->data);
          $this->load->view('pages/footer');
          $this->load->view('pages/footer_below');
       }

      }
    }

    private function sendNow(){
      echo "<a href=''>Contact Us</a>";
    }

}

我在if_($ this-&gt; email-&gt; send)上添加了类contact_us和$ this-&gt; session-&gt; set_flashdata上方的session_start() 这是我的观点

    <article id="content">
            <section class="col1">
                <h2 class="pad_bot1">Feel Free To Contact Us!</h2>
                <p class="pad_top1 pad_bot1">Thank you for taking the time to click through the SpringRain Global Consultancy Inc Site. If you have additional questions that needs to be
answered, please feel free to fill out our contact form on the right side and we will get back to you as soon as we can. Please be sure to be specific and detailed
in your message. Or send us direct email at : <span style="color:green;">info@springrainglobal.com/ glenda@springrain.the.ph</span></p>
                <p class="pad_bot1"></p>

            </section>
            <section class="col2">
                <h2 class="pad_bot1">Send us a message!</h2>

        <?php if(!$this->session->flashdata('success')): ?>
          <form id="ContactForm" action="<?php echo base_url().'contact-us/send.html'?>" method="post">
            <div>
              <?php echo validation_errors('<div class="error">', '</div>')?>

              <div  class="wrapper margint20">
                <span>Your Name:</span>
                <div class="bg"><input type="text" id="name" name="name" class="input" autocomplete="off" value="<?php echo set_value('name');?>" placeholder="Your Name: " /></div>
              </div>
              <div  class="wrapper">
                <span>Your E-mail:</span>
                <div class="bg"><input type="text" id="email" name="email" class="input" autocomplete="off"  value="<?php echo set_value('email');?>" placeholder="email@example.com" /></div>
              </div>
              <div  class="textarea_box">
                <span>Your Message:</span>
                  <div class="bg"><textarea id="message" name="message" cols="1" rows="1" placeholder="Comments Here. . ." ><?php echo set_value('message');?></textarea></div>
              </div>
              <div style="margin-left:200px; margin-top:20px;">
                <input type="submit" class="button" name="submit" value="Send" />
                <input type="reset" class="button" value="Clear"  />
              </div>
            </div>
          </form>
        <?php else: ?>
          <div class="send_msg">
            <p>Thank you for contacting us! You will receive a reply to your email shortly</p>
          </div>
          <form id="ContactForm" action="<?php echo base_url().'contact-us/send.html'?>" method="post">
            <div>
              <?php echo validation_errors('<div class="error">', '</div>')?>

              <div  class="wrapper margint20">
                <span>Your Name:</span>
                <div class="bg"><input type="text" id="name" name="name" class="input" autocomplete="off" value="<?php echo set_value('name');?>" placeholder="Your Name: " /></div>
              </div>
              <div  class="wrapper">
                <span>Your E-mail:</span>
                <div class="bg"><input type="text" id="email" name="email" class="input" autocomplete="off"  value="<?php echo set_value('email');?>" placeholder="email@example.com" /></div>
              </div>
              <div  class="textarea_box">
                <span>Your Message:</span>
                  <div class="bg"><textarea id="message" name="message" cols="1" rows="1" placeholder="Comments Here. . ." ><?php echo set_value('message');?></textarea></div>
              </div>
              <div style="margin-left:200px; margin-top:20px;">
                <input type="submit" class="button" name="submit" value="Send" />
                <input type="reset" class="button" value="Clear"  />
              </div>
            </div>
          </form>
        <?php endif; ?>
            </section>
        </article>

实时服务器上的会话有错误,有人可以帮我吗?任何帮助都非常感激。

1 个答案:

答案 0 :(得分:9)

试试这个:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//session_start();
class Contact_us extends CI_Controller {

public function __construct(){
  parent::__construct();
  $this->load->library('javascript');
  $this->load->library('form_validation');
  $this->load->library('email');
  $this->load->library('session');
}