我想在登录表单上创建一个链接,即通过克隆"注册"用户将被重定向到注册表单,但是当我创建一个链接时它不起作用并在很快刷新页面后返回。
我的登录页面如下所示: -
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>
答案 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)
$config['enable_query_strings'] = FALSE;
我将此更改为TRUE,这就是链接无效的原因。 谢谢大家的帮助。