Formular mit INSERT

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

  • Formular mit INSERT

    Also, ich hab das Formular ...

    Ich gebe allen möglichen Kram ein, wie z.B. Betreff, Nachricht ...

    Und nun möchte ich das in die DB packen ...

    Macht er nur nich so ganz ...

    wo is denn bitte der Fehler ???

    => das Formular

    so circa Zeile 358 ...

    Jemand ne Idee ???

    mfg DaPhreak
    If something's HARD to do,

    then it's not worth doing.
    (Homer J. (Jay) Simpson)

  • #2
    Beim schnellen drüberschauen ist mir folgendes aufgefallen:

    Willst du wirklich alle Datensätze in deiner Tabelle mit dem gleichem Inhalt updaten?
    Es ist nämlich keine WHERE in deinem UPDATE vorhanden.

    Und - hast du kontrolliert, ob in $title, $message, $disable_smilies ... usw. etwas drin steht?
    Welche PHP-Version hast du bei dir laufen? Weil es da einige Änderungen seit PHP 4.1.0 gibt, was $HTTP_POST_VARS angeht.

    Hast du auch evtl. geprüft, ob die Variablen bzw. Werte in if (($userdata[user_level] == "1" || $userdata[user_level] .... richtig sind?
    Immer erst mal gucken, ob Benzin im Tank ist ...

    Kommentar


    • #3
      1.)
      also, mit der WHERE haste recht.

      Wollt eigentlich nich die ganze Tabelle mit dem selben Datensatz füllen.

      2.) $title und $message habe ich überprüft ..

      $disable_smilies noch nich ...

      3.) PHPVERSION = 4.1.2

      4.) Die Variablen $userdata[user_level] stimmen ....

      noch ne Frage : wie ermittle ich den Wert einer Checkbox ???

      also mit
      PHP-Code:
      if($name == checked) echo "an" else echo "aus"
      geht's nich ....

      aber auch nich über $_POST["name"]

      mfg DaPhreak
      Zuletzt geändert von DaPhreak; 20.05.2002, 11:43.
      If something's HARD to do,

      then it's not worth doing.
      (Homer J. (Jay) Simpson)

      Kommentar


      • #4
        hab mir jetzt mal zur Überprüfung n kleines Script geschrieben ...

        mir ist aufgefallen das nicht alles übertragen wird !!!!

        PHP-Code:
        <?
        // Überprüft die Funktionalität .....
        if ($userdata[user_level] != "0" && $submit =="Absenden")
        {
            $pid = $ref;
            $sid = $sid;
            $ID = $id;
            $ID_form = $_POST["p"];
            $title = $_POST["subject"];
            $message = $_POST["message"];
            if ($disable_bbcode == "on")
            {
                $disable_bbcode = "1";
            }
            if ($disable_bbcode == "off")
            {
                $disable_bbcode = "0";
            }
            if ($disable_smiles == "on")
            {
                $disable_smiles = "1";
            }
            if ($disable_smiles == "off")
            {
                $disable_smiles = "0";
            }
            if ($attach_sig == "on")
            {
                $attach_sig = "1";
            }
            if ($attach_sig == "off")
            {
                $attach_sig = "0";
            }
        }
        echo "Die aktuelle PID ist : $pid<br /> Die aktuelle SID ist : $sid<br /> 
              Die ID über den Beitrag ist : $ID_form , die URL liefert : $ID<br />
              Der Titel der Nachricht ist : $title<br />
              Der Text der Nachricht lautet : $message<br />
              BBCode ist $disable_bbcode (1 - deaktiviert / 0 - aktiviert)<br />
              Smilies sind $disable_smiles (1 - deaktiviert / 0 - aktiviert)<br />
              Die Signatur wird angehängt : $attach_sig (1 - ja / 0 - nein)<br />";
        ?>
        die URL laut so :submit.php?ref=1&sid=4e1f69187bfe15908396cec777dfcb0d&mode=edit_news&id=1

        er ermittelt $sid, $message, $attach_sig ...

        Das wars mehr nich ....

        ausserdem ist $attach_sig nich 1 oder 0 sondern "on" ...

        ne Idee ??

        daphreak
        If something's HARD to do,

        then it's not worth doing.
        (Homer J. (Jay) Simpson)

        Kommentar


        • #5
          Tip zum Arbeit sparen:
          PHP-Code:
          // Auszug aus deinem Quellcode
          if ($disable_smiles == "on")
              {
                  
          $disable_smiles "1";
              }
              if (
          $disable_smiles == "off")
              {
                  
          $disable_smiles "0";
              } 
          Den Wert "off" gibts in dem Fall nicht. Wenn eine Checkbox oder ein Radio nicht markiert sind, wird kein Wert übermittelt, das Ding bleibt einfach leer.
          Deshalb spar dir einfach einen Haufen Code, indem du das vielleicht so machst:
          PHP-Code:
          if ($disable_smiles == "on"$disable_smiles 1;
           else 
          $disable_smiles 0
          Oder eine andere Möglichkeit:
          PHP-Code:
          // Damit bekommst du auch 1 oder 0 als Ergebnis raus.
          $disable_smiles ereg_replace("on","1",$disable_smiles);
          $disable_smiles intval($disable_smiles); 
          Oder in deinem Fall, da du sehr viele Variablen auf diese Art änderst, wäre eine Funktion vielleicht nicht schlecht:
          PHP-Code:
          function nulleins($wert)
           {
            
          $wert ereg_replace("on","1",$wert);
            
          $wert intval($wert);
            return 
          $wert;
           }

          // Aufruf der Funktion
          $disable_bbcode nulleins($disable_bbcode);
          $disable_smiles nulleins($disable_smiles);
          $attach_sig nulleins($attach_sig); 
          Immer erst mal gucken, ob Benzin im Tank ist ...

          Kommentar


          • #6
            kannste mir mal vertellen was dieser Radio zurückgibt :


            <INPUT type=radio value=0 name=topictype>Normal&nbsp;&nbsp;
            <INPUT type=radio value=1 name=topictype>Wichtig&nbsp;&nbsp;
            <INPUT type=radio value=2 name=topictype>Ankündigung&nbsp;&nbsp;

            ach ja, haste ganz zufällig ( ) ICQ ???

            is einfacher ...
            If something's HARD to do,

            then it's not worth doing.
            (Homer J. (Jay) Simpson)

            Kommentar


            • #7
              Original geschrieben von DaPhreak
              kannste mir mal vertellen was dieser Radio zurückgibt :


              <INPUT type=radio value=0 name=topictype>Normal&nbsp;&nbsp;
              <INPUT type=radio value=1 name=topictype>Wichtig&nbsp;&nbsp;
              <INPUT type=radio value=2 name=topictype>Ankündigung&nbsp;&nbsp;

              ach ja, haste ganz zufällig ( ) ICQ ???

              is einfacher ...
              Wenn normal angeklickt ist 0
              Wenn wichtig angeklickt ist 1
              Wenn Ankündigung angeklickt ist 2

              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                Die Frage mit den Radios ist ja bereits beantwortet.

                Und ... nein, habe zur Zeit kein ICQ installiert.

                Hat das mit dem "on" und 1 bzw. 0 so bei dir geklappert?
                Immer erst mal gucken, ob Benzin im Tank ist ...

                Kommentar


                • #9
                  also leudz,

                  ich muss euch ehrlich sagen :

                  es geht nich ...

                  Das Prüfungsscript (mit dem Codeschnipsel von mkJack)

                  PHP-Code:

                  if ($userdata[user_level] == "1" && $submit =="Absenden")
                  {
                      
                  $sid $sid;
                      
                  $sid $sid;
                      
                  $ID $_POST["p"];
                      
                  $title $_POST["subject"];
                      
                  $message $_POST["message"];
                      if (
                  $disable_bbcode == "on"$disable_bbcode 1;
                      else 
                  $disbale_bbcode 0;
                      if (
                  $disable_smiles == "on"$disable_smiles 1;
                       else 
                  $disable_smiles 0;
                      if (
                  $attach_sig "on"$attach_sig 1;
                      else 
                  $attach_sig 0;
                      
                  $importance $topictype;
                  }
                  echo 
                  "Die aktuelle SID ist : $sid<br /> 
                        Die ID über den Beitrag ist : 
                  $p<br />
                        Der Titel der Nachricht ist : 
                  $subject<br />
                        Der Text der Nachricht lautet : 
                  $message<br />
                        BBCode ist 
                  $disable_bbcode (1 - deaktiviert / 0 - aktiviert)<br />
                        Smilies sind 
                  $disable_smiles (1 - deaktiviert / 0 - aktiviert)<br />
                        Die Signatur wird angehängt : 
                  $attach_sig (1 - ja / 0 - nein)<br />
                        Die Nachricht hat Status 
                  $importance (1-Normal / 2-Wichtig / 3-Ankündigung)";
                  ?> 
                  Das Formular => siehe oben ... (is nix geändert ..) ausser das ich
                  bei den HiddenFields 2 hinzugefügt hab ...

                  <INPUT type="hidden" value="<? echo $ref ?>" name=ref>
                  <INPUT type="hidden" value="<? echo $sid ?>" name=sid>

                  und die Ausgabe sieht dann so aus :

                  Code:
                  Die aktuelle SID ist : 788d659578aaec099e518fd166763347
                  Die ID über den Beitrag ist : 1
                  Der Titel der Nachricht ist : FERTIG
                  Der Text der Nachricht lautet : Ich hoffe, euch gefällt das Design ... ;) Das Board sollte auch im Laufe der nächsten 2 Wochen fertig sein ... :D mfg DaPhreak 
                  BBCode ist (1 - deaktiviert / 0 - aktiviert)
                  Smilies sind (1 - deaktiviert / 0 - aktiviert)
                  Die Signatur wird angehängt : on (1 - ja / 0 - nein)
                  Die Nachricht hat Status (1-Normal / 2-Wichtig / 3-Ankündigung)
                  wobei die URL wie folgt lautet :submit.php?ref=1&sid=788d659578aaec099e518fd166763347&mode=edit_news&id=1

                  Ne Idee ??

                  mfg DaPhreak
                  If something's HARD to do,

                  then it's not worth doing.
                  (Homer J. (Jay) Simpson)

                  Kommentar


                  • #10
                    Erst mal wieder eine Frage vorweg:
                    $sid = $sid;
                    $sid = $sid;

                    Welchen tieferen Sinn hat dieser Teil denn?

                    Und so wie es scheint, werden genau die Variablen NICHT ausgegeben, die in deiner IF-Geschichte stehen, somit stellt sich die Frage:
                    Trifft die If-Abfrage zu und wird dieser Teil überhaupt durchlaufen?

                    Laß doch mal zum Testen das IF-Gerödel weg.
                    Und vor allem machst du oft und gerne simple Tippfehler:
                    1. if ($attach_sig = "on") -> kann nicht gehen
                    2. else $disbale_bbcode = 0; -> kann nicht gehen

                    Ist nämlich komisch, wenn ich deinen Code bei mir teste (nachdem ich die Tippfehler korrigiert habe) - OHNE IF, dann funktioniert es einwandfrei.

                    Sei mir net bös, aber du schreist immer gleich um Hilfe, ohne vorher mal genau hinzusehen.
                    Du gehst schon in die richtige Richtung, aber wie gesagt, du machst eine Menge leichtsinnige Tippfehler, die dann fatale Folgen für das Ergebnis haben.

                    Immer erst mal von unten anfangen und schauen, ob Benzin in der Karre ist ...
                    Immer erst mal gucken, ob Benzin im Tank ist ...

                    Kommentar


                    • #11
                      Erst mal wieder eine Frage vorweg:
                      $sid = $sid;
                      $sid = $sid;

                      Welchen tieferen Sinn hat dieser Teil denn?
                      => des hat keinen tieferen Sinn .... nur vergessen ...

                      if ($attach_sig = "on") -> kann nicht gehen
                      Wieso sollte das nich gehen ?????

                      2. else $disbale_bbcode = 0; -> kann nicht gehen
                      Jupp, das sehe ich ein ..

                      Immer erst mal von unten anfangen und schauen, ob Benzin in der Karre ist ...
                      => Is einfacher ...

                      Zu dem if-Gerödel .. :

                      Hast recht ....

                      Es liegt an dem $userdata[user_level] ....

                      wieso ???

                      keine Ahnung ....

                      mfg DaPhreak
                      If something's HARD to do,

                      then it's not worth doing.
                      (Homer J. (Jay) Simpson)

                      Kommentar


                      • #12
                        if ($attach_sig = "on")
                        sollte wohl eher
                        if ($attach_sig [COLOR=crimson]==[/COLOR] "on") heissen, dann klappts auch mit dem ... na du weißt schon
                        Immer erst mal gucken, ob Benzin im Tank ist ...

                        Kommentar


                        • #13
                          So wie ich das sehe ( Formular im ersten Posting ) heisst der Button nicht $submit sondern $post ... vielleicht ist das ein Ansatz ...
                          carpe noctem

                          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                          Kommentar

                          Lädt...
                          X