2012-02-08 30 views
5
<?php echo validation_errors(); ?> 

<?php echo form_open('form'); ?> 
    <input type="text" name="something" /> 
    <input type="submit" value="submit"/> 
</form> 

tôi thấy rằng không có "hành động" và "phương pháp" như trongThay vì hành động Hình thức và phương pháp

<form action="/application/controler/somepage.php" method="POST"> 
</form> 

trong đó tôi muốn có được giá trị nhập vào hộp văn bản sau nhấn nút gửi. Làm cách nào để tôi có thể làm như vậy (nhận giá trị được gửi qua POST hoặc GET) như trước đây?

Ngoài ra, trong trường hợp tôi muốn có được giá trị thông qua trong URL http://localhost/index.php/something?value=75&today=Wed

đó là 75 và Wed, ví dụ.

+1

tốt hơn sử dụng 'form_close() 'thay vì' '. ý kiến ​​cá nhân để tránh các vấn đề về "dọn sạch mã" IDE. – Joseph

Trả lời

6

Các CodeIgniter Form Helper Documentation tiểu bang mà các tham số đầu tiên bạn tay vào form_open() chức năng là URL mà bạn gửi bài đến. URL Semantics là một phần lớn của CodeIgniter, nếu bạn đang gửi bài đến một vị trí bên trong sử dụng ứng dụng của bạn:

<?= form_open('index.php/controller/function/param1/param2');?> 

CodeIgniter sử dụng method='post' theo mặc định.

CodeIgniter không hỗ trợ thông số dạng method='get' vì cách xử lý URL. Thay vì một URL:

http://localhost/myapp/index.php/something?value=75&today=Wed 

Cách CodeIgniter sẽ là:

http://localhost/myapp/index.php/mycontroller/myfunction/75/Wed 

Bạn sẽ sau đó xác định một hàm trong điều khiển của bạn như

function myfunction($value, $day) 
{ 
//do whatever you want with the $value and the $day here. 
} 
+0

Không bao giờ thử sử dụng nó, nhưng giờ đây CI dường như hỗ trợ GET khá tốt. – stef

0

đơn giản .. nếu bạn muốn thay đổi phương pháp để GET bạn phải thêm thuộc tính vào form_open()

$attribute['method'] = 'get'; 
echo form_open(THE_ACTION_URL, $attribute); 

hoặc. bạn có thể làm helper của riêng bạn cho phương pháp nhanh hơn

function form_open_get($action, $attribute = NULL, $hidden = NULL) 
{ 
    $attribute['method'] = 'get'; 
    return form_open($action,$attribute,$hidden); 
} 
16

Hãy thử điều này:

echo form_open('controller/somepage', array('method'=>'get')); 
+2

Thụt lề mã của bạn bằng cách thêm 4 dấu cách trước hoặc đặt nó giữa các ký tự ''. – Joel

Các vấn đề liên quan