锚标签在codeigniter中不起作用

时间:2015-01-02 10:42:01

标签: php html codeigniter

我想在登录表单上创建一个链接,即通过克隆"注册"用户将被重定向到注册表单,但是当我创建一个链接时它不起作用并在很快刷新页面后返回。
我的登录页面如下所示: -

v_login.php

<body>

<h1>Simple Login with CodeIgniter</h1>

  <?php echo validation_errors(); ?>
  <?php echo form_open('c_verifylogin/index');
     echo form_label("Username: ");
     echo form_input("username");
     echo "<br>";
     echo form_label("Password: ");
     echo form_password("password");
     echo "<br>";
     echo form_submit("","Login");
     echo form_close();

  ?>  
   **<a href="<?php echo site_url('c_signup/mylink_to_signup')?> " >Signup</a>**
  </body>

此登录ID的控制器: -

c_login.php

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

 class C_login extends CI_Controller {
  function index() { 
    $this->load->helper(array('url','form','html'));
    $this->load->view('v_login'); //load view for login
     }      
}

我的注册控制器是: -

c_signup.php

   <?php
   class c_signup extends CI_Controller {

   function __construct() {

   parent::__construct();
   $this->load->helper('url'); 
   $this->load->model('m_regt'); 
   }
   function mylink_to_signup(){

    $this->load->view('v_signup');
    }
     function index()
      {

   // Including Validation Library

    if ($this->form_validation->run() == TRUE)
      {

      $this->load->view('v_signup');
             }
    else
         {
    // Setting Values For Tabel Columns
   $data = array(
   'username' => $this->input->post('username'),
    'password' => $this->input->post('password'),
     'email' => $this->input->post('email'),
     'gender' => $this->input->post('gender'),
     'profession' => $this->input->post('profession')
       );
      // Transfering Data To Model
     $this->m_regt->form_insert($data);
  // Loading View

    //$this->load->view('v_login');
    }
     }
      }
      ?>

并且注册视图是: -

v_signup.php

  <div id="container">
  //sign up form here

   </div>

4 个答案:

答案 0 :(得分:1)

mylink_to_signup控制器中没有任何c_login功能,因此它将是

<a href="<?php echo site_url('c_signup/mylink_to_signup');?>" >Signup</a>

答案 1 :(得分:1)

在codeigniter中查看URL助手,该助手具有用于创建锚标记的锚函数

标签有三个可选参数:

锚点(uri段,文本,属性) 第一个参数可以包含您希望附加到URL的任何段。与上面的site_url()函数一样,segment可以是字符串或数组。

注意:如果要构建应用程序内部的链接,请不要包含基本URL。这将根据配置文件中指定的信息自动添加。仅包含您希望附加到URL的URI段。

第二段是您希望链接说出的文字。如果将其留空,则将使用该URL。

第三个参数可以包含您要添加到链接的属性列表。属性可以是简单的字符串或关联数组。

以下是一些例子:

echo anchor('news / local / 123','My News','title =“News title”'); 会产生:My News

echo anchor('news / local / 123','My News',array('title'=&gt;'最好的新闻!')); 会产生:My News https://ellislab.com/codeigniter/user-guide/helpers/url_helper.html

答案 2 :(得分:0)

请查看您的网址上有空格:

 **<a href="<?php echo site_url('c_signup/mylink_to_signup')?> " >Signup</a>**

尝试更改它:

 <a href="<?php echo site_url('c_signup/mylink_to_signup')?>">Signup</a>

答案 3 :(得分:0)

我发现了这个问题。在cofig文件中实际上有一个辅助链接用于查询字符串启用/禁用。

$config['enable_query_strings'] = FALSE;

我将此更改为TRUE,这就是链接无效的原因。 谢谢大家的帮助。