Ergebnis 1 bis 10 von 10
  1. #1
    CIH-Virus
    Registriert seit
    24.12.2008
    Beiträge
    468

    Standard checkbox in datenbank abspeichern wie?

    Hallo

    ich will das mein fomular eine checkbox hat. die kann natürlich ausgewählt werden usw. wenn man auf senden klickt dann wird die auswahl in eine datenbank abgespeichert.

    wie macht man das?

    mfg


  2. #2

  3. #3
    CIH-Virus
    Registriert seit
    24.12.2008
    Beiträge
    468

    Standard

    das sagt mir jetzt nicht viel.

    da steht nur wie die checkbox aufgebaut ist. aber nicht wie die auswahl gesendet wird.

    kann einer ein kleines beispiel schreiben


  4. #4
    black cat Avatar von Barbers
    Registriert seit
    12.10.2007
    Beiträge
    296

    Standard

    ähm da steht doch die auswertung ...
    es wird quasi wie ein normaler input ausgewertet, hat aber dne vorteil das nur vorgegebene werte eintreten können ...
    PHP-Code:
    <?php
    $ausstattung_text 
    implode(', ',$ausstattung); //packt ein , zwischen die antworten
    echo '<p>Besondere Ausstattung:<br><br>'.$ausstattung_text.'</p>'//gibt den spaß aus
    ?>
    Ich find das is sehr einfach

  5. #5
    CIH-Virus
    Registriert seit
    24.12.2008
    Beiträge
    468

    Standard

    Also ich habe was gefunden mit dem ich besser zurecht komme.

    Code:
    <html> 
    <head><title>Online PHP-Kurs</title></head> 
    <body> 
    <h1>Formulare auswerten</h1> 
    <?  
    if (!empty($name)) {    // Formularauswerung 
     echo "Sie haben folgende Nachricht gesendet:<P>"; 
     echo "<B>Ihr Name:</B> $name<BR>"; 
     echo "<B>Variable:</B> $var2<BR>"; 
     echo "<FORM method=post action=f3.php>"; 
     echo "<INPUT type=submit value=\"Neue Nachricht senden?\">"; 
     echo "</FORM>"; 
    }  
    else 
    { 
    ?> 
    <H3>Namensabfrage</h3> 
    <FORM method=get action=f3.php> 
    Mein Name: 
    <INPUT type=text name=name size=50><br> 
    <? 
    // Nach Anwahl eines der 3 Radiobutton hat die Variable $var2 
    // beim nächsten Formularaufruf im if {} Teil den Wert "php", "asp" oder 
    // "perl" 
    ?> 
    PHP <INPUT type=radio name=var2 value=php> 
    ASP <INPUT type=radio name=var2 value=asp> 
    PERL <INPUT type=radio name=var2 value=perl> 
    <br> 
    Windows <INPUT type=radio name=bet value=php> 
    Linux <INPUT type=radio name=bet value=asp> 
    <br> 
    <INPUT type=submit value="Neue Nachricht senden?"> 
    </FORM> 
    <? 
    } 
    ?> 
    </body> 
    </html>
    Ist verständlicher für mich. Jetzt ist aber die frage wie ich das was ich ausgewählt habe in eine Datenbank abspeicher.


  6. #6
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Also ganz einfach...
    Du kannst jede Checkbox theoretisch auch als Text-Input darstellen. Die Checkbox / Radiobox / Select-Box hat jedoch den Vorteil, dass - wie schon gesagt - die Values (die Werte) vorselektiert sind und nicht so einfach verändert werden können.

    Nun, wie speichert man z.B. einen normalen Text-Input in die Datenbank?
    Man schaut sich an, mit welcher "method" das Formular übermittelt wird. Zwei stehen zur Auswahl: GET und POST, also entwededer per URL (GET) oder POST (unsichtbar "posten").
    Je nachdem stehen die Arrays $_GET und $_POST zur Auswahl, die man auswerten kann.

    Aber wie?
    Beispiel:

    HTML-Code:
    <form action="form.php" method="post">
    <input type="text" name="foo">
    <input type="submit" value="Speicher mich!">
    </form>
    Der Name des Text-Inputs heißt "foo" und die method des Formulars "post".

    PHP-Code:
    $blubb $_POST['foo']; 
    enthielte also den Wert des Textfeldes "foo", sofern etwas eingegeben wurde .

    Selbiges bei Checkboxen:

    HTML-Code:
    <form action="form.php" method="post">
    <input type="checkbox" value="1" name="agb">
    <input type="submit" value="Speicher mich!">
    </form>
    Hier hat sich nur verändert, dass das Input nun einen value (also einen Wert, 1) hat und der type "checkbox" ist. Den Namen habe ich in "agb" geändert, da sowas z.B. als "Bestätigen Sie, unsere AGB gelesen zu haben" genutzt werden kann.

    Ein komplettes Beispielformular. Ich mache sowas grundsätzlich per print in PHP.
    Ist nur ein Beispiel, ich weiß nicht, ob es zu 100% geht .

    PHP-Code:
    <?php

    if($_SERVER['REQUEST_METHOD'] != "POST") {

        print 
    "

            <form action='"
    .htmlentities($_SERVER['PHP_SELF'])."' method='post'>

                <label for='user'>Username: </label><input type='text' name='username'><br>
                <label for='pw'>Passwort: </label><input type='text' name='pw'><br>
                <label for='email'>Email: </label><input type='text' name='email'><br>
                <label for='hidden'>Hier markieren, wenn die Email nicht gezeigt werden soll!: </label><input type='checkbox' name='emailhide' value='1'><br><br>

                <input type='submit' value='Registrieren'>

            </form>

        "
    ;

    } else {

        
    $user $_POST['user'];
        
    $password md5($_POST['password']);
        
    $email $_POST['email'];
        
    $emailhide = ($_POST['emailhide'] ? $_POST['emailhide'] : "0");

        if(!
    $user OR !$password OR !$email OR !$emailhide) {

            print 
    "Sorry, bitte f&uuml;lle alle Felder aus!" and exit;

        }

        @include(
    "mysql_connect.php");
            
        
    $query "INSERT INTO mytable (user,password,email,emailhide) VALUES ('$user','$password','$email','$emailhide');";
        
    $insert mysql_query($query);

        if(
    $insert) {

            print 
    "Registrierung war erfolgreich" and exit;

        } else {

            print 
    "Upps... Da ist wohl ein Fehler aufgetreten o0";

        }

    }
            
    ?>
    Sollte man sich erschließen können, was das Script tut. Ist das, was Du suchst .
    Come to the dark side - We have cookies

  7. #7
    Trojaner
    Registriert seit
    05.12.2007
    Beiträge
    64

    Standard

    Speicher halt einfach die checkbox als true oder false in die db ab.
    Einfacher gehts ja wohl nich

    zum abspeichern einfach zur db connecten und einfügen

    Code:
    insert into tabelle ('show_mail') values ('$checkbox');
    oder halt dann update statt insert wenns den eintrag schon gibt.
    [Biete] Teamspeak- Server
    [Biete] Root- Server
    [Biete] Webspace
    [Biete] PHP Skripte / Homepages


    [Suche] FUD Crypter

  8. #8
    CIH-Virus
    Registriert seit
    24.12.2008
    Beiträge
    468

    Standard

    @Power-Sven: also codes funktionieren nicht

    ich poste mal meinen quelltext. evtl. wird es klar was ich brauche

    Es ist ein Fomular was das eingegebene in die Datenbank abspeichert.

    zu erst _mysql.php (hier stehen die verbindungsdaten drinne)

    Code:
    <?
    $dbname="sz_nutzeruebersicht";
    $dbhost="localhost";
    $dbuser="root";
    $dbpass="";
    mysql_connect($dbhost,$dbuser,$dbpass);
    mysql_select_db($dbname);
    ?>
    Das Fomular formular.html (hier wird alles eingegeben was der user braucht)

    Code:
    <html>
    <head>
    <title>Fomular</title>
    <link href="_css.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    .Stil1 {font-size: 19px}
    -->
    </style>
    </head>
    <body>
    <p>&nbsp;</p>
    <!--Script für die Aktivierung der Felder-->
    <script>
    function checkFields()
    {
    if( document.getElementById('Nachname').value.length > 3 && document.getElementById('Vorname').value.length > 3 && document.getElementById('Abteilung').value.length > 3 )
    { 
    document.getElementById('Ort').disabled = false; 
    document.getElementById('Firma').disabled = false;
    document.getElementById('tel').disabled = false;
    document.getElementById('KST').disabled = false; 
    document.getElementById('Zimmer').disabled = false;
    document.getElementById('Fax').disabled = false;
    document.getElementById('Zusatz').disabled = false;
    }
    }
    </script>
    <!--Ende Script-->
     
    <form method="post" action="test.php">
     
      <p>
        <!-- Eerste tabelle-->
      </p>
      <table width="389" border="0">
        <tr>
          <td width="126"><span class="Stil1">Nutzerblatt f&uuml;r: </span></td>
          <td width="28"><label>neu</label></td>
          <td width="20"><INPUT type=radio name=var2 value=neu> </td>
          <td width="41">&auml;ndern</td>
          <td width="20"><INPUT type=radio name=var2 value=ändern> </td>
          <td width="44">l&ouml;schen</td>
          <td width="80"><INPUT type=radio name=var2 value=löschen> </td>
        </tr>
      </table>
      <p>&nbsp;</p>
      <table width="797" border="0">
        <tr>
          <td width="93">Vorname:</td>
          <td width="147"><input type="text" id="Vorname" name="Vorname" onKeyUp="checkFields()"></td>
          <td width="10">&nbsp;</td>
          <td width="139">Nachname:</td>
          <td width="144"><input type="text" id="Nachname" name="Nachname" onKeyUp="checkFields()"></td>
          <td width="9">&nbsp;</td>
          <td width="77">Abteilung:</td>
          <td width="144"><input type="text" id="Abteilung" name="Abteilung" onKeyUp="checkFields()"></td>
        </tr>
        <tr>
          <td>Ort: </td>
          <td><label>
            <input type="text" id="Ort" name="Ort" disabled>
          </label></td>
          <td>&nbsp;</td>
          <td>Firma:</td>
          <td><input type="text" id="Firma" name="Firma" disabled></td>
          <td>&nbsp;</td>
          <td>Telefon-Nr.:</td>
          <td><input type="text" id="tel" name="tel" disabled></td>
        </tr>
        <tr>
          <td>KST:</td>
          <td><input type="text" id="KST" name="KST" disabled></td>
          <td>&nbsp;</td>
          <td>Geb&auml;ude/Zimmer-NR:</td>
          <td><input type="text" id="Zimmer" name="Zimmer" disabled></td>
          <td>&nbsp;</td>
          <td>Fax-Nr.:</td>
          <td><input type="text" id="Fax" name="Fax" disabled></td>
        </tr>
      </table>
     
      <p>&nbsp;</p>
      <!--/*Zweite tabelle (Benötigte Anwendungen)*/-->
        <table width="585" border="0,11">
        <tr>
          <td width="179" height="22">Ben&ouml;tigte Anwendungen: </td>
          <td width="46"><div align="center">Internet</div></td>
          <td width="66"><div align="center">Outlook</div></td>
          <td width="51"><div align="center">Office</div></td>
          <td width="164"><div align="center">AS400 (Client Express) </div></td>
          <td width="53"><div align="center">SAP</div></td>
        </tr>
        <tr>
          <td height="41">Ben&ouml;tigt:</td>
          <td><div align="center">
              <input name="internet" type="checkbox" id="internet" value="checkbox" />
            </div>
            </label></td>
          <td><div align="center">
              <input name="outlook" type="checkbox" id="outlook" value="checkbox" />
          </div></td>
          <td><div align="center">
              <input name="office" type="checkbox" id="office" value="checkbox" />
          </div></td>
          <td><div align="center">
              <input name="AS400" type="checkbox" id="AS400" value="checkbox" />
          </div></td>
          <td><div align="center">
              <input name="SAP" type="checkbox" id="SAP" value="checkbox" />
          </div></td>
        </tr>
      </table>
      <table width="602" border="0">
        <tr>
          <td width="305" height="24">zus&auml;tzliche Software, z.B. Dialog, Anzeigesystem: </td>
          <td width="287"><label>
            <input type="text" disabled id="Zusatz" name="Zusatz" size="45">
          </label></td>
        </tr>
      </table>
      <p><br />
      <table width="200" border="0">
        <tr>
          <td>Welcher Drucker wird Ben&ouml;tigt? </td>
        </tr>
        <tr>
          <td><textarea name="auswahl" cols="30" rows="5" id="auswahl"></textarea></td>
        </tr>
      </table>
      <p>
     
     
      <p>
        <label>
        <input type="submit" name="absenden" value="Senden" />
        </label>
      <p>&nbsp;</p>
    </form>
    </body>
    </html>
    wenn die daten eingegeben werden und auf den button senden geklickt wird kommen sie hier an die es dan letzendlich abspeichern.
    test.php

    Code:
    <?php
    $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    mysql_select_db("sz_nutzeruebersicht", $con);
    $sql="INSERT INTO sz_nutzeruebersicht (Vorname, Nachname, Abteilung, Ort, Firma, Nummer, KST, Zimmer, Fax, Zusatz)
    VALUES
    ('$_POST[Vorname]','$_POST[Nachname]','$_POST[Abteilung]','$_POST[Ort]','$_POST[Firma]','$_POST[tel]','$_POST[KST]','$_POST[Zimmer]','$_POST[Fax]','$_POST[Zusatz]')";
    if (!mysql_query($sql,$con))
      {
      die('Error: ' . mysql_error());
      }
    echo "Nutzerübersicht wurde Gespeichert und Bearbeitet";
    mysql_close($con)
    ?>

    so wie man sieht ist in fomular.html mehrere checkboxen und ein paar radio button. wie kann ich nun in test.php schreiben das er es in die db abspeichert?


    P.S.: Nicht iritieren lassen das im fomular.html ein jvascript drinne ist. dieser javascript schaltet die textfelder frei
    Geändert von SUNZ (21.07.2009 um 08:23 Uhr)


  9. #9
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Ist doch egal, ob mein Code funktioniert oder nicht... Das war ein Beispiel. Besser erklären kann ich das echt nicht mehr.

    Code:
    <input name="AS400" type="checkbox" id="AS400" value="checkbox" />
    wird mit

    PHP-Code:
    $_POST['AS400']; 
    angesprochen. Was ist denn daran so schwer?

    Bei den Radioboxen gilt das selbe. Du kannst sie mit

    PHP-Code:
    $_POST['var2']; 
    ansprechen und den value der markierten Box bekommen.
    Das einfügen in die Datenbank sollte dann ganz einfach sein.
    Come to the dark side - We have cookies

  10. #10
    CIH-Virus
    Registriert seit
    24.12.2008
    Beiträge
    468

    Standard

    Also müsste ich in mein test.php so schreiben (damit es reingeschrieben wird)

    Code:
    <?php
    $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    mysql_select_db("sz_nutzeruebersicht", $con);
    $sql="INSERT INTO sz_nutzeruebersicht (Vorname, Nachname, Abteilung, Ort, Firma, Nummer, KST, Zimmer, Fax, Zusatz)
    VALUES
    ('$_POST[Vorname]','$_POST[Nachname]','$_POST[Abteilung]','$_POST[Ort]','$_POST[Firma]',
    '$_POST[tel]','$_POST[KST]','$_POST[Zimmer]','$_POST[Fax]',
    '$_POST[Zusatz]','$_POST[AS400]')";
    if (!mysql_query($sql,$con))
      {
      die('Error: ' . mysql_error());
      }
    echo "Nutzerübersicht wurde Gespeichert und Bearbeitet";
    mysql_close($con)
    ?>
    Ich teste es gleich aber ich bezweifel das dass so funktioniert

    wie ich es mir gedacht habe.
    hier der fehler der mit bei test.php angezeigt wird

    "Parse error.parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\Program Files\xampp\htdocs\xampp\sz\Fomular\test.php on line 12"

    was tun den line 12 ist das hier

    Code:
    ('$_POST[Vorname]','$_POST[Nachname]','$_POST[Abteilung]','$_POST[Ort]','$_POST[Firma]',
    '$_POST[tel]','$_POST[KST]','$_POST[Zimmer]','$_POST[Fax]',
    '$_POST[Zusatz]','$_POST[AS400]')";
    fehler gefunden und behoben Großen dank an euch.

    Werde bestimmt noch weitere fragen haben also nicht closen
    Geändert von SUNZ (21.07.2009 um 10:34 Uhr) Grund: Automerged Doublepost


Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •