Problem mit POST

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    als ob er 8 Jahre alt wär :-)
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #17
      Ok ... Ich kann jetzt bis 5 Zählen. ;-) ... Danke für den Hinweis.
      Da in der Tabelle noch mehr Werte bzw. Spalten sind, werde ich mich befleißigen und noch bis 10 zählen lernen.

      Habe gerade nach Boolean gegoogelt ...
      Also einige Werte sind es einige nicht. Die meisten Werte werden aber Strings sein. Also aus Buchstaben und Zahlen bestehen.

      Was muss ich jetzt wie kennzeichnen?

      Boolean: $_POST[kunde]

      String: '$_POST[f_typ]'


      Ist das so richtig? Oder genau anders rum?
      Zuletzt geändert von TheCure13; 17.06.2008, 20:40.
      ... wenn deine träume sterben dann wirst du alt !!!

      Kommentar


      • #18
        Grundlagen lernen:
        http://de.php.net/manual/de/language.types.php

        $_POST Werte können AFAIK nur Array oder String sein.

        $_POST[kunde] ist übrigens falsch. kunde ist höchst wahrscheinlich ein String, muss also $_POST['kunde'] geschrieben werden. Ohne Hochkomma wäre es eine Konstante.

        Außerdem unbedingt das lesen:
        http://de.wikipedia.org/wiki/SQL_Injektion
        Zuletzt geändert von h3ll; 17.06.2008, 20:42.

        Kommentar


        • #19
          Wenn ich $_POST['kunde'] schreibe, bekomme ich eine Fehlermeldung :-(

          Bei '$_POST[kunde]' funktioniert es.
          ... wenn deine träume sterben dann wirst du alt !!!

          Kommentar


          • #20
            Dann bindest du die Variable falsch im String ein.

            Beim Link zu SQL-Injektions sind eh schöne Beispiele.

            Kommentar


            • #21
              Wie meinst du das?

              Wenn ich sie vom Formular übertrage, also die Bennenung der INPUT Felder, oder wenn ich sie in den INSERT INTO Befehl aufrufe?


              Ach und dann hätte ich noch ne Frage:

              Wenn ich die Seite neu aufrufe. Nicht durch F5 mittels aktualisieren, sondern durch aufrufen der Adresse der Seite, wird in der DB ein neuer Eintrag angelegt. Ohne Werte, aber eben ein neuer. Ich muß also vor den INSERT INTO BEfehl noch eine Abfrage hinbauen ob POST wahr oder falsch ist? Richtig?
              Zuletzt geändert von TheCure13; 17.06.2008, 21:09.
              ... wenn deine träume sterben dann wirst du alt !!!

              Kommentar


              • #22
                Original geschrieben von TheCure13
                Wie meinst du das?

                Wenn ich sie vom Formular übertrage, also die Bennenung der INPUT Felder, oder wenn ich sie in den INSERT INTO Befehl aufrufe?
                Lies dir doch endlich mal die Seite über SQL-Injections durch.


                Original geschrieben von TheCure13
                Ach und dann hätte ich noch ne Frage:

                Wenn ich die Seite neu aufrufe. Nicht durch F5 mittels aktualisieren, sondern durch aufrufen der Adresse der Seite, wird in der DB ein neuer Eintrag angelegt. Ohne Werte, aber eben ein neuer. Ich muß also vor den INSERT INTO BEfehl noch eine Abfrage hinbauen ob POST wahr oder falsch ist? Richtig?
                Mit isset abfragen, ob ein POST Wert existiert. zB. if (isset($_POST['kunde'])) { ...

                Kommentar


                • #23
                  Original geschrieben von h3ll
                  Lies dir doch endlich mal die Seite über SQL-Injections durch.
                  Habe ich doch gemacht ... Aber mal ganz ehrlich. Ich steige da nicht durch. Das sind soviele Fremdwörter/Fachbegriffe das ich nach 3 Sätzen nicht mehr weiss was im ersten gestanden hat.

                  @Isset
                  Genau das habsch gesucht. Danke.
                  Zuletzt geändert von TheCure13; 17.06.2008, 21:37.
                  ... wenn deine träume sterben dann wirst du alt !!!

                  Kommentar


                  • #24
                    Original geschrieben von TheCure13
                    Habe ich doch gemacht ... Aber mal ganz ehrlich. Ich steige da nicht durch. Das sind soviele Fremdwörter/Fachbegriffe das ich nach 3 Sätzen nicht mehr weiss was im ersten gestanden hat.
                    Schau dir doch einfach mal die Code-Beispiele an.

                    Kommentar


                    • #25
                      Ich weiss, ich nerv

                      Meinst du dieses Beispiel hier?

                      PHP-Code:
                      $abfrage "SELECT spalte1 FROM tabelle WHERE 
                                  spalte2 = '"
                      .mysql_real_escape_string($_POST['spalte2Wert'])."'";
                      $query mysql_query($abfrage) or die("Datenbankabfrage ist fehlgeschlagen!"); 
                      Das verstehe ich, zumindest bilde ich es mir ein ;-)
                      ... wenn deine träume sterben dann wirst du alt !!!

                      Kommentar


                      • #26
                        Dann ist doch alles gut

                        Kommentar


                        • #27
                          Also das oben beschriebene Problem, scheint gelöst.

                          Ich danke dir bzw. euch.

                          Aber gleich mal noch ne andere Frage:

                          Ich habe eine Tabelle (kunden) in der es die 2 Spalten gibt (kunden_id und kunde) diese will ich nun auslesen und mit einem Dropdown auswählen können.

                          PHP-Code:
                          <form action="auswahl_kunde.php" method="post" name="auswahl_kunde">
                          <select name="kunden">
                          <?
                          $abfrage = "SELECT * FROM kunden";
                          $ergebnis = mysql_query($abfrage);
                          while ($kunden = mysql_fetch_array($ergebnis)){
                           echo "<option value=$kunden['kunden_id']>$kunden['kunde']</option>";
                           }
                          ?>
                          </select>
                          </form>
                          Aber irgendwie bekomme ich da wieder einen:

                          Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE,
                          expecting T_STRING or T_VARIABLE or T_NUM_STRING


                          Ich habe jetzt schon so einiges mit den ' und auch den " probiert, aber irgendwie bekomme ich den Fehler nicht weg.
                          Das einzige was ich bisher mal erreicht hatte, war die Anzeige des Wortes "Array" in der Dropdown Liste.
                          ... wenn deine träume sterben dann wirst du alt !!!

                          Kommentar


                          • #28
                            PHP-Code:
                            echo '<option value="' $kunden['kunden_id'] . '">' $kunden['kunde'] . '</option>'
                            oder
                            PHP-Code:
                            echo "<option value=\"{$kunden['kunden_id']}\">{$kunden['kunde']}</option>"
                            oder
                            PHP-Code:
                            <option value="<?php echo $kunden['kunden_id']; ?>"><?php echo $kunden['kunde']; ?></option>
                            oder
                            PHP-Code:
                            printf('<option value="%s">%s</option>'$kunden['kunden_id'], $kunden['kunde']); 
                            Siehe:
                            http://de.php.net/manual/de/language.types.string.php
                            http://de.php.net/manual/de/function.sprintf.php
                            Zuletzt geändert von h3ll; 17.06.2008, 23:44.

                            Kommentar

                            Lädt...
                            X