Überprüfung bei Update!

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

  • Überprüfung bei Update!

    Hallo,
    also irgendwie quwallmt mir schon dir Birne, ich bekomms um´s verrecken nicht gebacken. Wäre wirklich sehr dankbar wenn mir
    jemand helfen könnte.
    Also ich hab ein einfaches Formular:
    2 Felder
    1Feld Thema(Datenbank = Name)
    2Feld Eintrag(Datenbank = Eintrag)

    so nun da es eine Updatefunktion ist hab ich die bereits vorhandenen Daten ausgelesen und in die passenden Felder
    in das Value eingefügt:
    <input type="text" name="thema" size="20" value="<?php echo $current_thema; ?>">
    <textarea rows="10" cols="50" wrap="virtual" name="eintrag">
    <?php echo $current_eintrag; ?>
    </textarea>
    funktionier ja auch einwandfrei.

    So die Namen der beiden Formular Felder sind thema & eintrag dadurch kann ich ja dann zwei neue Variablen festlegen:
    $thema
    $eintrag
    die ich dann zur überprüfung verwenden kann!

    So sobald der submit Button gedrückt wurde, hier der Code:
    <input type="submit" name="submit" value="ok" alt="Beitrag editieren">
    hab ich ja nun auch die Varibale $submit die jetzt ja einen Wert
    hat "submit".

    Jetzt mach ich die Überprüfung:
    Das Problem dabei ist er gibt mir schon beim anzeigen der seite
    die Fehlermeldungen aus, also:
    Bitte gib ein Thema an!
    Bitte gib ein Eintrag ein!
    das dürfte er doch eigentlich noch garnicht können da der submit Button ja noch garnicht gedrückt worden ist!
    Wenn ich dann was rauslösch und dann submit drück zeigt er mir die richtige Meldung an.
    Und wenn alle Felder ausgefüllt sind, also alle Variablen einen Wert haben($thema & $eintrag), schreibt er die Daten auch rein.

    Hier der Code der Prüfung:
    IF ($submit) {

    IF ($thema) {

    $DatenOK = 1;

    }

    IF ($eintrag) {

    $DatenOK = 1;

    }

    IF ($thema == "") {

    $DatenOK = 0;
    echo "Bitte gib ein Thema an!";

    }

    IF ($eintrag == "") {

    $DatenOK = 0;
    echo "Bitte gib ein Eintrag ein!";

    }

    //Alle DatenOK, updaten des Eintrags

    IF ($DatenOK == "1") {
    mysql_query("update $tbl set name = '$thema', eintrag = '$eintrag' where id = '$id'");

    echo mysql_error();

    // Daten waren OK ->

    echo "<meta http-equiv=\"refresh\" content=\"1; URL=admin.php\">\n";
    echo "<a href=\"admin.php\" align=\"center\"><h4>gleich geht´s weiter...</h4></a>\n";

    die();

    }
    }

  • #2
    Das ganze würde ich mit einer Switch-Case-Abfrage lösen, er scheint dir hier aus einem Grunde in die IF-Abfrage reinzuspringen und da dort noch keine Werte festgelegt sind bringt er natürlich die Meldungen.

    Kommentar


    • #3
      Re: Überprüfung bei Update!

      Original geschrieben von tomtherock
      So sobald der submit Button gedrückt wurde, hier der Code:
      <input type="submit" name="submit" value="ok" alt="Beitrag editieren">
      hab ich ja nun auch die Varibale $submit die jetzt ja einen Wert
      hat "submit".
      Die Variable submit hat den Wert "ok" und nicht "submit".
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        aber das ist doch egal er fragt den Wert der Variablen nicht ab er fragt nur ob sie einen Wert hat

        Kommentar


        • #5
          ja das hab ich mir auch gedacht was andere wäre wenn ich abfragen würde:
          IF ($submit == "submit")

          ich frage ja nur ab ob die Variable $submit einen wert hat und das hat sie ja nämlich "ok"...
          PHP-Code:
          IF ($submit == "submit"

          Kommentar


          • #6
            poste bitte mal den kompletten Code der Seite

            Kommentar


            • #7
              poste ihn gleich mir is grad nurnoch eine neue Variante eingefallen bevor ihr euch jetzt die arbeit macht den Code durch zu schauen ;-).

              gebt mir 10 min ;-).

              mfg Tom

              Kommentar


              • #8
                tja, dann scheint dein submit schon einen wert zu haben...
                vielleicht von nem anderen formular? ich würde statt
                if($submit)
                lieber
                if($eintrag||$thema) nehmen...
                oder du machst noch nen 'input type=hidden...' in dein formular und checkst den dann...
                eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                Kommentar


                • #9
                  mhhh weiss ned funktioniert irgendwíe auch ned...
                  hab jetzt wie du gesagt hast als überprüfung $thema & $eintrag
                  hergenommen...
                  Naja wenigstens zeigt er jetzt am Anfang nicht gleich die Fehlermeldungen an.
                  Leider zeigt ihr mehr aber jetzt auch keine an wenn ich zb eintrag alles rauslösch und dann auf submit geh...
                  Was vorhin wenigstens gint :-(.
                  Probier jetzt noch schnell die andere Variante und wenn das nicht hinaut post ich mal das script wenn´s euch nichts aus macht :d.

                  Kommentar


                  • #10
                    Also ich geb auf hier der Quellcode, allerdings zeigt er mir hier nicht gleich eine Fehlermeldung und auch nicht wenn ich ein Feld nicht ausfülle. Er refresht die seit lediglich aber an sich klappt die überprüfung nur eben gibt er keine Fehlermeldung aus :

                    <?php

                    include("include/verbindung.php");

                    ?>

                    <html>
                    <head>
                    <title>Edit</title>
                    </head>
                    <body bgcolor="#FFFFFF">

                    PHP-Code:
                    <?php

                    if ($submit){
                    // Der Submit - Button wurde gedrückt 
                    //            -> die Werte müssen überprüft
                    // und bei Gültigkeit in die DB eingefügt werden

                      // wir gehen von der Gültigkeit der Daten aus
                      
                    $DatenOK 1;
                      
                      
                    // es gab noch keine Fehlermeldung
                      
                    $error "";
                      
                      if (
                    $thema == ""){
                        
                    // es wurde kein Name eingegeben
                        
                    $DatenOK 0;
                        
                    $error .= " forgot Thema?<br>\n";
                      }
                      
                      if (
                    $eintrag == ""){
                        
                    // es wurde kein Komementar eingegeben
                        
                    $DatenOK 0;
                        
                    $error .= "forgot Text?<br>\n";

                      }
                      
                      if (
                    $DatenOK){

                    mysql_query("update $tbl set name = '$current_thema', eintrag = '$current_eintrag' where id = '$id'");

                        echo 
                    mysql_error();

                        
                    // Daten waren OK -> 
                        
                            
                    echo "<meta http-equiv=\"refresh\" content=\"1; URL=admin.php\">\n";
                        echo 
                    "<a href=\"admin.php\" align=\"center\"><h4>wait a moment...</h4></a>\n";
                        
                        die();
                      }
                      
                    }
                    ?>

                    <?php

                    $res 
                    mysql_query("select id, date_format(datum, '%d.%m.%Y') as datum, name, eintrag 
                                        from 
                    $tbl where id = '$id'
                                        order by datum desc"
                    );
                                        
                    $row=mysql_fetch_object($res);
                    mysql_free_result($res);
                                        
                    echo 
                    mysql_error();

                    $id htmlentities(addslashes(chop($id)));

                    $current_thema   $row->name;
                    $current_datum   $row->datum;
                    $current_eintrag str_replace("<BR>""\n"$row->eintrag);

                    ?>
                    <br>
                     <?php
                    if ($submit && !$DatenOK){
                      
                    // Das Formular wurde schon abgeschickt aber die Daten
                      //  waren nicht OK
                      // -> Fehlermeldung ausgeben
                      
                    echo "<h2>Fehler:</h2>\n";
                      echo 
                    $error;
                    }

                    // Formular anzeigen
                    ?>   
                    <form action="<?php echo $PHP_SELF?>" method="GET">

                    <?php
                        $string
                    ;
                         
                    printf("<h4>Post Number: $id</h4>");

                         
                    printf("<p align=\"left\"><b>Thema:</b> $current_thema<br><b>News of:</b> $current_datum</p>\n");

                         
                    printf("<p align=\"center\"><b>Orginaltext:</b><br><hr>$current_eintrag<br><hr></p>\n");

                    ?>

                    <h4 align="CENTER">editierter Text:</h4>
                    <b>Thema: </b><input type="text" name="thema" size="20" value="<?php echo $current_thema?>"><br>
                    <input type="hidden" name="current_datum" size="20" value="<?php echo $current_datum?>">
                    <p align="center"><textarea rows="10" cols="50" wrap="virtual" name="eintrag">
                    <?php echo $current_eintrag?>
                    </textarea></p>

                    <type="text" name="id" value="<? echo $id; ?>"> 
                    <input type="hidden" name="id" size="4" value="<?php echo $id?>">
                    <p align="Center"><input type="submit" name="submit" value="ok" alt="Beitrag editieren"><br><br>
                    <a href="admin.php"><img src="../back_post.gif" border="0"></a>
                    </p></form>

                    </body>
                    </html>

                    Kommentar

                    Lädt...
                    X