Ergebnis 1 bis 7 von 7

Thema: Daten aus eigenem Formular

  1. #1
    Contao-Nutzer
    Registriert seit
    13.11.2011.
    Beiträge
    29

    Standard Daten aus eigenem Formular

    Hallo,

    ich habe ein Formular, welches beim Abschicken eine php-Datei aufruft.
    PHP-Code:
    <form method="post" action="send_form.php"
    Bisher hatte ich in der send_form.php eine einfache sql-Anweisung und es hat alles wunderbar funktioniert.
    Aufgrund von Erweiterungen es Formular muss ich zum Teil auf Sessionvariablen zurückgreifen. Das Erzeugen ist nicht das Problem, aber das Abrufen innerhalb der send_form.php.
    PHP-Code:
    $this->Session->get('userame'
    geht ja nur innerhalb einer Klasse
    bzw. Methode. Wenn ich aber das ganze nun so realisiere:
    PHP-Code:
    include_once('Database/config.php');
    include_once(
    'Database/Mysql.php');

    class 
    send_form{
        public function 
    change_company(){
            
    $user $this->Session->get('username');

            
    $post = array(....);

            
    //$_POST --> $post
            
    foreach($_POST as $key => $value) {
                if(
    $value == "true") {
                    
    $post[$key] = 1;
                }
                elseif(
    $value == "false"){
                    
    $post[$key] = '';
                }
                else {
                    
    $post[$key] = utf8_decode($_POST[$key]);
                }
            }

            
    $sqlCompany "UPDATE ...";

            
    $sqlCompanyMember "UPDATE ..."

            
    MySQL::db()->query($sqlCompany);
            
    MySQL::db()->query($sqlCompanyMember); */
        }

    Leider werden die Daten nun nicht mehr in die DB gespeichert. Auch ein Eintrag in die dcaconfic hat nicht geholfen
    PHP-Code:
    $GLOBALS['TL_HOOKS']['processFormData']['callback_03'] = array('send_form''change_company'); 
    Wo liegt mein Problem?

    Danke und schöne Weihnachten

  2. #2
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Bist du dir sicher das du dich nicht im Forum geirrt hast? Wolltest du nicht eher in einem reinen PHP-Forum nachfragen? Dein Ansatz geht nämlich leider komplett an Contao vorbei. Wenn du den Formulargenerator verwendest musst du dich weder um die Verarbeitung noch um die Speicherung der Daten kümmern.

  3. #3
    AG CMS-Garden
    Contao-Urgestein
    Avatar von lindesbs
    Registriert seit
    05.06.2009.
    Ort
    Oer-Erkenschwick
    Beiträge
    4.154
    Partner-ID
    keine
    User beschenken
    Wunschliste

    Standard

    du brauchst doch nur ein
    Code:
    $this->import("Session");
    $this->import("Database");
    
    $arrData = array(
    'data1' => $this->Session->get("Data1"),
    'data2' => $this->Session->get("Data2"),
    'data3' => $this->Session->get("Data3")
    );
    
    $this->Database->prepare("UPDATE tl_db %s WHERE id=?")->set($arrData)->execute($deineID);
    und damit kannst du wunderbar dann deine Daten data1,data2,data3 in deine Tabelle schieben.
    von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«


    Contao-Hosting: begeisterter Uberspace-Nutzer

  4. #4
    Contao-Nutzer
    Registriert seit
    13.11.2011.
    Beiträge
    29

    Standard

    Hm, funktioniert irgendwie nicht.

    PHP-Code:
    class send_form{
        public function 
    change_company(){
            
    $this->import("Session");
            
    $user $this->Session->get('username');
            
    var_dump($user);
       }

    Doch bleibt die Seite leer und gibt nichts aus. Die Session funktioniert, da sie in der Templatedatei Ordnungsgemäß angezeigt wird.

    und in der dcaconfig ist der hook definiert. Muss ich der function die Sessionvariable und das $_POST-Array als Übergabeparameter mitgeben?

    @andreasisaak: Denke das es hierhin gehört, da es ein Contao-spezifisches Problem ist

  5. #5
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Nein. Es kann kein Contao-spezifisches Problem sein weil du komplett am Framework vorbei arbeitest!!

  6. #6
    Contao-Nutzer
    Registriert seit
    13.11.2011.
    Beiträge
    29

    Standard

    Von mir aus auch das. Würde mich aber über Hilfe freuen, da ich nicht auf den grünen Zweig komme, wo mein Fehler liegt.
    Liegt es an der Klasse oder am Hook in der DCAconfic oder was weiß ich.

  7. #7
    Contao-Urgestein Avatar von tril
    Registriert seit
    07.01.2010.
    Ort
    Bad Marienberg
    Beiträge
    2.939
    User beschenken
    Wunschliste

    Standard

    Afaik leert Contao das $_POST Array. Du musst es also so machen, wie lindesbs es beschrieben hat, sonst wird es nicht funktionieren.
    Außerdem bekommst du die validierten Post Daten doch per Parameter übergeben, schau mal hier.

    Außerdem werden Hooks nicht in der dcaconfig.php eingetragen. Afaik wird die dcaconfig.php nur geladen, wenn auch ein DCA geladen wird, was im Frontend eigentlich niemals passiert!
    Trage deinen Hook mal in die localconfig.php ein, das sollte funktionieren.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •