PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Checkboxen 1 und 0 an Datenbank senden!


Sp1n
06.08.2009, 17:31:12
Schönen guten Tag ;)

Ich hab ein kleines Problem das ich nicht lösen kann!
Ich habe eine Checkbox

<input type="checkbox" name="published" value="<?php echo $published; ?>">
Veröffentlichen?</p>

Wenn diese Checkbox aktiv ist soll 1 in die Datenbank geschrieben werden und wenn nicht 0!

Wie mach ich das? :(

Vielen DANK!

vt1816
06.08.2009, 18:00:10
Hallo und willkommen hier im Forum!

Wie übergibt Du denn die Felder an die Datenbank? Da musst Du ansetzten.

Sp1n
07.08.2009, 09:53:24
Das Formular ist an die work.php gebunden diese so aussieht!

<html>
<head>
<title>Daten verarbeiten</title>
</head>
<body>

<?php

$host = "localhost";
$user = "dbuser";
$password = "dbpass";
$dbname = "artika_form";

$dbverbindung = mysql_connect ($host, $user, $password);

if ($_POST['id']==0)

{
$dbanfrage = "INSERT into Projekt (name,bild_unten,text,bild_header,category,sort,published) values ('".$_POST['name']."', '".$_POST['bild_unten']."', '".$_POST['text']."', '".$_POST['bild_header']."', '".$_POST['category']."', ".$_POST['sort'].",".$_POST['published'].")";

}
else
{
$dbanfrage = "UPDATE Projekt SET name='".$_POST['name']."', bild_unten='".$_POST['bild_unten']."', text='".$_POST['text']."', bild_header='".$_POST['bild_header']."', category='".$_POST['category']."', sort=".$_POST['sort'].", published=".$_POST['published']." WHERE id=".$_POST['id'];
echo $dbanfrage;
}
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Ihr Eingabe wurde erfolgreich geändert!.");
} else {
print ("Es trat ein Fehler auf! Bitte wenden Sie sich an den Administrator!.");
}
mysql_close ($dbverbindung);
$abfrage = "SELECT * FROM Projekt";

?>

</body>
</html>

vt1816
07.08.2009, 11:20:46
Gut, dann übergib INSERT/UPDATE den von Dir gewünschten Wert (aktiv = 1, inaktiv = 0) von $_POST['published']. Lass Dir dazu (während der Tesphase) $_POST['published'] ausgeben und ändere ihn gegebenenfalls auf den von Dir gewünschten Wert. OK?

Sp1n
07.08.2009, 12:47:42
Könntest du mir den Code schreiben? also die eine Zeile in meinen Code einfügen?

vt1816
07.08.2009, 14:16:03
Könntest du mir den Code schreiben?
Nein!



[...] also die eine Zeile in meinen Code einfügen?
Mit nur einer Zeile (bei übersichtlichem Code) wird es nicht klappen. ;-)

Aber hier mal ein mögliches Beispiel - was Du natürlich noch an Deine Bedürfnisse anpassen mußt:


if (isset($_POST[checkbox]) and $_POST[checkbox] = aktiv)
{$checkbox = 1}
else
{$checkbox = 0}

$dbanfrage = "INSERT INTO tabelle (box) VALUES ($checkbox)"; //UPDATE analog

** ungetestet **

Sp1n
10.08.2009, 10:11:58
Bekomm das einfaxch net hin :(

feuervogel
10.08.2009, 11:53:17
Bekomm das einfaxch net hin :(

achso. und so wirds besser? nein, zeig uns deinen jetzigen lösungsversuch und wir können u.u. sagen, was falsch ist.

Sp1n
10.08.2009, 11:56:06
Habs danke xD


Hab das so gelöst ;)

if($_REQUEST['published'] == "1")
{
$published = $_REQUEST['published'];
}
else
{
$published = "0";
}

vt1816
10.08.2009, 17:19:25
if($_REQUEST['published'] == "1")
{
$published = $_REQUEST['published'];
}
else
{
$published = "0";
}

Was war daran nun so schwer?