in einem Formular, Felder in den die Zahl 7 steht nicht überschreiben.

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

  • in einem Formular, Felder in den die Zahl 7 steht nicht überschreiben.

    Hallo
    Ich möchte in einem Aktualisierungsformular eine Funktion einstellen, die es verhindert, dass Felder in denen die Zahl 7 steht von diesem Formular überschrieben werden, während die anderen Felder überschrieben werden können.
    Ich habe es serverseitig schon mit einer if funktion versucht, das hat aber nich mal ansatzweise geklappt. vermutlich habe ich sie falsch eingesetzt..........
    kann mir jemand helfen?

  • #2
    Wie hast du denn die "If-Funktion" eingesetzt?!
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Zitat von unset Beitrag anzeigen
      Wie hast du denn die "If-Funktion" eingesetzt?!
      ich habe es so versucht, das ging aber gar nicht

      PHP-Code:
      if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form2")) {
        
      $updateSQL sprintf("UPDATE mitglieder_anmeldung SET Vorname=%s WHERE Nachname=%s",
                             if (
      $row_mitglieder_anmeldung['Vorname'] == ) { 
              } else {
              
      GetSQLValueString($_POST['Vorname'], "text"),
              }
              if (
      $row_mitglieder_anmeldung['Nachname'] == ) { 
              } else {
                             
      GetSQLValueString($_POST['Nachname'], "text"));
              }
        
      mysql_select_db($database_Mitglieder_Anmeldung$Mitglieder_Anmeldung);
        
      $Result1 mysql_query($updateSQL$Mitglieder_Anmeldung) or die(mysql_error());
        
      $updateGoTo "1111.php";
        if (isset(
      $_SERVER['QUERY_STRING'])) {
          
      $updateGoTo .= (strpos($updateGoTo'?')) ? "&" "?";
          
      $updateGoTo .= $_SERVER['QUERY_STRING'];
        }
        
      header(sprintf("Location: %s"$updateGoTo));

      Könnt ihr so etwas damit anfangen? oder soll ich er versuchen, deutlicher darzustellen?
      Zuletzt geändert von Alain_S_; 07.09.2009, 19:00.

      Kommentar


      • #4
        Soll das nicht überschrieben werden wenn da NUR eine '7' steht oder wenn in diesem Feld allgemein keine '7' steht?

        Kommentar


        • #5
          Das Formular soll erkennen, wenn in einem Feld eine 7 steht und dann dieses Feld nicht überschreiben aber die restlichen Felder in denen etwas anderes steht.

          Kommentar


          • #6
            Zitat von Alain_S_ Beitrag anzeigen
            Das Formular soll erkennen, wenn in einem Feld eine 7 steht
            Das macht's immer noch nicht klarer bzw. eindeutiger.

            Lies bitte die Rückfrage von medium22 noch mal, und beantworte sie dann so eindeutig, dass kein Interpretationsspielraum mehr bleibt.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Um es zu verdeutlichen...

              Beispielinhalte:
              1. hallo7bla
              2. 7
              3. hallo

              Die Frage war nun, ob 1. UND 2. nicht überschrieben werden sollen oder nur 2. ..

              Tip: PHP: preg_match - Manual

              Kommentar


              • #8
                Hallo,

                mal abgesehen von der Absicht mit der 7, erwähne ich mal nebenbei etwas, das noch keiner geschrieben hat: Das if ist an der Stelle syntaktisch gar nicht erlaubt, du meinst bestimmt den ternären Operator.

                Gruß,

                Anja
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  Zitat von medium22 Beitrag anzeigen
                  Um es zu verdeutlichen...

                  Beispielinhalte:
                  1. hallo7bla
                  2. 7
                  3. hallo

                  Die Frage war nun, ob 1. UND 2. nicht überschrieben werden sollen oder nur 2. ..

                  Tip: PHP: preg_match - Manual
                  nur 2. soll nicht überschrieben werden. 1. darf überschrieben werden.

                  zu AmicaNoctis:
                  Ja, das dachte ich mir schon, dass das nicht erlaubt ist, wusste aber keine Alternative und wollte deshalb hier nach anregungen fragen .
                  gruß
                  Zuletzt geändert von Alain_S_; 08.09.2009, 12:31.

                  Kommentar


                  • #10
                    Wie sieht dein aktueller Code aus, nachdem du jetzt den ternären Operator statt des if verwendest?
                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Kommentar


                    • #11
                      Ich habe das jetzt mal so versucht, das ist natürlich auch falsch.... ich weiß nicht genau, wo ist das einsetzen muss. Falls ich nicht ganz auf dem Holzweg bin :-/

                      PHP-Code:
                      if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
                        
                      $updateSQL sprintf("UPDATE christines_termine_2 SET Trainer=%s, Datum=%s, Mo_800_830=%s, Mo_830_900=%s, 
                      Mo_900_930=%s, Mo_930_1000=%s, Mo_1000_1030=%s, Mo_1030_1100=%s, Mo_1100_1130=%s, Mo_1130_1200=%s, 
                      Mo_1630_1700=%s, Mo_1700_1730=%s, Mo_1730_1800=%s WHERE fehlt=%s"
                      ,
                       
                                             
                      GetSQLValueString($_POST['Trainer'], "text"),
                                             
                      GetSQLValueString($_POST['Datum'], "text"),
                                             
                      GetSQLValueString = ($row_christines_termine_2['Mo_800_830'] == '7' )) ? '' $_POST['Mo_800_830'], "text"),; 
                      Zuletzt geändert von Alain_S_; 08.09.2009, 14:05.

                      Kommentar


                      • #12
                        Kannst du das bitte erstmal umbrechen?!? Edit: Danke!

                        Zwischen "?" und ":" fehlt was, nämlich die 7. (Wenn ? dann : sonst) und wenn der Wert 7 ist, soll er sich nicht ändern, darum musst du bei dann die 7 reinschreiben.
                        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                        Super, danke!
                        [/COLOR]

                        Kommentar


                        • #13
                          Zitat von AmicaNoctis Beitrag anzeigen
                          Kannst du das bitte erstmal umbrechen?!? Edit: Danke!

                          Zwischen "?" und ":" fehlt was, nämlich die 7. (Wenn ? dann : sonst) und wenn der Wert 7 ist, soll er sich nicht ändern, darum musst du bei dann die 7 reinschreiben.
                          Ok habe ich geändert, es muss aber noch ein größerer Fehler drin sein, er gibt mir diese #Fehlermeldung

                          Parse error: parse error in C:\Alain\Homepage\TC-Homepage\1111.php on line 49

                          line 49 ist die stelle, die ich geändert habe.

                          Kommentar


                          • #14
                            Zitat von Alain_S_ Beitrag anzeigen
                            Parse error: parse error in C:\Alain\Homepage\TC-Homepage\1111.php on line 49
                            Versuchst du bitte mal, selbst mitzudenken?

                            PHP-Code:
                            GetSQLValueString = ($row_christines_termine_2['Mo_800_830'] == '7' )) ? '' $_POST['Mo_800_830'], "text"),; 
                            Erstens ist GetSQLValueString eine Funktion und kann nicht mit = irgendwas zugewiesen bekommen. Zweitens kommt vor dem Semikolon kein Komma. Drittens musst du bei sprintf für jedes %s im Template auch ein zusätzliches String-Argument mitliefern, da fehlen also noch einige, viertens hab ich dir gesagt, dass zwischen ? und : eine 7 hin muss und nicht '', sonst überschreibst du die 7 ja doch wieder und zwar mit einem leeren String.

                            Außerdem ist der DB-Entwurf schlecht. Jede mögliche Uhrzeit als eigene Spalte? Hm...
                            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                            Super, danke!
                            [/COLOR]

                            Kommentar


                            • #15
                              Ja ich weiß, die DB ist nicht Perfekt, aber ich habe ja nich nur einen Trainer .... meine zweite HP wird besser ;-)

                              Ist es dann so richtig?? Ich habe noch zwei Klammern weggemacht, die waren glaube auch falsch.

                              PHP-Code:
                              $_POST 'Mo_830_900'] = ($row_christines_termine_2['Mo_830_900'] == '7' ) ? '7' $_POST['Mo_830_900'], "text"

                              meintest du das so?


                              PHP-Code:
                               if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
                                
                              $updateSQL sprintf("UPDATE christines_termine_2 SET Mo_830_900=%s, Trainer=%s, Datum=%s WHERE fehlt2=%s",
                                                     
                              GetSQLValueString($_POST['Mo_830_900'], "text")= ($row_christines_termine_2['Mo_830_900'] == '7' 
                              '7' $_POST['Mo_830_900'], "text";
                                                     
                              GetSQLValueString($_POST['Trainer'], "text"),
                                                     
                              GetSQLValueString($_POST['Datum'], "text"),
                                                     
                              GetSQLValueString($_POST['fehlt2'], "text"));
                                
                              mysql_select_db($database_Termintabelle$Termintabelle);
                                
                              $Result1 mysql_query($updateSQL$Termintabelle) or die(mysql_error());
                                
                              $updateGoTo "1111.php";
                                if (isset(
                              $_SERVER['QUERY_STRING'])) {
                                  
                              $updateGoTo .= (strpos($updateGoTo'?')) ? "&" "?";
                                  
                              $updateGoTo .= $_SERVER['QUERY_STRING'];
                                }
                                
                              header(sprintf("Location: %s"$updateGoTo));

                              Zuletzt geändert von Alain_S_; 08.09.2009, 19:48.

                              Kommentar

                              Lädt...
                              X