kostenloser Webspace werbefrei: lima-city


Checkbox, prüfen ob ein Haken gesetzt wurde

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m*******t

    also,
    ich möchte auf meiner Homepage eine Anmeldung einbauen. In der auch eine Checkbox ist. Es soll dann in der datei Anmeldung_prüfen.php irgendwie geprüft werden (möglichst mit if Funktion) ob man den Hacken in die Checkbox gemacht hat.

    <form method="post" action="Anmeldung_prüfen.php>
    <input type=checkbox name="Regeln" value="ok"> mit der Anmeldung akzeptiere ich die <a href="Regeln.php">Regeln</a><br>
    <input type="submit" value=" Anmelden ">
    </form>


    Danke schonmal im Voraus.
    Gruss
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    if($_POST["Regeln"] == "checked") {
     // Regeln wurden aktzeptiert
    } else {
     echo "Sorry, du musst die Regeln aktzeptieren";
    }
  4. t**********y

    trueweb schrieb:
    if($_POST["Regeln"] == "checked")


    ich hätte gesagt statt "checked" den value vom input.. also "ok", bin mir aber nicht sicher
  5. Autor dieses Themas

    m*******t

    Ok, danke, jetzt geht's.
    Es geht übrigens mit dem "ok", mit dem "checked" gings leider nicht.

    Gruss

    Beitrag zuletzt geändert: 22.1.2009 15:45:00 von moonfight
  6. t*****b

    moonfight schrieb:
    also,
    ich möchte auf meiner Homepage eine Anmeldung einbauen. In der auch eine Checkbox ist. Es soll dann in der datei Anmeldung_prüfen.php irgendwie geprüft werden (möglichst mit if Funktion) ob man den Hacken in die Checkbox gemacht hat.

    <form method="post" action="Anmeldung_prüfen.php>
    <input type=checkbox name="Regeln" value="ok"> mit der Anmeldung akzeptiere ich die <a href="Regeln.php">Regeln</a><br>
    <input type="submit" value=" Anmelden ">
    </form>


    Danke schonmal im Voraus.
    Gruss


    Jap hast recht, müsste aber so funktionieren wie ich geschrieben habe, wenn man das Value-Atribut nicht angegeben hat. Sorry, mein Fehler, hab ich übersehn ;)

    moonfight schrieb:
    Ok, danke.
    Genau das wusste ich eben nicht wie man das macht.

    Gruss


    Genau gleich von der Logik her:

    if($_POST["Regeln"] == "ok") { ...


    Beitrag zuletzt geändert: 22.1.2009 15:39:02 von trueweb
  7. Hallo,

    ich bin einigermaßen verzweifelt. Ich habe ein bestehendes Script erweitern wollen, aber irgendwie hab ich einen Knoten im Kopf...

    Ich möchte eine Checkbox (Einwilligung (if(kontaktFormular.einWilligung.value == "checked") {
    msg += "- Die Einwilligung fehlt.\n";)) abfragen, ob Haken gesetzt oder eben nicht, aber ich verwende sicher einen falschen Parameter.

    Anbei das Script:

    <?php
      
      $formularAnzeigen = false;
      if (!empty($_POST["senden"]) && (
          empty($_POST["vorName"]) ||
          empty($_POST["nachName"]) ||
          empty($_POST["eMail"]) ||
          empty($_POST["betreff1"]) ||
          empty($_POST["nachricht"]))) {
        $formularAnzeigen = true;
        echo '<span class="text"><strong>Bitte alle Pflichtfelder ausfuellen.</strong></span>';
      } else if (!empty($_POST["senden"]) &&
                 !isEmail($_POST["eMail"])) {
        $formularAnzeigen = true;  
        echo '<span class="text"><strong>Die E-Mail-Adresse ist nicht korrekt.<strong></span>';
      } else if (empty($_POST["senden"])) {
        $formularAnzeigen = true;  
      }
      if ($formularAnzeigen) {
    ?></P>
          <!-- .......................................................................... -->
          <!--                              Anfang Formular                               -->
          <!--                              ...............                               -->
          <!-- .......................................................................... -->
          <script language=JavaScript>
    <!--
     function isValid() { 
    
       var msg = "";
       
       if (kontaktFormular.eMail.value.indexOf("@") < 1 ||
           kontaktFormular.eMail.value.indexOf(".") < 1) {
         msg += "- Die E-Mail-Adresse ist syntaktisch nicht korrekt.\n";
       }
       
       if(kontaktFormular.vorName.value == "") {
         msg += "- Leeres Feld: Vorname:\n";
       }
    
       if(kontaktFormular.nachName.value == "") {
         msg += "- Leeres Feld: Nachname:\n";
       }
    
       if(kontaktFormular.betreff1.value == "") {
         msg += "- Leeres Feld: Betreff:\n";
       }
    
       if(kontaktFormular.nachricht.value == "") {
         msg += "- Leeres Feld: Nachricht:\n";
       }
    
       if(kontaktFormular.einWilligung.value == "checked") {
         msg += "- Die Einwilligung fehlt.\n";
       }
       
       if(msg == "") {
         return true;   
       }
       alert(msg);
       return false;
     }
    -->
        </script>
    </p>
    <form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
      <table width="430" border="0">
    <!--anfang Anrede-->    
        <tr>
          <td width="8" class="text">&nbsp;</td>
          <td width="99" class="text">
            <strong>Anrede:</strong>      </td>
          <td colspan="2">
            <select name="anrede" class="text">
              <option <?=($_POST['anrede']=='Herr')?'selected':''?>>Herr</option>
              <option <?=($_POST['anrede']=='Frau')?'selected':''?>>Frau</option>
            </select></td>
          </tr>
    <!--ende anrede-->
    <!--anfang vorName-->  
        <tr>
          <td class="text"><div align="center">*</div></td>
          <td class="text"><strong>
            Vorname:
          </strong></td>
          <td colspan="2">
          <input name="vorName" type="text" class="text" title="" value="<?=$_POST['vorName']; ?>" size="37" /></td>
          </tr>
    <!--ende vorName-->
    <!--anfang nachName-->    
        <tr>
          <td class="text"><div align="center">*</div></td>
          <td class="text"><strong>
            Nachname:
          </strong></td>
          <td colspan="2"><input name="nachName" type="text" class="text" title="" value="<?=$_POST['nachName']; ?>" size="37" /></td>
          </tr>
    <!--ende nachName-->
    <!--anfang eMail-->        
        <tr>
          <td class="text"><div align="center">*</div></td>
          <td class="text"><strong>
            Ihre E-Mail:
          </strong></td>
          <td colspan="2"><input name="eMail" type="text" class="text" id="eMail" title="" value="<?=$_POST['eMail']; ?>" size="37" /></td>
          </tr>
    <!--ende eMail-->
    <!--anfang betreff1-->
        <tr>
          <td class="text"><div align="center">*</div></td>
          <td class="text"><strong>
            Betreff:
          </strong></td>
          <td colspan="2"><input name="betreff1" type="text" class="text" id="betreff1" title="" value="<?=$_POST['betreff1']; ?>" size="37" /></td>
          </tr>
    <!--ende betreff1-->
    <!--anfang nachricht-->      
        <tr>
          <td class="text"><div align="center">*</div></td>
          <td class="text"><strong>
            Nachricht:
          </strong></td>
          <td colspan="2"><textarea name="nachricht" cols="37" rows="10" class="text" title=""><?=$_POST['nachricht']; ?></textarea></td>
          </tr>
    <!--ende nachricht-->
    <!--anfang kopie-->        
        <tr>
          <td class="text">&nbsp;</td>
          <td class="text"><strong>
            Kopie an Sie:
          </strong></td>
          <td colspan="2" align="left"><input name="kopie" type="checkbox" class="text" title="" value="checked" align="" <?=$_POST['kopie']; ?>></td>
          </tr>
    <!--ende kopie-->
    <!--anfang einwilligung-->        
        <tr>
          <td class="text" valign="top"><div align="center">*</div></td>
          <td valign="top" class="text"><strong>
            Einwilligung:
          </strong></td>
          <td width="31" valign="top" align="left"><input name="einWilligung" type="checkbox" class="text" title="" value="checked" align="" <?=$_POST['einWilligung']; ?>></td>
          <td width="274" valign="top" align="center" class="text"><p>Ich habe die <a href="datenschutz.html"><span class="textlink">Datenschutzerkl&auml;rung</span></a> zur Kenntnis genommen. Ich stimme zu, dass meine Angaben und Daten zur Beantwortung meiner Anfrage elektronisch erhoben und gespeichert werden.</p>
            <p><br />
                <strong>Hinweis:</strong> Sie k&ouml;nnen Ihre Einwilligung jederzeit f&uuml;r die Zukunft per E-Mail an <a href="mailto:info@XYZ,,de"><span class="textlink">info@XYZ.de</span></a> widerrufen.</p></td>
        </tr>
    <!--ende einwilligung-->
        <tr class="text">
          <td colspan="4">
            <div align="center">
              <input name="senden" type="submit" title="" value="Senden" />
            </div>      </td>          
          </tr>
      </table>
    </form>
    
    <?php
      echo'';
      } else {
        $eMail = '
            
    Anrede:
    '.$_POST['anrede'].'
            
    Vorname:
    '.$_POST['vorName'].'
            
    Nachname:
    '.$_POST['nachName'].'
            
    E-Mail:
    '.$_POST['eMail'].'
            
    Betreff:
    '.$_POST['betreff1'].'
            
    Nachricht:
    '.$_POST['nachricht'].'
            
    Kopie der Nachricht:
    '.$_POST['kopie'].'
            
    Einwilligung:
    '.$_POST['einWilligung'].'';
        
        if (@mail("info@XYZ.de",
             "Neue Nachricht vom Kontaktformular",
             $eMail)) {
          echo "Ihre Nachricht wurde Ann XYZ versandt. Vielen Dank!<br />"; 
        } else {
          echo "Der E-Mail-Verkehr funktioniert zur Zeit nicht.<br />";
        }
        if ($_POST['kopie']) {
          if (@mail($_POST['eMail'],
               "Dies ist die Kopie Ihrer Nachricht an XYZ.",
               $eMail)) {
            echo "Eine Kopie der von Ihnen verfassten Nachricht wurde an Sie versandt.<br />";
          }
        }
      }
      
      function isEmail($email) {
        $nonascii      = "\x80-\xff"; 
        $nqtext        = "[^\\$nonascii\015\012\"]";
        $qchar         = "\\[^$nonascii]";
        $protocol      = "(?:mailto:)";
        $normuser      = "[a-zA-Z0-9][a-zA-Z0-9_.-]*";
        $quotedstring  = "\"(?:$nqtext|$qchar)+\"";
        $user_part     = "(?:$normuser|$quotedstring)";
        $dom_mainpart  = "[a-zA-Z0-9][a-zA-Z0-9._-]*\.";
        $dom_subpart   = "(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*";
        $dom_tldpart   = "[a-zA-Z]{2,5}";
        $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
        $regex         = "$protocol?$user_part\@$domain_part";
        if (preg_match("/^$regex$/",$email)) {
          return true;
        }
        return false;
      }
    ?>




    Danke vorab für Eure hilfreichen Impulse.

    Beitrag zuletzt geändert: 12.1.2020 15:52:05 von littlejoe
  8. witze-dschungel

    witze-dschungel hat kostenlosen Webspace.

    @littlejoe

    Statt den Wert abzufragen solltest du die Eigenschaft checked abfragen. Siehe: https://www.w3schools.com/JSREF/prop_checkbox_checked.asp

    Das heißt, du musst diese Zeile:

    kontaktFormular.einWilligung.value == "checked"


    Mit dieser austauschen:

    kontaktFormular.einWilligung.checked == false


    Dann sollte es funktionieren.

    Beitrag zuletzt geändert: 13.1.2020 11:20:37 von witze-dschungel
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!