2013-03-26 63 views
0

我有一個像問題URL方案

<form action="abc/1" method="post"> 

</form> 

一個形式,我想每一個表單提交我的網址時保持相同的像想我目前的網址是

http://localhost/abc/1 after form submit it should be again 
http://localhost/abc/1 

but instead this it become 
http://localhost/abc/1 
http://localhost/abc/abc/1 
http://localhost/abc/abc/abc/1 each time i press submit button in form. 

它的東西有關到代碼點火器中的mvc的URL方案

+0

/abc/1而不是abc/1 – ajreal 2013-03-26 06:34:45

+0

實際上我的網址是http:// localhost:8080/CodeIgniter_2.1.3/index.php/home/authenticateUser/1,我想通過將/ thing它變成http:// localhost:8080/authenticateUser/1 – 2013-03-26 06:38:16

回答

1

表單的動作與您當前的位置有關。

如果您在http://example.com/contact和表單的操作設置爲contact/send該表,發送到http://example.com/contact/contact/send現在,這很容易通過刪除contact/部分形成action屬性或通過在開頭添加一個/固定的action屬性,所以路徑是絕對的 - /contact/send

在CodeIgniter中執行此操作應該相對容易,因爲您可以使用URL Helper指向應用程序中的正確URL。

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

</form> 

這個例子將始終指向你的頁面相對您BASE_URL和application/config/config.php index_page設置。

對於您的情況,在評論中提到,與<?php echo site_url('home/authenticateUser/' . $user_id); ?>一起可能會是答案。

0

嘗試像

<form action="/abc/1" method="post"> 

</form> 

,否則你最好使用SITE_URL像

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

</form> 
0

改變從 「ABC/1」 「/ ABC/1」 將工作的作用,但如果你正在通過本地主機開發環境的情況在子目錄中構建應用程序,這將恢復到您的htdocs文件夾,而不是您所需的文件夾。

我推薦的兩個選項之一:

  1. <form action="<?php echo base_url(abc/1); ?" method="post">
  2. <?php form_open('abc/1')' ?>

號2是更好的,因爲它與CodeIgniter的CSRF功能的工作原理,並增加了BASE_URL()自動。

希望這會有所幫助。