kostenloser Webspace werbefrei: lima-city


Frage zur Formular auswertung bzw. Kontrollstruktur

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    Hallo Leutz,

    Ich habe mir ein kleines Script gebastelt welches einige Infos und ein Bild jeweils in die Datenbank bzw. in einem Ordner ablegen soll, jedoch geht das Script nicht in die dafür vorher gesehende Kontrollstruktur hinein. Ich hab das Script mal zerlegt und nach meinen Ansichten geht alles wenn ich es einzeln abfrage. Ich wollte euch fragen ob ihr wisst woran es liegt.

    Hier das Formular:
    <form enctype=\"multipart/form-data\" action=\"index.php?action=sites/vehicles.php&send=oK\" method=\"post\">
    <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
    <tr><td align=\"right\">Bild:</td><td><input type=\"file\" name=\"file\"></td></tr>
    <tr><td align=\"right\">Hersteller:</td><td><input type=\"text\" size=\"20\" name=\"producer\" maxlength=\"40\"></td></tr>
    <tr><td align=\"right\">Modell:</td><td><input type=\"text\" size=\"20\" name=\"modell\" maxlength=\"40\"></td></tr>
    <tr><td align=\"right\">PS:</td><td><input type=\"text\" size=\"20\" name=\"ps\" maxlength=\"40\"></td></tr>
    <tr><td align=\"right\">Baujahr:</td><td><input type=\"text\" size=\"20\" name=\"year\" maxlength=\"40\"></td></tr>
    <tr><td align=\"right\">Farbe:</td><td><input type=\"text\" size=\"20\" name=\"color\" maxlength=\"40\"></td></tr>
    <tr><td align=\"right\">Bereifung vorn:</td><td><input type=\"text\" size=\"20\" name=\"tires_front\" maxlength=\"40\"></td></tr>
    <tr><td align=\"right\">Bereifung hinten:</td><td><input type=\"text\" size=\"20\" name=\"tires_back\" maxlength=\"40\"></td></tr>
    <tr><td><p align=\"right\">Besonderheiten:</td><td><textarea cols=\"40\" rows=\"4\" wrap=\"soft\" name=\"specifications\"></textarea></td></tr>
    </table>
    <p align=\"right\"><input name=\"edit\" type=\"submit\" value=\"Hinzufügen\" class=\"edit\"></p>
    </form>

    Hier die Kontrollstruktur:
    if(isset($_GET[\'send\']) && $admin && !empty($_FILES[\'file\']) && $producer!=\"\" && $modell!=\"\" && $ps!=\"\" && $year!=\"\" && $color!=\"\" && $tires_front!=\"\" && $tires_back!=\"\" && $specifications!=\"\"){
    $uploaddir = \'include/userpics/\';
    $image = $_FILES[\'file\'][\'tmp_name\'];
    $size = getimagesize($image);
    $height = $size[1];
    $width = $size[0];
    if($height < 251 && $width < 251){
    if(move_uploaded_file($_FILES[\'file\'][\'tmp_name\'], $uploaddir . $modell . \".vehicle\"))
    {
    mysql_query(\"INSERT INTO `vehicles` (`id`, `owner`, `producer`, `modell`, `ps`, `year`, `color`, `tires_front`, `tires_back`, `specifications`) VALUES (\'\', \'$username\', \'$producer\', \'$modell\', \'$ps\', \'$year\', \'$color\', \'$tires_front\', \'$tires_back\', \'$specifications\')\");
    header(\"Location: index.php?action=sites/vehicles.php\");
    exit;
    }
    }
    else{
    header(\"Location: index.php?action=sites/error.php&topic=hugepic\");
    exit;
    }
    }else{


    mfG
    Chris


    Beitrag geändert: 26.6.2008 20:32:52 von ghostrider
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Kannst du mal bitte die PHP Fehlermeldung posten, falls keine angezeigt wird binde das folgende in deine Datei ein:
    // Melde alle PHP Fehler
    error_reporting(E_ALL);


    Übrigens:
    if($color!=\"\")

    geht viel kürzer so:
    if($color)


    Vielleicht sind bei dir auch die globalen variablen nicht an.
    Dann müsstest du das so machen $_POST[\'color\'];
  4. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    Ich habe alle !=\"\" entfernt und mir die PHP Fehler ausgegeben, leider kommen aber nur Notizen die mir sagen das er eine Variable nicht finden kann, dies beruht sich aber darauf das in der Datenbank nichts steht, alles in einem kein Fehler.Register_Globals ist ebenfalls aktiviert was mir beim testen aufgefallen ist.Danke aber für deine Schnelle Antwort.
  5. o**s

    Dann ist auch alles in Ordnung. Du möchtest wahrscheinlich nun, dass er trotzdem per header() umleitet. Das geht aber nur, wenn vorher absolut keine Ausgabe geschehen ist. D.h. du solltest die mysql-Fehlermeldungen unterdrücken, a la @mysql_query(...). Natürlich kannst du auch ganz allgemein alle Fehlerausgaben unterdrücken, um sicher zu stellen, dass header()in Kraft tritt.
  6. m******s

    Du kannst auch die automatische Ausgabe unterbinden.

    Mit
    ob_implicit_flush(false)
    schlatest du das aus. Dann musst du jedesmal am Ende der Datei flush() schreiben, aber dafür kannst du ganz normal arbeiten mit echo und allem, ohne irgendetwas zu beachten und trotzdem header-Funktionen etc. benutzen.
    Wie das mit Fehlermeldungen aussieht weiss ich nicht genau, wie das mit Fehlermeldungen aussieht...

    Hab das übrigens selber nie benutzt, kann dir also nichts versprechen, kannst dir ja mal die verschiedenen Funktionen hier anschauen:
    http://de.php.net/manual/de/ref.outcontrol.php
  7. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    Damit funktioniert es wunderbar, vielen dank euch :thumb:
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!