Codeigniter:表单操作无法指向正确的路径

时间:2013-06-22 10:21:32

标签: php forms codeigniter path

我正在开发Code Igniter Project。

我在视图文件夹C:\xampp\htdocs\MSPN\APPLICATION\views

中有一个php文件

表格是这样写的:

<form action="<?php echo base_url() .'homeSignUp/main'; ?>" method="post" >

在浏览器中,该文件位于localhost/mspn/index.php/signup/main

在config.php中我有:

$config['base_url'] = 'localhost/mspn/';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

表单“操作”旨在指向具有方法homeSignUp.php的{​​{1}}文件夹中的controller

但是当我尝试运行它时,main按钮指向submit。 它说:没找到对象!

我一直在尝试更改localhost/mspn/homeSignUp/main属性中的网址,但它一直给我这个错误。 我错过了什么? 感谢。

2 个答案:

答案 0 :(得分:0)

首先,将index_page配置更改为:

$config['index_page'] = 'index.php';

然后使用site_url(),如:

<form action="<?php echo site_url('homeSignUp/main'); ?>" method="post" >

注意:由于您似乎使用的是特定route,因此您可能希望使用signup/main代替homeSignUp/main

因为网站网址将同时包含base_urlindex_url。所以你不需要单独提及index.php

答案 1 :(得分:0)

首先使用index.php从您的网址中删除.htaccess,然后您的网址应如下所示

localhost/mspn/signup/main

//Remove index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# Removes access to the system folder by users.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

# Prevents user access to the application folder
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

# Checks to see if the user is attempting to access a valid file,
# such as an image or css document, if this isn't true it sends the
# request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

您的config.php应具有此配置

$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
$config['url_suffix'] = '';

然后你的表格应该是这样的

echo form_open(base_url()."homeSignUp/main");

希望它有意义