1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Bestelliste verarbeiten

Discussion in 'Web-Know-how für die Homepage' started by lightdisc, Sep 9, 2006.

Thread Status:
Not open for further replies.
  1. lightdisc

    lightdisc Halbes Megabyte

    Hallo,
    bin auf ein kleines Problem in meinem Vorhaben gestosen.
    Und zwar hab ich ne Produkliste, die halt aus der Datenbank ausgegeben wird. Neben dem Preis ist ein textfeld in dem man die Menge eingeben kann, wie viel man von dem jeweiligen Produkt bestellen möchte. Die Felder stehen standardmäßig auf 0. So wenn jetzt aber jemand beim Produkt A bei Menge 2 eingibt und bei Produkt C Menge 1. Wie bekomme ich jetzt so hin wenn man dann unten auf den bestell-button drück das auch nur diese zwei produkte an die bestell.php geschickt werden und die mit der Menge 0 nicht. Ich stehe da jetzt grade etwas aufm schlauch. Ich hoffe ihr könnt mir helfen
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Es wird grundsätzlich das gesamte Formular versand. Sortiere in bestell.php einfach die Artikel aus, die mit der Anzahl "0" ankommen.
     
  3. enschman

    enschman Megabyte

    Hi,
    besser wäre noch, du würdest alles, was keine Zahl ist, Leerzeichen und Null ausschließen!

    Da ich grade ein bisserl Zeit hab, schreib ich dir mal, was ich in etwa meine:

    PHP:
    //so, ich denke mal, du löst das in einer while-schleife..
    //Für die Werteübergabe aus $_REQUEST solltest du auch per
    //Funktion prüfen lassen, ob magic_quotes_gpc an ist und
    //entsprechende Maßnahmen ergreifen...
    //Die Variable für die Bestellmenge eines Artikels heißt $menge
    //Der folgende Code eignet sich meiner Meinung nach besser,
    //indem du eine Funktion draus machst.
    if ($menge=="" or !Is_Integer($menge) or $menge=="0") {
              
    //Wert rausschmeißen, keine/falsche Zahl
    } else {
              
    //Hier deine weitere Variablen-Verarbeitung
    }
    Der Code sollte eigentlich alles wichtige ausschließen (falls nicht, ich lern gerne dazu)...

    mfg Tenschman
     
  4. kalweit

    kalweit Hüter der Glaskugel

    Das ist der falsche Ansatz und in vielen Anwendungen der Grund, warum später Sicherheitslöcher auftreten. Man prüft einen Wert nicht, auf das was er nicht erfüllen soll, sondern auf das, was er erfüllen soll -> Whitelist. Dein Konstrukt lässt z.B. negative Mengen zu.

    Grundsätzlich erfolgt die Validierung über 3 Schritte:

    1. Prüfen, ob die Variable initialisiert ist
    2. Prüfen des Datentyps
    3. Prüfen des Wertebereich

    Code:
    if (isset($menge) && is_integer($menge) && ($menge>0)) {
    // Wert OK
    }
    
     
  5. lightdisc

    lightdisc Halbes Megabyte

    problem is schon gelöst habs mit foreach gemacht. trotzdem danke!
     
  6. enschman

    enschman Megabyte

    Hi,
    des mit negativen Zahlen hab ich vergessen...
    Man lernt nie aus!
    mfg Tenschman
     
Thread Status:
Not open for further replies.

Share This Page