CodeIgniter: die Übergabe von Variablen via URL - alternativen zur Verwendung ERHALTEN

Ich bin neu bei CodeIgniter und habe gerade entdeckt, die Schwierigkeiten mit der GET-Methode zum übergeben von Variablen über die URL (z.B. domain.com/page.php?var1=1&var2=2).

Entnehme ich, dass ein Ansatz ist die übergabe der Variablen in der URI-Segmente, aber habe noch nicht ganz herausgefunden, wie das zu tun, doch wie es scheint, zum erstellen der Erwartung, dass eine Funktion in der Steuerung benannt, die als spezifische URI-segment????

Sowieso Statt mit GET habe ich beschlossen, das verwenden von POST durch die Anpassung einen submit-button (getarnt als link) mit den Variablen in versteckte Eingabe-Felder. Ich habe die folgende Lösung scheint zu funktionieren, aber Frage mich, ob ich bin auf dem richtigen Weg ist oder ob es eine einfachere Art der übergabe von Variablen über einen link innerhalb von CodeIgniter?

Habe ich die folgende Klasse in 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();
 }
}
?>

Mit den folgenden 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;
}

Link erstellt, mit dem folgenden code in der ANSICHT:

<?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);
?>

Danke für Eure Hilfe...

InformationsquelleAutor John Durrant | 2010-04-28

Schreibe einen Kommentar