2 Variablen aus 16 Abfragen???

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

  • 2 Variablen aus 16 Abfragen???

    Hi,

    ich muss 16 Felder in einem Formular abfragen. Die Abfragen sind klar aber wie kann ich das ganze kürzen. Sind immerhin über 100k!?
    Hier ein ausschnitt:
    ..........................................................
    if ((isset($formclick)) and ($wsued != "")) {
    $wsuedok = TRUE;
    $str = $wsued;
    $wsued1=ersetzen($str);
    $wsued = $wsued1;
    if (!(eregi($infochk,$wsued)))
    {
    $wsuedok = FALSE;
    $schonda= $achtung. "<b>Fehler:</b><br>Unerlaubte Zeichen in wsued!<br>";
    }
    }else{
    $wsuedok = TRUE;
    }

    if ((isset($formclick)) and ($wnord != "")) {
    $wnordok = TRUE;
    $str = $wnord;
    $wnord1=ersetzen($str);
    $wnord = $wnord1;
    if (!(eregi($infochk,$wnord)))
    {
    $wnordok = FALSE;
    $schonda= $achtung. "<b>Fehler:</b><br>Unerlaubte Zeichen in wnord!<br>";
    }
    }else{
    $wnordok = TRUE;
    }
    ..............................

    Die var $wnordok und $wsuedok werden benötigt um das form zu checken und $wnord und $wsued um die einträge zu kontrollieren.

    Funzen tuts aber wie kriege ich das in EINE abfrage rein?

    DTC
    _____________________________
    Geht nich, gibts nich!

    http://www.crewguide.de
    http://www.unisingles.de
    http://www.studentenforum.de
    http://www.deadfreddies.de

  • #2
    Mit einem array.

    Kommentar


    • #3
      indem man unnötige Sachen wegläßt

      zB.
      PHP-Code:
      $str $wsued;
      $wsued1=ersetzen($str);
      $wsued $wsued1;
      if (!(
      eregi($infochk,$wsued)))
      ... 
      kann man auch kurz schreiben als
      PHP-Code:
      if (!eregi($infochk,ersetzen($wsued))) 
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        Is schon klar. Aber ich meinte eigentlich:

        Wie bekomme ich die BEIDEN abfragen in eine??
        wsued und wnord!

        DTC
        _____________________________
        Geht nich, gibts nich!

        http://www.crewguide.de
        http://www.unisingles.de
        http://www.studentenforum.de
        http://www.deadfreddies.de

        Kommentar


        • #5
          Wie stellst du dir das vor. Du kannst an deinem Script zwar unendlich viel kürzen, aber zusammenfassen lassen sich die beiden nicht, das sind doch zwei verschiedene Bedingungen. Aber dein Script dürfte enorm geschrumpft sein, wenn du mal ein bisschen an den zeichen sparst.

          Kannst was mit nem Elseif machen. Aber viel bringt das auch nicht.

          PS: Wenn dir schon klar war, dass man da was einsparen kann, warum machst du das nicht?

          Kommentar


          • #6
            Hilft dir das hier weiter? Das dürfte deinem Script entsprechen. Wenn man am rest genauso viel Kürzen kann, bist du am Ende bestimmt bei 15k.

            PHP-Code:
            $wsuedok TRUE
            $wnordok TRUE;

            if(isset(
            $formclick) {
                if((!empty(
            $wsued)) && (!(eregi($infochk,ersetzen($wsued))))) {
                    
            $wsuedok FALSE;
                    
            $schonda$achtung"<b>Fehler:</b><br>Unerlaubte Zeichen in wsued!<br>";
                    } elseif ((!empty(
            $wsued)) && (!(eregi($infochk,ersetzen($wsued))))) {
                    
            $wnordok FALSE;
                    
            $schonda$achtung"<b>Fehler:</b><br>Unerlaubte Zeichen in wnord!<br>";
                    }
                } 
            [EDIT]
            Hatte die letzte geschweifte Klammer vergessen.
            Zuletzt geändert von TobiaZ; 15.10.2002, 14:57.

            Kommentar


            • #7
              Die Fehlerausgabe kann man auch noch vereinfachen. Aber das ist etwas anderes. Es ging sich ja hier um die Abfrage.

              Kommentar


              • #8
                Ich hab es nur noch nicht gemacht weil ich eine möglichkeit suche die beiden abfragen zu "mergen".
                Das ist bei der entwicklung übersichtlicher für mich.

                Aber trotzdem DANKE erstmal.

                DTC
                _____________________________
                Geht nich, gibts nich!

                http://www.crewguide.de
                http://www.unisingles.de
                http://www.studentenforum.de
                http://www.deadfreddies.de

                Kommentar


                • #9
                  Was ist denn mit dem, was ich dir gegeben hab. das ist dein Text 1:1 umgesetzt in einen Teil zusammengefast und gekürzt.

                  Kommentar


                  • #10
                    Kann es im moment nicht testen, da ich meine Tochter "Bespielen" darf!
                    Melde mich morgen wieder.

                    Danke nochmal
                    DTC
                    _____________________________
                    Geht nich, gibts nich!

                    http://www.crewguide.de
                    http://www.unisingles.de
                    http://www.studentenforum.de
                    http://www.deadfreddies.de

                    Kommentar


                    • #11
                      Also,

                      sorry erstmal, denn ich hab wohl was wichtiges vergessen.

                      ersetzen ist eine "Funktion"
                      PHP:
                      function ersetzen($str) {
                      $str = ereg_replace("\r\n","<br>",$str);
                      return $str;
                      }

                      deshalb kann man es nur auf:

                      if ($wsued != "") {
                      $wsuedok = TRUE;
                      $wsued=ersetzen($wsued);
                      if (!(eregi($infochk,$wsued)))
                      ....

                      kürzen.

                      Mir ging es nur um die zusammenführung von 16 abfragen!!!
                      Aber jetzt bin ich immer noch bei 90k.


                      DTC
                      _____________________________
                      Geht nich, gibts nich!

                      http://www.crewguide.de
                      http://www.unisingles.de
                      http://www.studentenforum.de
                      http://www.deadfreddies.de

                      Kommentar


                      • #12
                        Und auch mit der Funktion kann man das noch kürzen.
                        Übergib den Parameter als Referenz, dann wird wused beschrieben.

                        PHP-Code:
                        function ersetzen(&$str) {
                           return 
                        $str=str_replace("\r\n","<br>",$str);
                           
                        // str_replace ist bei nicht regulären Ausdrücken schneller
                           // return Wert ist nur für eregi(...), wused ist auch ohne return geändert
                        }


                        if (
                        $wsued ) {
                           
                        $wsuedok TRUE;
                           
                        //$wsued=ersetzen($wsued);
                           
                        if (!eregi($infochk,ersetzen($wsued)))
                           
                        // für die Verneinung brauchste keine Klammer
                           // weniger Klammern => schnelleres Programm
                           
                        ....

                        TBT

                        Die zwei wichtigsten Regeln für eine berufliche Karriere:
                        1. Verrate niemals alles was du weißt!


                        PHP 2 AllPatrizier II Browsergame

                        Kommentar


                        • #13
                          Funzt so irgendwie nicht!

                          PHP:

                          function ersetzen($str) {
                          $str = str_replace("\r\n","<br>",$str);
                          }

                          $infochk = "^[a-z0-9\. @€:%*+´`’!|/#,_-]*$";

                          if ($wsued) {
                          $wsuedok = TRUE;
                          if (!eregi($infochk,ersetzen($wsued))) {
                          $wsuedok = FALSE;
                          $schonda= $achtung. "<b>Fehler:</b><br>Unerlaubte Zeichen in wsued!<br>";
                          }}

                          und den return brauche ich schon, sonst schreibt er es nicht in die db.
                          _____________________________
                          Geht nich, gibts nich!

                          http://www.crewguide.de
                          http://www.unisingles.de
                          http://www.studentenforum.de
                          http://www.deadfreddies.de

                          Kommentar


                          • #14
                            du hast was vergessen von meinem Code

                            function ersetzen([color=red]&[/color]$str) {
                            [color=red]return[/color] $str = str_replace("\r\n","<br>",$str);
                            }
                            TBT

                            Die zwei wichtigsten Regeln für eine berufliche Karriere:
                            1. Verrate niemals alles was du weißt!


                            PHP 2 AllPatrizier II Browsergame

                            Kommentar


                            • #15
                              Naja -
                              was ist wenn ich zusätzlich noch " und ' oder so ersetzen will??

                              aber es ging mir ja auch nicht ums kürzen allgemein sondern um das kürzen BZW. DAS ZUSAMMENFASSEN von wsued,wnord,..... insgesamt 16 der gleichen abfragen und bedingungen.

                              DTC
                              Zuletzt geändert von danthecan; 16.10.2002, 12:41.
                              _____________________________
                              Geht nich, gibts nich!

                              http://www.crewguide.de
                              http://www.unisingles.de
                              http://www.studentenforum.de
                              http://www.deadfreddies.de

                              Kommentar

                              Lädt...
                              X