Checkboxen in Mysql speichern

swamp1001

Mitglied
Guten Morgen, vieleicht kann mir jemand helfen.
Ich habe ein Formular mit 2 Checkboxen und das soll alles in eine Mysql Datenbank gespeichert werden, ich habe schon alles abgesucht aber nix gefunden was bei mir funktioniert.
Er schreibt mir immer 0 in die Datenbank egal ob die Checkbox markiert ist oder nicht
Hier mal der Code:

PHP:
         <!-insert.php->
       <html>
       <body>
       <?PHP
       if ($button==" OK ") {
        include("db.php");
        mysql_query("INSERT INTO
        cds(titel,interpret,kv,backup)VALUES('$titel','$interpret','$kv','$backup')");
        mysql_close();
        ?>
        Die Daten wurden eingetragen<br>
        <a href="insert.php">neuer Eintrag</a><br>
        <a href="fetcharr.php">zur Übersicht</a>
        <?PHP
       } else { ?>
        <form method="post" action="insert.php">
        <input type="text" name="interpret" value="interpret"><br>
        <input type="text" name="titel" value="titel"><br>
<input type="checkbox" name="kv"value="JA" ><br>
<input type="checkbox" name="backup"value="JA" ><br>
        <input type="submit" name="button" value=" OK ">
        </form>
        <?PHP
       } ?>
       </body>
       </html>
 
PHP:
mysql_query("INSERT INTO
        cds(titel,interpret,kv,backup)VALUES($_POST['titel'],$_POST['interpret'],$_POST['kv'],$_POST['backup'])");
Du sendest die Formulardaten doch per post, warum sind diese nicht bei dir aufgelistet?
 
Danke erstmal für die schnelle Antwort.
Es hatte so immer bei mir funktioniert, wenn ich es aber so mache wie du schreibst dann kommt eine Fehlermeldung

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Applications/xampp/xamppfiles/htdocs/rep/insert.php on line 49
 
Komisch, wenn ich es so schreibe:
PHP:
       <html>
       <body>
       <?PHP
       if ($_POST['button']==" OK ") {      
		echo($_POST['interpret']);
		echo($_POST['titel']);
		echo($_POST['kv']);
		echo($_POST['backup']);
        ?>
        Die Daten wurden eingetragen<br>
        <a href="insert.php">neuer Eintrag</a><br>
        <a href="fetcharr.php">zur Übersicht</a>
        <?PHP
       } else { ?>
        <form method="post" action="test.php">
        <input type="text" name="interpret" value="interpret"><br>
        <input type="text" name="titel" value="titel"><br>
<input type="checkbox" name="kv"value="JA" ><br>
<input type="checkbox" name="backup"value="JA" ><br>
        <input type="submit" name="button" value=" OK ">
        </form>
        <?PHP
       } ?>
       </body>
       </html>
Gibt er alles korrekt aus

Fehlermeldung

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in E:\php-fehler\test_code.php on line 3

Code:

PHP:
echo "Hallo $_GET['foo']"; //Fehler
echo "Hallo ".$_GET['foo']; //ok
echo "Hallo $_GET[foo]"; //funktioniet
echo "Hallo ".$_GET['foo']." wie geht es dir"; //ok
echo "Hallo {$_GET['foo']}"; //ok
 
Zuletzt bearbeitet:
Hm bei mir geht es nicht, kommt wieder die selbe fehlermeldung.
Bist du so nett und schreibst mir bitte den gesamten Code, irgendwo mach ich da einen fehler.
 
kann ja nicht funktionieren. wenn dein editor ne highlight-funktion hat, sollte man den fehler sofort erkennen können:

PHP:
mysql_query("INSERT INTO
                    cds
             SET
                    titel = '" . $_POST['titel'] . "',
                    interpret = '" . $_POST['titel'] . "',
                    kv = '" . $_POST['kv'] . "',
                    backup = '" . $_POST['backup'] . "'
");
 
Na klar, ich hab es so geschrieben. War außer Haus deshalb so spät:

PHP:
       <html>
       <body>
       <?PHP
	   
	    mysql_connect("localhost", "root","****");
		mysql_select_db("***")  or die ("Die Datenbank existiert nicht");
	   
	   
$erstellen ="CREATE TABLE IF NOT EXISTS `musik` (
  `ID` int(11) NOT NULL auto_increment,
  `interpret` varchar(200) NOT NULL,
  `titel` varchar(200) NOT NULL,
  `kv` tinyint(1) NOT NULL,
  `backup` tinyint(1) NOT NULL,
  PRIMARY KEY  (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1";

$erstell = mysql_query($erstellen) or die("Tabelle konnte nicht erstellt werden: ".mysql_error()); 
	   
if ($_POST['button']==" OK ") { 
 
$interpret = $_POST['interpret'];
$titel = $_POST['titel'];
$kv = $_POST['kv'];
$backup = $_POST['backup'];

		 	   
$eintragen = "INSERT INTO musik (interpret, titel, kv, backup) VALUES ('$interpret', '$titel', '$kv', '$backup')";  
$eintrag = mysql_query($eintragen) or die("Eintrag nicht möglich: ".mysql_error()); 	   

        ?>
        Die Daten wurden eingetragen<br>
        <a href="insert.php">neuer Eintrag</a><br>
        <a href="fetcharr.php">zur Übersicht</a>
        <?PHP
       } else { ?>
        <form method="post" action="insert.php">
        <input type="text" name="interpret" value="interpret"><br>
        <input type="text" name="titel" value="titel"><br>
<input type="checkbox" name="kv"value="1" ><br>
<input type="checkbox" name="backup"value="1" ><br>
        <input type="submit" name="button" value=" OK ">
        </form>
        <?PHP
       } ?>
       </body>
       </html>

Dann hast du dein Problem mit den Anführungsstrichen nicht mehr ;-) Manchmal ist es schon verwirrend
 
Zuletzt bearbeitet:
Zurück