Auf checkbox prüfen

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

  • Auf checkbox prüfen

    Moin,

    ich möchte, wenn die checkbox gesetzt ist, ein ja in die Datenbank schreiben und wenn sie nicht gesetzt ist, ein nein.
    Ich kann einwandfrei in die Datenbank schreiben, nur die Prüfung ob die checkbox gesetzt ist funktioniert nicht, da er immer ja reinschreibt.Was habe ich falsch gemacht?

    Ich möchte zusätzlich, wenn das Formular ausgefüllt ist eine Druckversion anbieten wo, die Inhalte nicht mehr in der Textbox stehen und somit nicht mehr verändert werden können. Wie mache das?

    Ich danke schon mal für die antworten.

    PHP-Code:
    <?php
    function validateFormField($name$bezeichnung$required 0) {
        
    // Wenn das Feld nicht ausgef&uuml;llt wurde, gibt es zwei M&ouml;glichkeiten...
        
    if (!isset($_POST[$name]) || trim($_POST[$name]) == "") {
            
    // Pflichtfeld: FEHLER!!
            
    if ($required == 1) {
                
    $out "";
                
    // $GLOBALS['msgArr'][] = new Msg('Bitte das Feld \''.$bezeichnung.'\' ausf&uuml;llen!', 1);
                // Kein Pflichtfeld: Na gut, weiter.
            
    } else {
                
    $out "";
            }
            
    // Formular wurde vorbildlich ausgefuellt :-)
        
    } else {
            
    $out trim(str_replace('<''&lt;'$_POST[$name]));
        }
        
        return 
    $out;
    }

    //Funktion einbinden
    require_once ('inc.functions.php');
    //Datenbank verbinden
    require ('db_connect.php');

    //Variablen Definition
    $vorname '';
    $personen_id '';
    $geraet_id '';
    $durchwahl '';
    $handynummer '';
    $person_id '';
    $id '';
    $geraettyp '';
    $row '';

    // Submit-Schaltfläche der Eingabemaske wurde betätigt
    if (isset($_POST['submit_mitarbeitereingabe']) && $_POST['submit_mitarbeitereingabe']) {
        
        
    $vorname validateFormField('vorname''vorname'1);
        
    $nachname validateFormField('nachname''nachname'1);
        
    $geburtsdatum validateFormField('geburtsdatum''geburtsdatum'1);
        
    $ort validateFormField('ort''ort'1);
        
    $molfseevalidateFormField('molfsee''molfsee'0);
        
    $airbusvalidateFormField('airbus''airbus'0);
        
        If (
    $molfsee"ja" )
            {
                
    $molf"ja";
            } 
        If (
    $molfsee"nein" )
            {
                
    $molf="nein";
            }
        
        If (
    $airbus=  "ja")
            {
                
    $airbus"ja";
            } 
            Else 
            {
                
    $airbus="nein";
            }
        
        
    //SQL statement zum Befüllen der Datenbank-Tabelle Handy mit dem Inhalt der Benutzereingaben
        
        
    $sql "         
              INSERT INTO `verantstaltungen`(`vorname`,`name`,`ort`,`geburtsdatum`,`molfsee`,`hamburg`)
              Values('"
    .$vorname."','".$nachname."','".$ort."','".$geburtsdatum."','".$molf."','".$airbus."')";
        
        
    $msg 'Die Verantstaltung wurde angemeldet';
        
        
    // SQL-Kommando ausführen
        
    $db_erg mysql_query($sql) or die(mysql_error().':<pre>'.$sql.'</pre>');
         @
    header('Location: http://'.$_SERVER['HTTP_HOST'].'/auto/redirect.php?ref='.$_SERVER['PHP_SELF'].'&msg='.$msg);

        echo 
    $msg;
       if (
    $_GET['msg'] != '') {
            echo 
    $_GET['msg'];
        }
    }

    //Onlineformular zum füllen der Handy-Tabelle
    ?>
    <html>
        <head>
        </head>
        <body>
            <form id="form" name="form" method="post">
                <!--<table border="0" cellpadding="1" cellspacing="2">--><b>Formular zum Anmelden bei Verantstaltungen</b>
                <table width="100%">
                    <tr>
                        <td>
                            Vorname 
                        </td>
                        <td>
                            <input name="vorname" size="30" type="text" value="<?= $vorname ?>">
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Nachname: 
                        <td><input name="nachname" size="30" type="text" value="<?= $nachname ?>"></td>     
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Ort: 
                        <td><input name="ort" size="30" type="text" value="<?= $ort ?>"></td>     
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Geburtsdatum: 
                        </td>
                        <td>
                            <input name="geburtsdatum" size="30" type="text" value="<?= $geburtsdatum ?>">
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Verantstaltung: 
                        </td>
                   </tr> 
                           <tr>    <input name="molfsee" size="30" type="checkbox" value="<?= $molfsee?> ' checked' : ''">Molfsee
                        <tr>    <input name="airbus" size="30" type="checkbox" value="<?= $airbus?> ' checked' : ''">Airbus
                        </td>
                    </tr>
                    
                    <tr>
                        <td colspan="2">
                            <input name="submit_mitarbeitereingabe" type="submit" value="Abschicken">
                        </td>
                    </tr>
                    </tabel>
                    
                </form>
                </body>
            </html>
    Gruß Niklas

  • #2
    Sorry wegen dem Doppelpost, bitte diesen Beitrag löschen wenn ein Mod/Admin vorbeischaut.
    Zuletzt geändert von mkb_webprint; 06.08.2009, 15:57.

    Kommentar


    • #3
      Zitat von Sakin Beitrag anzeigen
      PHP-Code:
      If ($molfsee"ja" )
      {
      $molf"ja";

      If (
      $molfsee"nein" )
      {
      $molf="nein";
      }
       
      If (
      $airbus"ja")
      {
      $airbus"ja";

      Else 
      {
      $airbus="nein";

      Der schreibt immer Ja rein, weil du den Variablen immer Ja als Wert gibts! Es muss heissen
      PHP-Code:
      if($variable == 'ja') {
          
      $variable2 "ja";

      Ok?
      Zuletzt geändert von mkb_webprint; 06.08.2009, 15:58.

      Kommentar


      • #4
        Moin,

        er trägt nun leider weder ja noch nein in die Datenbank, egal ob die Box markiert ist oder nicht.

        Gruß Niklas

        Kommentar


        • #5
          Moin,

          dass ist die Lösung:

          PHP-Code:
          If ($molfsee== true )
                  {
                      
          $molf"ja";
                  } 
              Else
                  {
                      
          $molf="nein";
                  }
              
              If (
          $airbus==  true)
                  {
                      
          $airbus"ja";
                  } 
                  Else 
                  {
                      
          $airbus="nein";
                  } 
          Danke für den Tipp.
          Ich weiß nur noch nicht wie ich es mit dem Druckformular löse.

          Gruß Niklas

          Kommentar


          • #6
            Von dem Code ausgehend den du gepostet hast, wäre es eine Möglichkeit die eingegebenen Werte in ner Session zu speichern, unter deinem Formular einen Link zu machen "Druckansicht" und der führt auf eine Seite / oder öffnet eine Seite in nem Popup.

            Die Seite liest die relevanten Daten aus der Session aus und gibt sie schön formatiert mit dem wunderbaren PHP Befehl "echo" aus, ohne viel Farbschnickschnack.

            Kommentar


            • #7
              Wie speicher ich es den in einer Session und rufe sie dann später auf.
              Ich habe versucht mich einzulesen, aber nicht rausgefunden was ich ändern müsste.

              Kommentar


              • #8
                Checkbox - probleme beim übergeben

                hallo ich hab auch ein problem mit meinen checkboxen, deswegen schreib ich hier bevor ich wieder en neuen thread aufmache! also idee ist eine benutzerverwaltung und wenn ich jetzt aus der liste eine checkbox anklicke sollen die daten der angeklickten reihe auf der nächsten seite angezeigt werden. debugger hab ich durchlaufen lassen also es sind keine größeren fehler mehr im script! bin noch ziemlich neu in sachen php und deswegen komm ich wahrscheinlich nicht alleine drauf! wäre schön wenn mir jemand weiterhelfen könnte
                ich poste einfach ma meinen code

                Code:
                <?php
                error_reporting(E_ALL);
                session_start();
                
                $c = mysql_connect('localhost', 'root', '') or die(mysql_error());
                    mysql_select_db('schulbibliothek') or die(mysql_error());
                    
                    $sql = mysql_query("SELECT * FROM user");
                  
                    #$query = mysql_query($sql) or die(mysql_error());
                        
                 $treffer = mysql_num_rows($sql);   
                  if($treffer > 0) 
                  {
                         echo '<strong>Zurzeit sind <strong>' . $treffer . ' Benutzer im System registriert!</strong><br>';
                   echo '<br>';
                     }
                   echo '<br>';
                   echo '<form action="profil_bearbeiten.php" method="POST">'; 
                   echo '<div align="center">';
                   echo '<table border=\"0\" cellpadding=\"10\">';
                   echo '<tr>';
                   echo '<br>';
                   echo '<td><a href="profil_bearbeiten.php" target="mainFrame"><center><input type="submit" name="profil_bearb" value="Profil bearbeiten"></center></a></td>';
                   echo '<td><a href="user_loeschen.php" target="mainFrame"><center><input name="user_loe" type="button" value="User l&ouml;schen"></center></a></td>';
                   echo '<td><a href="mahnungen.php" target="mainFrame"><center><input name="mahnung" type="button" value="Mahnungen anzeigen"></center></a></td>';
                   echo '<td><a href="liste_ausgeliehen.php" target="mainFrame"><center><input name="liste_ausg" type="button" value="Liste ausgeliehener B&uuml;cher"></a></center></td>';
                   echo '<td><a href="liste_reserviert.php" target="mainFrame"><center><input name="liste_res" type="button" value="Liste reservierter B&uuml;cher"></center></a></td>';
                   echo '</tr>';
                   echo '</table>';
                   echo '</div>';
                   
                   echo '<br>';
                   
                   echo '<div align="center">';   
                   echo '<table border=\"1\">';
                   echo '<tr>';
                   echo '<th scope=\"col\">Auswahl</th>';
                   echo '<th scope=\"col\">ID</th>';
                      echo '<th scope=\"col\">Nachname</th>';
                   echo '<th scope=\"col\">Vorname</th>';
                   echo '<th scope=\"col\">Stra&szlig;e</th>';
                   echo '<th scope=\"col\">PLZ</th>';
                   echo '<th scope=\"col\">Wohnort</th>';
                   echo '<th scope=\"col\">Geburtsdatum</th>';
                   echo '<th scope=\"col\">Telefonnummer</th>';
                   echo '<th scope=\"col\">Email Adresse</th>';
                   echo '<th scope=\"col\">Benutzername</th>';
                   echo '<th scope=\"col\">Rechte</th>';
                   echo '</tr>';
                   
                   while($r = mysql_fetch_array($sql, MYSQL_ASSOC)) 
                   {
                    echo '<tr>';
                    echo '<td><center><input name="control[]" value='.$r['id'].' type="checkbox"></center></td>';
                    echo '<td><center>'. $r['id'] .'</center></td>';
                    echo '<td><center>'. $r['name'] .'</center></td>';
                    echo '<td><center>'. $r['vorname'] .'</center></td>';
                    echo '<td><center>'. $r['strasse'] .'</center></td>';
                    echo '<td><center>'. $r['plz'] .'</center></td>';
                    echo '<td><center>'. $r['wohnort'] .'</center></td>';
                    echo '<td><center>'. $r['gebdatum'] .'</center></td>';
                    echo '<td><center>'. $r['telefonnummer'] .'</center></td>';
                    echo '<td><center>'. $r['mail'] .'</center></td>';
                    echo '<td><center>'. $r['username'] .'</center></td>';
                    echo '<td><center>'. $r['rechte'] .'</center></td>';
                             echo '</tr>';
                   }
                
                  echo '</table>';
                  echo '</form>';
                  echo '</div>';
                ?>

                Kommentar


                • #9
                  Zitat von Killersocke Beitrag anzeigen
                  hallo ich hab auch ein problem mit meinen checkboxen, deswegen schreib ich hier bevor ich wieder en neuen thread aufmache! also idee ist eine benutzerverwaltung und wenn ich jetzt aus der liste eine checkbox anklicke sollen die daten der angeklickten reihe auf der nächsten seite angezeigt werden. debugger hab ich durchlaufen lassen also es sind keine größeren fehler mehr im script! bin noch ziemlich neu in sachen php und deswegen komm ich wahrscheinlich nicht alleine drauf! wäre schön wenn mir jemand weiterhelfen könnte
                  ich poste einfach ma meinen code
                  Das ist löblich nicht noch einen Thread aufzumachen, nur sollten wir erstmal Problem 1 lösen bevor wir Problem 2 angehen ;-) So kommt man nur durcheinander.

                  Kommentar


                  • #10
                    checkboxen

                    welches 2. problem?^^ mein einziges problem ist das meine werte net übergeben werden. wo hast du jetzt noch ein 2. problem rausgelesen?^^

                    Kommentar


                    • #11
                      Zitat von Killersocke Beitrag anzeigen
                      welches 2. problem?^^ mein einziges problem ist das meine werte net übergeben werden. wo hast du jetzt noch ein 2. problem rausgelesen?^^
                      Problem 1 = Problem des Thread-Starters
                      Problem 2 = Dein Problem
                      ----------------------------------------
                      Problem 3 = Vermischt die Diskussion, hier soll vorwiegend dem Thread-Starter geholfen werden. Wenn Sakin geholfen ist kommt Problem 2 dran, ok?

                      Kommentar


                      • #12
                        Zitat von mkb_webprint Beitrag anzeigen
                        Problem 3 = Vermischt die Diskussion, hier soll vorwiegend dem Thread-Starter geholfen werden. Wenn Sakin geholfen ist kommt Problem 2 dran, ok?
                        Das Problem des Threadstarters wurde bereits gelöst. Und zum Druckformular hat er sich nicht weiter geäußert. Du kannst dich also ruhig Killersocke annehmen.

                        Peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          Zitat von Killersocke Beitrag anzeigen
                          welches 2. problem?^^ mein einziges problem ist das meine werte net übergeben werden. wo hast du jetzt noch ein 2. problem rausgelesen?^^
                          Poste doch mal bitte den Code des Scripts, das die Daten entgegen nehmen soll.

                          Kommentar


                          • #14
                            Checkboxen

                            sry war leider übers we net da aber hier is der code von dir verlangte code

                            Code:
                            <?php
                            #error_reporting(E_ALL);
                            session_start();
                            var_dump($_POST);
                            $c = mysql_connect('localhost', 'root', '') or die(mysql_error());
                                mysql_select_db('schulbibliothek') or die(mysql_error());
                                
                            if(isset($_POST["name"]))
                            {
                              echo '<form action=\"verwaltung.php\" method=\"post\">';  
                              echo '<div align="center">';
                              echo '<table border=\"1\">';
                              echo '<tr>';
                                 echo '<th scope=\"col\">Nachname</th>';
                              echo '<th scope=\"col\">Vorname</th>';
                              echo '<th scope=\"col\">Stra&szlig;e</th>';
                              echo '<th scope=\"col\">PLZ</th>';
                              echo '<th scope=\"col\">Wohnort</th>';
                              echo '<th scope=\"col\">Geburtsdatum</th>';
                              echo '<th scope=\"col\">Telefonnummer</th>';
                              echo '<th scope=\"col\">Email Adresse</th>';
                              echo '<th scope=\"col\">Benutzername</th>';
                              echo '<th scope=\"col\">Rechte</th>';
                              echo '</tr>';
                             
                              foreach($_POST["control[]"] as $entry)
                              {
                               $sql = mysql_query("SELECT * FROM user WHERE id ='".$entry."'");
                               //print_r($_POST);
                             
                               while($r = mysql_fetch_array($sql, MYSQL_ASSOC)) 
                               {
                                echo '<tr>';
                                echo '<td><center>'. $r['name'] .'</center></td>';
                                echo '<td><center>'. $r['vorname'] .'</center></td>';
                                echo '<td><center>'. $r['strasse'] .'</center></td>';
                                echo '<td><center>'. $r['plz'] .'</center></td>';
                                echo '<td><center>'. $r['wohnort'] .'</center></td>';
                                echo '<td><center>'. $r['gebdatum'] .'</center></td>';
                                echo '<td><center>'. $r['telefonnummer'] .'</center></td>';
                                echo '<td><center>'. $r['mail'] .'</center></td>';
                                echo '<td><center>'. $r['username'] .'</center></td>';
                                echo '<td><center>'. $r['rechte'] .'</center></td>';
                                echo '</tr>';
                               }
                              
                              }
                              
                              echo '</table>';
                              echo '</form>';
                              echo '</div>';
                            }
                            else
                            {
                             echo "Bitte w&auml;hlen Sie einen Benutzer aus!";
                            }
                               
                            
                            ?>

                            Kommentar

                            Lädt...
                            X