2016-03-21 4 views
1

Ich muss eine Ereignisregistrierungsfunktionalität mit CodeIgniter implementieren, um ein Ereignisdetail anzuzeigen und einen Registrierungseintrag bereitzustellen.Wie man einige Daten rendert, die nicht in der Form aber zusammen mit den Formulardaten sind?

Ein Benutzer muss sich anmelden, um zu registrieren, damit ich die Benutzerinformationen in der Sitzung speichern, sobald er eingeloggt ist, und klicken Sie auf Registrieren, eine Form des Namens und Handy wird angezeigt.

Ich möchte die Informationen aus dem Formular abrufen, plus die Benutzerinformationen (in Sitzung) + die Ereignis-ID, und dann werde ich alle Informationen zum CI-Controller rendern, um den Prozess fortzusetzen.

Meine Frage hier ist, können wir eine Aktion in Form, die direkt an den Controller nur mit den Formulardaten gehen, was ist mit den Daten, die ich wie user_id, event_id (das wird auf der Seite gespeichert werden) unter einem HTML-Tag)? ist es möglich, einige Daten, die nicht in der Form sind, aber zusammen mit den Formulardaten zu rendern?

Hier ist mein Anmeldeformular:

<body style="height: auto; overflow: auto;"> 

<form method="post" action="<?php echo BASE_URI.'registration_manager/add_registration'; ?>"> 
    <div> 
     <input type="text" name="user" id="registration_name" placeholder="name"> 
     <input type="text" name="mobile" id="registration_mobile" placeholder="mobile"> 
     <input type="submit" data-inline="true" value="Register"> 
    </div> 
</form> 

... 

<div event_id="1337"></div>  // I am not sure if this is proper way to store the event_id here? 

</body> 

Ich mag den Namen senden, mobilen, user_id, event_id registration_manager/add_registration Aktion, was soll ich tun?

+0

Leute (nicht ich BTW) diese Frage ablehnen, weil es Code fehlt, der es unmöglich macht zu antworten. Geben Sie etwas Code ein und Sie erhalten wahrscheinlich die Hilfe, die Sie brauchen. –

+0

Etwas sagen: Bitte lesen Sie die Richtlinien in [Hilfe], um Fragen zu StackOverflow zu stellen. Beachten Sie, dass von Ihnen erwartet wird, Grundlagenforschung betrieben zu haben, um den Code, den Sie ausprobiert haben, zu liefern und zu erklären, WIE es nicht funktioniert. Wie es aussieht, ist Ihre Frage "zu breit". –

Antwort

1

In Ihrem Controller haben Sie wahrscheinlich etwas wie das Folgende: $this->load->view('path/to/form', array('form_data' => $form_data)); welches die Ansicht laden wird, und Sie können die Werte in $form_data innerhalb dieser Ansicht verwenden.

Um dies zu erhalten, mit Session-Daten zu arbeiten, können Sie die Session-Informationen in eine Variable geladen werden und dass durch passieren:

:

$this->load->library('session'); // loads the session library 
$session_data = $this->session->userdata(); // loads everything from the session into a variable $session_data 
$this->load->view('path/to/form', array(
    'form_data' => $form_data, 
    'session_data' => $session_data 
    )); // lets you access $form_data and $session_data in the view 

Ihrer Ansicht Sie dann die Zeile ähnlich haben könnte

Werfen Sie einen Blick auf die CodeIgniter Session documentation für Dinge, die Sie mit den Sitzungen tun können.

+0

die event_id sollte nicht in der Sitzung gespeichert werden, nein? Was ist, wenn wir viele Ereignisse haben, können wir nicht alle speichern. die event_id sollte aus dem html kommen (der Inhalt stammt aus der DB, ich denke, die event_id sollte nicht in der Sitzung gespeichert werden) – seaguest

+0

Sie könnten sie in der Sitzung für das bestimmte Ereignis speichern, das Sie laden möchten. Nehmen wir an, Sie würden Ereignis/Bearbeiten aufrufen, Sie könnten die ID des Ereignisses als Teil des Ladens der Seite erhalten und dann in der Sitzung speichern. Sobald die Daten validiert und gespeichert wurden (aus dem Formular, das gepostet wird), können Sie diese Ereignis-ID aus der Sitzung löschen. Mit dieser Methode können Sie auch überprüfen, dass die Ereignis-ID nicht manipuliert wurde – gabe3886

Verwandte Themen