abfrage nur zum teil...

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

  • abfrage nur zum teil...

    hallo ihr php-junkys (mich erwischts auch grad),
    bau da grad nen forum. hab da jetzt mein eingabeform mit überprüfung.
    drei pflichfelder: name, betreff, comments und ne checkbox falls er per mail benachrichtigt werden soll. ich überprüfe die pflichtfelder und geb nen fehler aus, wenn etwas fehlt. gibt er freiwillig ne mail an, wird diese auch überprüft (@ und pipapo usw.) ich überprüfe auch ob ne mail da ist, wenn er den haken für mail-benachrichtigung gesetzt hat. klappt auch alles. nur wenn die pflichtfelder ausgefüllt sind, überprüft er nicht mehr die mail bzw. die checkbox.komisch!!!! finde den fehler nicht, ist vielleicht etwas unübersichtlich, kanns aber nocht nicht so! hier ist mal der code, wenn jemand zeit findet, mal ein blick drauf zu werfen!?!?!?!?!
    vielen dank!
    PHP-Code:
        $comments_err="Posting: ";
        
    $name_err="Name: ";
        
    $betreff_err="Betreff: ";
        
    $email_err="E-Mail Adresse: ";
        
    $stern="";
        
    $sternemail="";
        
    $sternemail_b="";
        
    $fehler="FEHLER:";

    if  (isset(
    $cmd)  &&  $cmd  == "send"){//überprüfen des Formulars
        
    if ((empty($name))or(empty($comments)) or (empty($betreff))){
        if (empty(
    $name)){
        
    $name="";$name_err="Name:<span class=\"gelb\">*</span>";
        
    $stern="<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
        }else{
    $name_err="Name: ";}

        if (empty(
    $comments)){
        
    $comments="";$comments_err="Posting:<span class=\"gelb\">*</span>";
        
    $stern="<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
        }else{
    $comments_err="Posting: ";}

        if (empty(
    $betreff)){
        
    $betreff="";$betreff_err="Betreff:<span class=\"gelb\">*</span>";
        
    $stern="<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
        }else{
    $betreff_err="Betreff: ";}

        if(
    $email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/"$email)){
            
    $email_err="E-Mail Adresse:<span class=\"gelb\">*</span>";
            
    $stern="<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
            
    $sternemail="<span class=\"gelb\">* </span>Bitte Überprüfen Sie Ihre E-Mail Adresse auf Richtigkeit!";
            }else{
            
    $email_err="E-Mail Adresse: ";
            }
        if ((isset(
    $email_b)) && (empty($email))){
            
    $email="";$email_err="E-Mail Adresse:<span class=\"gelb\">*</span>";
            
    $stern="<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
            
    $sternemail_b="<span class=\"gelb\">* </span>Wenn Sie benachrichtigt werden wollen, geben Sie ein E-Mail an!";
            }else{
            
    $email_err="E-Mail Adresse: ";
            }
        if ((
    $stern !="") || ($sternemail !="") || ($sternemail_b !="")){
        
    $echofehler "<br><div style=\"margin-left:10px;\" class=\"error\">\n".$fehler."</div>";
        if (
    $stern !=""){
        
    $echostern "<br><div style=\"margin-left:10px;\" class=\"neu\">\n".$stern."</div>";}
        if (
    $sternemail !="") {
        
    $echosternemail "<br><div style=\"margin-left:10px;\" class=\"neu\">\n".$sternemail."</div>";}
        if (
    $sternemail_b !=""){
        
    $echosternemail_b "<br><div style=\"margin-left:10px;\" class=\"neu\">\n".$sternemail_b."</div>";}
        }
        }
        }else{
        if (
    ereg("^[url]http://[/url]",$url2)) {$url=$url2;}
        else{
    $url="http://".$url2;}}
    $name trim($name);
    $email trim($email);
    $url trim($url);
    $ort trim($ort);
    $betreff trim($betreff);
    $emailb trim($email_b);
    $comments trim($comments);
    $comments  =  addslashes($comments); 
    [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

  • #2
    Übersicht ist alles, ich habe nur mal den Code strukturiert, damit überhaupt was sehen kann.

    Du führst den Überprüfungszweig ja nur durch wenn mindestens eines dieser Felder empty ist.

    Wenn name leer ist oder comments leer ist oder betreff leer ist ...

    PHP-Code:
    <?
    $comments_err = "Posting: ";
    $name_err     = "Name: ";
    $betreff_err  = "Betreff: ";
    $email_err    = "E-Mail Adresse: ";
    $stern        = "";
    $sternemail   = "";
    $sternemail_b = "";
    $fehler       = "FEHLER:";

    if (isset($cmd) && $cmd == "send"){//überprüfen des Formulars
       if ((empty($name)) or (empty($comments)) or (empty($betreff))){
          if (empty($name)){
             $name     = "";
             $name_err = "Name:<span class=\"gelb\">*</span>";
             $stern    = "<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
          } else {
            $name_err  = "Name: ";
          }

          if (empty($comments)){
             $comments     = "";
             $comments_err = "Posting:<span class=\"gelb\">*</span>";
             $stern        = "<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
          } else {
            $comments_err  = "Posting: ";
          }

          if (empty($betreff)){
             $betreff     = "";
             $betreff_err = "Betreff:<span class=\"gelb\">*</span>";
             $stern       = "<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
          } else {
             $betreff_err = "Betreff: ";
          }

          if($email != "" and !preg_match("/^[^@]+@.+.D{2,5}$/", $email)){
             $email_err  = "E-Mail Adresse:<span class=\"gelb\">*</span>";
             $stern      = "<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
             $sternemail = "<span class=\"gelb\">* </span>Bitte Überprüfen Sie Ihre E-Mail Adresse auf Richtigkeit!";
          } else {
            $email_err   = "E-Mail Adresse: ";
          }

          if ((isset($email_b)) && (empty($email))){
             $email        = "";
             $email_err    = "E-Mail Adresse:<span class=\"gelb\">*</span>";
             $stern        = "<span class=\"gelb\">* </span>Die Felder mit <span class=\"gelb\">*</span> müssen ausgefüllt werden!";
             $sternemail_b = "<span class=\"gelb\">* </span>Wenn Sie benachrichtigt werden wollen, geben Sie ein E-Mail an!";
          } else {
            $email_err     = "E-Mail Adresse: ";
          }

          if (($stern !="") || ($sternemail !="") || ($sternemail_b !="")){
             $echofehler = "<br><div style=\"margin-left:10px;\" class=\"error\">\n".$fehler."</div>";
             if ($stern !=""){
                 $echostern = "<br><div style=\"margin-left:10px;\" class=\"neu\">\n".$stern."</div>";
             }
             if ($sternemail !="") {
                 $echosternemail = "<br><div style=\"margin-left:10px;\" class=\"neu\">\n".$sternemail."</div>";
             }
             if ($sternemail_b !=""){
                $echosternemail_b = "<br><div style=\"margin-left:10px;\" class=\"neu\">\n".$sternemail_b."</div>";
             }
          }
       }
    } else {
       if (ereg("^<a href="http://" target="_blank">[url]http://[/url]</a>",$url2)) {
          $url=$url2;
       } else {
          $url="http://".$url2;
       }
    }

    $name     = trim($name);
    $email    = trim($email);
    $url      = trim($url);
    $ort      = trim($ort);
    $betreff  = trim($betreff);
    $emailb   = trim($email_b);
    $comments = trim($comments);
    $comments = addslashes($comments);

    Kommentar


    • #3
      na klar.......

      stimmt! habs korrigiert! danke!
      naja, manchmal siehst du den wald vor lauter bäume nicht!!!
      mfg eddi
      [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

      Kommentar


      • #4
        noch ne frage....

        weißt du wie ich den haken in der checkbox erhalten kann?so daß er nach der überprüfungs des forms noch drin ist!
        <input type="checkbox" name="email_b" value="true">
        mfg eddi
        [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

        Kommentar


        • #5
          <input type="checkbox" name="email_b" value="true" <?if ($email_b == "true") {print "checked";}?>>

          Kommentar


          • #6
            aha....

            sowas geht, ich bin hocherfreut und werde es gleich probieren!
            vielen dank...mfg eddi
            [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

            Kommentar


            • #7
              geile sache.....

              Original geschrieben von hand
              <input type="checkbox" name="email_b" value="true" <?if ($email_b == "true") {print "checked";}?>>
              für mein verständnis, ich will ja wissen was ich mache!
              wo kommt das checked her?

              danke sehr!
              [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

              Kommentar


              • #8
                Naja, wenn die Checkbox deaktiviert sein soll sieht der html Tag so aus:
                <input type="checkbox" name="email_b" value="true">

                wenn die Checkbox aktiviert sein soll, muß der Tag so aussehen:
                <input type="checkbox" name="email_b" value="true" checked>

                Wenn Also die Variable $email_b den Inhalt "true" hat wurde zuvor die Checkbox aktiviert, und es soll "checked" in den Tag eingefügrt werden. Deshalb der if im Tag:
                <?if ($email_b == "true") {print "checked";}?>

                Das alles zusammen ergibt:
                <input type="checkbox" name="email_b" value="true" <?if ($email_b == "true") {print "checked";}?>>

                Kommentar


                • #9
                  okay, alles klar

                  vielen dank!
                  mfg eddi
                  [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                  Kommentar

                  Lädt...
                  X