Я новичок в CodeIgniter и только что обнаружил трудности с использованием метода GET для передачи переменных по URL-адресу (например, domain.com/page.php?var1=1&var2=2).
Я понимаю, что один из подходов - передать переменные в сегментах URI, но не совсем понял, как это сделать, но, как кажется, создается ожидание наличия функции в контроллере, названном как конкретный сегмент URI????
В любом случае Вместо использования GET я решил использовать POST, адаптировав кнопку отправки (замаскированную под ссылку) с переменными в скрытых полях ввода. Я создал следующее решение, которое, кажется, работает нормально, но мне интересно, находится ли я на правильном пути здесь или есть ли более простой способ передачи переменных через ссылку внутри CodeIgniter?
Я создал следующий класс в application/libraries/
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class C_variables {
function variables_via_link($action, $link_text, $style, $link_data) {
$attributes = array('style' => 'margin:0; padding:0; display: inline;');
echo form_open($action, $attributes);
$attributes = array('class' => $style, 'name' => 'link');
echo form_submit($attributes, $link_text);
foreach ($link_data as $key => $value){
echo form_hidden($key, $value);
}
echo form_close();
}
}
?>
Со следующим CSS:
/*
SUBMIT BUTTON AS LINK
adapted from thread: http://forums.digitalpoint.com/showthread.php?t=403667
Cross browser support (apparently).
*/
.submit_as_link {
background: transparent;
border-top: 0;
border-right: 0;
border-bottom: 1px solid #00F;
border-left: 0;
color: #00F;
display: inline;
margin: 0;
padding: 0;
cursor: hand /* Added to show hand when hovering */
}
*:first-child+html .submit_as_link { /* hack needed for IE 7 */
border-bottom: 0;
text-decoration: underline;
}
* html .submit_as_link { /* hack needed for IE 5/6 */
border-bottom: 0;
text-decoration: underline;
}
Затем ссылка создается с помощью следующего кода в VIEW:
<?php
$link = new C_variables;
$link_data=array('var1' => 1, 'var2' => 2);
$link ->variables_via_link('destination_page', 'here is a link!',
'submit_as_link', $link_data);
?>
Спасибо за вашу помощь...