[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Formular mit Dateiupload - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
fmkp
Beiträge: 3
Registriert: 26. Aug 2013, 19:15

Formular mit Dateiupload

26. Aug 2013, 19:21

Hy,

habe gerade eine Redaxo-Website übernommen und kenne mich nicht 100%-ig aus. Aktuell habe ich ein Problem mit einem Formular welches ein Input-Feld vom Type "file" enthält.

Beim Absenden ist die Variable $_FILES jedoch immer leer. Ich wollte daher fragen ob über Redaxo irgendwie $_POST oder $_FILES abgefangen werden.

Das Modul ist ein PHP Modul mit Eingabe:

Code: Alles auswählen

<textarea name="INPUT_PHP" rows="20" cols="106">REX_PHP</textarea>
und Ausgabe:
REX_PHP
Ich verwende Redaxo-Version 4.1.0

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Formular mit Dateiupload

26. Aug 2013, 19:48

Hallo und herzlich Willkommen bei Redaxo!

Du solltest evtl. über ein Update bzw. einen Relaunch der Website nachdenken. Aktuell ist nämlich Redaxo 4.5.

Aber um dir zu helfen: Wie sieht denn der Code aus, mit dem du das Formular erstellst und verarbeitest?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

fmkp
Beiträge: 3
Registriert: 26. Aug 2013, 19:15

Re: Formular mit Dateiupload

26. Aug 2013, 20:20

Hy und danke für deine rasche Antwort.

Ja das habe ich schon gelesen, ist eine sehr alte Website. Ich kenne mich nicht so gut aus mit Redaxo und möchte nur ein kleines Formular integrieren. Für ein Update müsste ich mal ein bisschen mehr Zeit investieren, da ich mich hier ws erst komplett einlesen müsste.

Der Code im Modul :

Code: Alles auswählen

  <?php

require_once 'xface081.inc.php';

//Deklaration eindeutiger Variablen
  $check = false;
  $checkm = false;
  $RECIPIENT = "fmkpone@gmail.com";
  $FORM = array( '<p class="formRow">',xface_checkbox("St&uuml;ck Motiv Winterlandschaft","","","checkbox"),'</p>'
                ,'<p class="formRow">',xface_checkbox("St&uuml;ck Motiv Kinder","","","checkbox"),'</p>'
                ,'<p class="formRow">',xface_file("St&uuml;ck Motiv eigenes Farbbild Hoch","","","checkbox"),'</p>'
                ,'<p class="formRow">',xface_file("St&uuml;ck Motiv eigenes Farbbild Quer","","","checkbox"),'</p>'
                ,'<p class="formRow">',xface_checkbox("Kehrplan mit drucken","","","checkbox"),'</p>'
                ,'<p class="formRow">',xface_checkbox("Falz erw&uuml;nscht","","","checkbox"),'</p>'
                ,'<p class="formRow">',xface_text("Eindruck Text 4 Zeilen","","","text"),'</p>'
                ,'<p class="formRow">',xface_text("Ihr Name *","","","text"),'</p>'
                ,'<p class="formRow">',xface_text("Ihre E-Mail *","","","text"),'</p>'
                ,'<p class="formRow">',xface_text("Ihre Firma","","","text"),'</p>'
                ,'<p class="formRow">',xface_text("Ihre Adresse *","","","text"),'</p>'
                ,'<p class="formRow">',xface_text("Ihre Telefonnummer *","","","text"),'</p>'
               ,'<div class="actionRow">',xface_submit("submit","","submit"),'<div class="clearer">$nbsp;</div>','</div>');
  
  if (isset($_POST['submit'])){


//Deklaration eingabeabhängiger Variablen   
    $name = "\r\n".'Name des Absenders: '.$_POST['ihr_name_']; 
    $email = "\r\n".'E-Mail des Absenders: '.$_POST['ihre_email_']; 
    $company = "\r\n".'Firma des Absenders: '.$_POST['ihre_firma'];
    $adress = "\r\n".'Adresse des Absenders: '.$_POST['ihre_adresse_'];
    $phone = "\r\n".'Telefonnummer des Absenders: '.$_POST['ihre_telefonnummer_']."\r\n"."\r\n"; 


    $checkboxes  = "\r\n".'Stück Motiv Winterlandschaft: ';  if(isset( $_POST['stuumlck_motiv_winterlandschaft'] )) { $checkboxes .= 'Ja'; }
    $checkboxes .= "\r\n".'Stück Motiv Kinder: ';            if(isset( $_POST['stuumlck_motiv_kinder'] )) { $checkboxes .= 'Ja'; }
    $checkboxes .= "\r\n".'Kehrplan mit drucken: ';          if(isset( $_POST['kehrplan_mit_drucken'] )) { $checkboxes .= 'Ja'; }
    $checkboxes .= "\r\n".'Falz erwünscht: ';           if(isset( $_POST['falz_erwuumlnscht'] )) { $checkboxes .= 'Ja'; }
    $checkboxes .= "\r\n".'Eindruck Text 4 Zeilen: ';        if(isset( $_POST['eindruck_text_4_zeilen'] )) { $checkboxes .= 'Ja'; }
    
    $mime_boundary = "-----=" . md5(uniqid(mt_rand(), 1)); 

    $content = '';
    $anhang = array();

    if(is_array($anhang) AND is_array(current($anhang))) 
          { 
          foreach($anhang AS $dat) 
             { 
             $data = chunk_split(base64_encode($dat['data'])); 
             $content.= "--".$mime_boundary."\r\n"; 
             $content.= "Content-Disposition: attachment;\r\n"; 
             $content.= "\tfilename=\"".$dat['name']."\";\r\n"; 
             $content.= "Content-Length: .".$dat['size'].";\r\n"; 
             $content.= "Content-Type: ".$dat['type']."; name=\"".$dat['name']."\"\r\n"; 
             $content.= "Content-Transfer-Encoding: base64\r\n\r\n"; 
             $content.= $data."\r\n"; 
             } 
          $content .= "--".$mime_boundary."--";  
          } 

    $header = 'MIME-Version: 1.0'."\r\n".
              'Content-type: text/html charset=iso-8859-1'."\r\n".
              "From:".$_POST['ihr_name_']."<".$_POST['ihre_email_'].">";
    
    $subject = 'Rauchfangkehrerkalender';
    $message = $name.$email.$company.$adress.$phone.$checkboxes.$anhang;

  
//Überprüfen der Eingabe
   
    if (!empty($_POST['ihr_name_'])          && 
        !empty($_POST['ihre_email_'])         && 
        !empty($_POST['ihre_telefonnummer_'])&& 
        !empty($_POST['ihre_adresse_']))  
    {$check = true;}
            
    if (preg_match('#^[^\\x00-\\x1f@]+@[^\\x00-\\x1f@]{2,}\.[a-z]{2,}$#i',$_POST['ihre_email_'])) $checkm = true;
    
//Definition Fehlerausgabe
    if ($checkm == false) $OUT = 'Bitte geben Sie eine gültige E-Mail-Adresse ein.';
    if ($check == false) $OUT = 'Bitte füllen sie alle durch "*" gekennzeichneten Pflichtfelder aus.';

//Versenden der Mail erzeugen der Ausgabe  
    if ($check == true && $checkm == true) $checkm = mail($RECIPIENT, $subject, $message, null, '-faltenmarkt@scharmer.at');; 
    if ($checkm == true && $check == true) $OUT = 'Ihre E-Mail wurde erfolgreich versandt.';
  }
// Formular ausgabe
  
  if(isset($OUT)) PRINT $OUT;
  if($checkm == false || $check == false) xface_form("mail",$FORM,"requestForm","standardForm","post","74-Rauchfangkehrer.html");
  
?> 
EDIT:
Habe den Code hier nochmals gepostet: http://pastebin.com/fyJHFZ61

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Formular mit Dateiupload

26. Aug 2013, 20:40

Hi,

du greifst da nirgendwo auf hochgeladene Dateien zu.

Evtl. hilft dir ja der DoForm-Formulargenerator: http://klxm.de/produkte/redaxo-do-form/.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

fmkp
Beiträge: 3
Registriert: 26. Aug 2013, 19:15

Re: Formular mit Dateiupload

26. Aug 2013, 21:07

Ja ich habe schon ein print_r($_FILES) reingemacht. Aber da kam dann eben auch ein leeres Array.

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

Re: Formular mit Dateiupload

29. Aug 2013, 15:59

Achtung!
do form! akzeptiert nur noch die TinyMCE-Versionen die über eine CSS-Klasse aufgerufen werden.
Es sollte aber auch noch unter 4.1.1 laufen. Wenn nicht, bitte mal eine PM an mich. Ich habe sicher noch irgendwo eine ältere Version.

Zurück zu „Allgemeines [R4]“