Problem mit Formularprüfung

Cemil

Erfahrenes Mitglied
Hallo,
brauche wieder ein paar Profitipps.

Wenn ein Feld nicht ausgefüllt ist, erhalte ich eine Fehlermeldung und das ist auch gut so. Wenn ich aber nur ein Bild hochlade und die anderen Felder leerlasse und verschicke, erhalte ich zwar eine Fehlermeldung, das die Felder nicht ausgefüllt sind, aber das Bild wird trotzdem verschickt und umgekehrt, wenn ich die Felder alle ausfülle und ein Bild hochlade und verschicke, dann erhalte ich eine Fehlermeldung, obwohl alle Felder ausgefüllt sind. Wieso wird das Feld "uploadfile" nicht erkannt, wenn ich eine Datei verschicke?

Hier der Code:

PHP:
// Einfügen durchführen.
    $ok = @mysql_query($sql);
    if($ok == true) {
        echo ("<b>Dateien wurden erfolgreich gesendet!</b>");
    }
    else
    {
        echo ("Dateien konnten nicht gesendet werden! " . mysql_error());
    header("Location: $PHP_SELF");
    exit();
    }
PHP:
function show_form($company="", $name="", $address="", $city="", $tel="", $email="",$uploadfile="") {

<form>Hier kommt das Formular</form>

PHP:
if($_SERVER['REQUEST_METHOD']!='POST') {
        show_form();
    } else {
        if(empty($_POST['company']) ||
           empty($_POST['name']) ||
           empty($_POST['address']) ||
           empty($_POST['city']) ||
           empty($_POST['tel']) ||
           empty($_POST['email']) ||
           empty($_POST['uploadfile'])) {
            echo "<p>Sie haben nicht alle Felder ausgefüllt,";
            echo " bitte versuchen Sie es noch einmal.</p>\n";
            show_form($_POST['company'],$_POST['name'],$_POST['address'],$_POST['city'],$_POST['tel'],$_POST['email'],$_POST['uploadfile']);
        }
    }
Seit Tagen sitze ich an diesem Formular und komme jetzt einfach nicht mehr weiter.

Bin für jede Hilfe dankbar.

Grüsse
 
Noch ein Tipp. Wenn du wissen willst, wo deine Fehler liegen solltest du den @ vor Datenbankbefehlen weglassen. Denn sonst erfährst du nie wo ein Problem in diesem Bereich sein könnte. Statt @ wäre wohl besser -> or die (); <- angebracht.
 
Zurück