Ergebnis 1 bis 3 von 3

Thema: Wo steckt der Fehler? – Bestellformular mit Upload, bin verzweifelt.

  1. #1
    Unregistriert
    Gast

    Frage Wo steckt der Fehler? – Bestellformular mit Upload, bin verzweifelt.

    Hallo liebe Community,

    ich sitze jetzt schon ne weile an einem Upload Problem,
    nur weiß nicht wo das Problem stecken könnte.
    Für dieses Bestellformular, soll das Bild an mich gesendet werden
    und ein Upload Limit von 4 MB sollte bestehen.

    Könnte mir da vielleicht ein Profi helfen?

    Vielen Dank und viele Grüße
    Max


    <?php
    $geschmacksrichtung = $_POST['geschmacksrichtung'];
    $Filialen = $_POST['Filialen'];
    $Name = $_POST['Name']; // Name wird hier definiert
    $Vorname = $_POST['Vorname']; // Vorname wird hier definiert
    $Telefon = $_POST['Telefon']; // Anstellung wird hier definiert
    $Datumabholen = $_POST['Datumabholen']; // Stellenantritt wird hier definiert
    $Absender = $_POST['Absender']; // Absender wird hier definiert
    $Nachricht = $_POST['Nachricht']; // Nachricht wird hier definiert
    $Senden = $_POST['Senden']; // Button 'Senden' wird hier definiert
    $Löschen = $_POST['Löschen']; // Button 'Löschen' wird hier definiert
    function checkEmail( $Absender ) // E-Mail Überprufung
    {
    $nonascii = "\x80-\xff";
    $nqtext = "[^\\\\$nonascii\015\012\"]";
    $qchar = "\\\\[^$nonascii]";
    $normuser = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
    $quotedstring = "\"(?:$nqtext|$qchar)+\"";
    $user_part = "(?:$normuser|$quotedstring)";
    $dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
    $dom_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
    $dom_tldpart = '[a-zA-Z]{2,5}';
    $domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";
    $pattern = "$user_part\@$domain_part";

    if (!preg_match( "/$pattern$/", $Absender ))
    {
    return FALSE;
    }
    else
    {
    return TRUE;
    }
    }
    if(isset($Senden)){ // Überprüfung der MUSS - Felder

    if ($Name == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben ihren Namen nicht angegeben!\");</script>";
    } elseif ($Absender == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben ihre Email nicht angegeben!\");</script>";
    } elseif ($Telefon == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben keine Telefon Nr. angegeben!\");</script>";
    } elseif (!checkEmail( $_REQUEST['Absender'] )) {
    echo"<script type=\"text/javascript\"> alert(\"Die Email Adresse ist nicht gueltig!\");</script>";
    } else {

    while(list($Formularfeld, $Wert) = each($_REQUEST))
    {
    if($Formularfeld != "Send" && $Formularfeld != "Anhang")
    {
    $Header .= $Formularfeld.": ".$Wert."\n";
    }
    }

    $Header .= "\nDatum/Zeit: ";
    $Header .= date("d.m.Y H:i:s");
    $Header .= "\n";
    $Header .= "--$Trenner";
    $Header .= "\n";
    $Header .= "Content-Type: ";
    $Header .= $_FILES['Anhang']['type'];
    $Header .= "; name=";
    $Header .= $_FILES['Anhang']['name'];
    $Header .= "\n";
    $Header .= "Content-Transfer-Encoding: base64";
    $Header .= "\n";
    $Header .= "Content-Disposition: attachment; filename=";
    $Header .= $_FILES['Anhang']['name'];
    $Header .= "\n\n";
    $Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
    $Header .= chunk_split(base64_encode($Dateiinhalt));
    $Header .= "\n";
    $Header .= "--$Trenner--";

    $datum = date("d.m.Y"); // Aktuelles Datum und Zeit für E-Mail
    $uhrzeit = date("H:i");
    $datum=$datum ."-". $uhrzeit ."Uhr";


    $ich = "email@email.xx"; // E-Mail Adresse
    $betreffemail = "Bestellung"; // Betreff von E-Mail
    $Nachricht = " Bestellung \n\n
    Geschmacksrichtung: ".$geschmacksrichtung."
    Filialen: ".$Filialen."
    Vorname: ".$Vorname."
    Name: ".$Name."
    Telefon: ".$Telefon."
    Datum, Abholen am: ".$Datumabholen."
    E-Mail: ".$Absender."
    Nachricht: ".$Nachricht."
    gesendet am: ".$datum."

    ";
    mail($ich, $betreffemail, $Nachricht,
    "From: $Name $Vorname <$Absender>");
    echo "Besten Dank für Ihre Bestellung,"; // Text, der erscheint nach erfolgreichem Senden
    echo " ";
    print_r ($_POST['Vorname']);
    echo " ";
    print_r ($_POST['Name']);
    echo ".";
    echo "<br><br>Wir haben Ihre Bestellung erhalten.<br>";

    echo"<script type=\"text/javascript\"> alert(\"Vielen Dank!\");</script>";

    }
    }
    ?>
    <form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
    <table width="567">
    <tr>
    <td align=right width="161">Vorname</td>
    <td width="394"><font color="#fff"><input type=text name="Vorname" size=50></font></td></tr>
    <tr>
    <td align=right width="161">Name</td>
    <td width="394"><font color="#fff"><input type=text name="Name" size=50></font></td></tr>
    <tr>
    <td align=right width="161"><font color="#fff">Telefon</font></td>
    <td width="394"><font color="#fff"><input type=text name=Telefon size=50 id="Telefon"></font></td></tr>
    <tr>
    <td align=right width="161">Geben Sie bitte ein Datum ein, an dem Sie Ihre Fototorte abholen möchten:</td>
    <td width="394"><font color="#fff"><input type=text name=Datumabholen size=50 id="Datumabholen"></font></td></tr>
    <tr>
    <td align=right width="161"><font color="#fff">E-Mail:</font></td>
    <td width="394"><font color="#fff"><input type=text name=Absender size=50></font></td></tr>
    <tr>
    <td align=right width="161">Geschmacksrichtung</td>
    <td width="394">
    <font color="#fff"><select name=geschmacksrichtung size=1 id="geschmacksrichtung">
    <option value="Vanillecreme">Vanillecreme</option><option value="Schokocreme">Schokocreme</option><option value="Erdbeercreme">Erdbeercreme</option></select></font>
    </td>
    </tr>
    <tr>
    <td align=right width="161">Filialen</td>
    <td width="394">
    <font color="#fff"><select name="Filialen" size="1" id="Filialen">
    <option value="Filiale1"> Filiale1 </option>
    <option value="Filiale2">Filiale2</option>
    <option value="Filiale3">Filiale3</option>
    <option value="Filiale4">Filiale4</option>
    </select></font>
    </td>
    </tr>
    <tr>
    <td align=right width="161">Nun hängen Sie Ihr Bild an (max. 4MB):*</td>
    <td width="394"><font color="#fff"><input name="Anhang" size="20" type="file"></font></td></tr>
    <tr>
    <td align=right width="161"><font color="#fff">Schreiben:</font></td>
    <td width="394"><font color="#fff"><textarea name=Nachricht cols=40 rows=6></textarea>
    <br>
    <input type="submit" value="Absenden" name="Senden">
    <input type="reset" value="Zurücksetzen" name="Löschen"></font>
    </td></tr></table></form>
    <?php
    }

    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: Wo steckt der Fehler? – Bestellformular mit Upload, bin verzweifelt.

    1. Rücke den Quellcode ordentlich ein
    2. Benutze die Formatierungsmöglichkeiten (PHP-Button), um den Quellcode lesbar zu posten
    3. Liefere ein Beschreibung deines Problems. Was geht nicht?
    4. Überprüfe, ob der Upload überhaupt funktioniert hat.
    5. Benutze nicht die mail-Funktion, sondern besser eine fertige Klasse w.z.B. den phpMailer
    6. Füttere google mal mit: php_self xss
    7. eMail-Adressen mit Umlauten werden nicht akzeptiert.


    Und zu guter Letzt:

    Richtig debuggen



    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
    Geändert von Bandit (21.04.2012 um 14:35 Uhr)

  3. #3
    Bandit
    Gast

    Standard AW: Wo steckt der Fehler? – Bestellformular mit Upload, bin verzweifelt.

    Crossposting!

Ähnliche Themen

  1. Seitenaufbau mit div's - wo steckt der Fehler? :-)
    Von martinfre im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 20.05.2009, 17:26
  2. Upload-Fehler
    Von mathe_is_GEIL! im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 08.11.2007, 08:31
  3. Fehler bei Upload-script
    Von zim im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 07.05.2007, 14:58
  4. upload script hat nen fehler
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 09.09.2006, 15:54
  5. FTP-Upload >>>Fehler!<<<
    Von yngvar im Forum Computer - Internet Forum
    Antworten: 6
    Letzter Beitrag: 04.10.2005, 22:45

Stichworte

Berechtigungen

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