【问题标题】:Code Igniter URL appendingCodeigniter URL 附加
【发布时间】:2016-07-14 10:17:43
【问题描述】:

这是我的第一个问题,我是 CodeIgniter 的新手,并试图在 XAMPP 服务器上运行登录代码。我有两种观点。

myform.php

<html>
<head>
<title>My Form</title>
</head>
<body>

<?php echo validation_errors(); ?>

<form id="myform" method="post" action="/form/myform" title="Create an Account">


<h5>Username</h5>
<input type="text" name="username" value="<?php echo set_value('username'); ?>"  size="50" />

<h5>Password</h5>
<input type="text" name="password" value="<?php echo set_value('username'); ?>"  size="50" />

<div><input type="submit" value="Submit" /></div>

</form>

</body>
</html>

formsuccess.php

<html>
<head>
<title>My Form</title>
</head>
<body>

<h3>Your form was successfully submitted!</h3>

<p><?php echo anchor('form', 'Try it again!'); ?></p>

</body>
</html>

和一个控制器:

<?php

class Form extends CI_Controller {

        public function index()
        {
        $this->load->helper(array('form','url'));

                $this->load->library('form_validation');
                $this->form_validation->set_rules('username', 'Username', 'required');
                $this->form_validation->set_rules('password', 'Password', 'required',
                        array('required' => 'You must provide a %s.')
                );

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

                        $this->load->view('myform');
                }
                else
                {
                        $this->load->view('formsuccess');
                }
        }
}

现在当我在我的本地主机上运行它时 localhost/codeigniter/index.php/form/

它打开了我的表单视图,但是当我点击提交按钮时,URL 变成了localhost/codeigniter/index.php/form/localhost/codeigniter/index.php/form/。这意味着它附加了网址。这是一个很长的问题,只是为了澄清你们。请帮忙。

【问题讨论】:

  • 只需检查您是否设置了基本 url 并且没有将其留空,因为在 codeigniter 3 版本中现在不推荐。同样在您的密码值中,您有 set_value('username') 而不是 set_value('password')
  • 表单助手codeigniter.com/user_guide/helpers/… 对你来说可能更好
  • 是的,我已经将我的基本 url 设置为 localhost.. 我已经在 htdocs 中提取了代码点火器,请提供一些示例代码及其路径设置,运行完美。我会明白的。

标签: php forms codeigniter


【解决方案1】:

如果您设置了基本网址,只需更改:

<form id="myform" method="post" action="/form/myform" title="Create an Account">

<form id="myform" method="post" action="<?php echo base_url();?>form/myform" title="Create an Account">

【讨论】:

  • 如果您可以上传具有正确路径设置的示例代码,我将不胜感激。
  • @JunaidAli 问题是您要使用 form/myform 并且在您的表单控制器中,函数的名称是 index 而不是 myform 所以将操作更改为 form/index 或更改名称功能
  • 它只是继续附加 url.. 我对此感到沮丧.. 我是新手.. 无法弄清楚。如果可以,请给我一个代码和配置设置。
  • @JunaidAli 你在配置中设置了基本网址吗?
  • 是的,我已将其设置为 localhost,因为我已在 htdocs 中提取了我的代码点火器
猜你喜欢
  • 2018-06-06
  • 2012-06-20
  • 2012-06-05
  • 1970-01-01
  • 2013-06-23
  • 2012-07-04
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多