Checkboxen aus Session auslesen!

Lapachon

Mitglied
Hi!

Ich habe folgendes Problem. Ich habe ein paar Checkboxen die wenn man sie anklickt in die Session gespeichert werden. Ein paar Seiten danach möchte ich die Checkboxen aus der Session wieder auslesen und mir die Werte die angeklickt wurden in eine meine MySQL einlesen. Wie kann ich das machen, ich habe keine Ahnung.

Wenn ich die Session so auslese:
PHP:
foreach($_SESSION['b5_checkbox_welche'] as $b5_checkbox_welche)
{
	echo $b5_checkbox_welche;
		
  echo "<br>";
}
Bekomme ich alle angeklickten werte zurück, aber wie krieg ich das ganze dann in meine DB?

Danke für eure Hilfe,

LG

Lapachon
 
Dazu wäre es hilfreich, wenn Du uns sagst, wie die Struktur der betroffenen Tabellen ist, und ob Du die Werte speichern möchtest oder etwas anderes.

snuu
 
Also ich habe 9 Checkboxen:
PHP:
<input type="checkbox" value="Urlaubsvertretungen" name="b5_checkbox_welche[]">
<input type="checkbox" value="Projektarbeit" name="b5_checkbox_welche[]">
<input type="checkbox" value="Betriebsfeiern" name="b5_checkbox_welche[]">
<input type="checkbox" value="Weiterbildungsseminare" name="b5_checkbox_welche[]">
<input type="checkbox" value="Sitzungen" name="b5_checkbox_welche[]">
<input type="checkbox" value="Firmenzeitung" name="b5_checkbox_welche[]">
<input type="checkbox" value="Geringf. Besch&auml;ftigung" name="b5_checkbox_welche[]">
<input type="checkbox" value="Freie Mitarbeit" name="b5_checkbox_welche[]">
<input type="checkbox" value="Sonstiges:" name="b5_checkbox_welche[]">

Wenn man jetzt z.B. die letzten 4 Checkboxen anklickt sollen diesse 4 Checkboxen mittels

PHP:
$_SESSION['b5_checkbox_welche']=$_POST['b5_checkbox_welche'];

in die Session eingelesen werden (was auch funktioniert!), und später soll die Session ausgelsen werden und in meine Datenbank mittels insert into query in die Datenbank eingelesen werden.

Hoffe es ist so klar, man merkt das ich PHP - bin.

PS: Ich habe die Datei im Anhang, vielleicht kannst du dir dann ein Bild machen.
 

Anhänge

Da Du mir Deine Tabellenstruktur immer noch nicht veraten hast, denke ich mir eine aus, die Du dann anpassen kannst:
PHP:
// Vorher Verbindung zum Datenbankserver herstellen und Datenbank auswählen!

for ($x = 0; $x < count($_SESSION['b5_checkbox_welche']); $x++) {
  $sql = "insert into TABELLENNAME (feld1)
          values ('".mysql_escape_string($_SESSION['b5_checkbox_welche'][$x])."')";

  if (!mysql_query($sql)) { echo '<br>SQL-Fehler: '.mysql_error();
}

snuu
 
Erstmal danke für deine Antwort. Da ich nicht genau weiss was du unter Tabellenstruktur verstehst, denke ich mir mal du meinst meine Datenbankstruktur.

Sie sieht in etwa so aus. Ich habe eine reihe von Radiobuttons, Textfeldern usw. und möchte jetzt noch die Checkboxen mitspeichern. Mein insert query sieht so aus:

PHP:
if (isset($_POST["insert"])) {

	mysql_query("INSERT INTO fragebogen_ooe (b1_firmenname, b1_strasse, b1_nr, b1_ort, b1_plz, b1_bundesland, b1_titel, b1_vorname, b1_nachname, b1_funktion, b1_tel, b1_fax, b1_email, b1_datum, b1_ort_einreichung, b1_radio_unternehmen, b1_radio_groesse, b1_branche, b2_gesamt1, b2_weiblich1, b2_maennlich1, b2_gesamt2, b2_weiblich2, b2_maennlich2, b2_gesamt3, b2_weiblich3, b2_maennlich3, b2_gesamt4, b2_weiblich4, b2_maennlich4, b2_gesamt5, b2_weiblich5, b2_maennlich5, b2_beschr_erste, b2_beschr_zweite, b2_gesamt6, b2_weiblich6, b2_maennlich6, b2_gesamt7, b2_weiblich7, b2_maennlich7, b3_gesamt1, b3_weiblich1, b3_maennlich1, b3_gesamt2, b3_weiblich2, b3_maennlich2, b3_gesamt3, b3_weiblich3, b3_maennlich3, b3_gesamt4, b3_weiblich4, b3_maennlich4, b3_gesamt5, b3_weiblich5, b3_maennlich5, b3_gesamt6, b3_weiblich6, b3_maennlich6, b3_gesamt7, b3_weiblich7, b3_maennlich7, b3_radio_homework, b3_gesamt8, b3_weiblich8, b3_maennlich8, b3_textarea_bsp_erlaeutern, b3_gesamt9, b3_weiblich9, b3_maennlich9, b3_gesamt10, b3_weiblich10, b3_maennlich10, b3_radio_teilzeit_vollzeit, b3_radio_vollzeit_teilzeit, b3_radio_aufstieg, b3_radio_nachfrage, b3_textarea_begruendung, b3_radio_verkehrsmittel, b3_radio_schulzeit, b3_radio_betreuung, b3_radio_beduerfnisse, b3_textarea_ja_bsp, b4_externe, b4_interne, b4_nein, b4_frauen1, b4_maenner1, b4_frauen2, b4_maenner2, b4_radio_weiterbildung, b4_textarea_welche, b4_radio_wann, b4_textarea_wann, b4_radio_dienstzeit, b4_radio_teilzunehmen, b4_radio_kinderbetreuung, b4_radio_kosten, b5_frauen1, b5_maenner1, b5_frauen2, b5_maenner2, b5_frauen3, b5_maenner3, b5_textarea_warum, b5_radio_dauer, b5_textarea_vaeterkarenz, b5_radio_ansprechen, b5_radio_kriterium, b5_radio_nachweis, b5_radio_kontakt, b5_checkbox_welche, b5_textarea_sonstiges, b5_radio_gefoerdert, b5_radio_hilfen, b5_checkbox_welche2, b5_textarea_wennja_welche, b5_checkbox_wennja_welche, b5_betreuungspflichten, b5_karenzierung, b5_radio_fuehrungskraefte_position, b5_radio_mitarbeiter_position, b5_textarea_wovon, b5_radio_anspruch, b6_radio_kindergarten, b6_radio_einrichtungen, b6_checkbox_moeglichkeiten, b6_textarea_sonstiges, b6_radio_pflegefreistellung, b6_wielange, b6_radio_leistungen, b6_art1, b6_hoehe1, b6_wieoft1, b6_art2, b6_hoehe2, b6_wieoft2, b6_art3, b6_hoehe3, b6_wieoft3, b7_radio_management, b7_textarea_welcheform, b7_radio_lehrlinge, b7_textarea_wennjawelche, b7_radio_aeltere, b7_textarea_wennjawelche2, b7_radio_anspruch, b8_textarea_familienfragen, b8_textarea_zustaendigkeitsbreich, b8_radio_massnahmen, b8_textarea_wennja1, b8_radio_frauen, b8_radio_maenner, b8_textarea_wennja2, b8_radio_massnahmen1, b8_textarea_welche1, b8_radio_entlohnung, b8_textarea_familienfreundlich, b8_textarea_frauenfreundlich, b8_textarea_vaeterkarenzfreundlich, b8_radio_firmenphilosophie, b8_textarea_besonderheiten) 
	
	VALUES
	
	('$b1_firmenname', '$b1_strasse', '$b1_nr', '$b1_ort', '$b1_plz', '$b1_bundesland', '$b1_titel', '$b1_vorname', '$b1_nachname', '$b1_funktion', '$b1_tel', '$b1_fax', '$b1_email', '$b1_datum', '$b1_ort_einreichung', '$b1_radio_unternehmen', '$b1_radio_groesse', '$b1_branche', '$b2_gesamt1', '$b2_weiblich1', '$b2_maennlich1', '$b2_gesamt2', '$b2_weiblich2', '$b2_maennlich2', '$b2_gesamt3', '$b2_weiblich3', '$b2_maennlich3', '$b2_gesamt4', '$b2_weiblich4', '$b2_maennlich4', '$b2_gesamt5', '$b2_weiblich5', '$b2_maennlich5', '$b2_beschr_erste', '$b2_beschr_zweite', '$b2_gesamt6', '$b2_weiblich6', '$b2_maennlich6', '$b2_gesamt7', '$b2_weiblich7', '$b2_maennlich7', '$b3_gesamt1', '$b3_weiblich1', '$b3_maennlich1', '$b3_gesamt2', '$b3_weiblich2', '$b3_maennlich2', '$b3_gesamt3', '$b3_weiblich3', '$b3_maennlich3', '$b3_gesamt4', '$b3_weiblich4', '$b3_maennlich4', '$b3_gesamt5', '$b3_weiblich5', '$b3_maennlich5', '$b3_gesamt6', '$b3_weiblich6', '$b3_maennlich6', '$b3_gesamt7', '$b3_weiblich7', '$b3_maennlich7', '$b3_radio_homework', '$b3_gesamt8', '$b3_weiblich8', '$b3_maennlich8', '$b3_textarea_bsp_erlaeutern', '$b3_gesamt9', '$b3_weiblich9', '$b3_maennlich9', '$b3_gesamt10', '$b3_weiblich10', '$b3_maennlich10', '$b3_radio_teilzeit_vollzeit', '$b3_radio_vollzeit_teilzeit', '$b3_radio_aufstieg', '$b3_radio_nachfrage', '$b3_textarea_begruendung', '$b3_radio_verkehrsmittel', '$b3_radio_schulzeit', '$b3_radio_betreuung', '$b3_radio_beduerfnisse', '$b3_textarea_ja_bsp', '$b4_externe', '$b4_interne', '$b4_nein', '$b4_frauen1', '$b4_maenner1', '$b4_frauen2', '$b4_maenner2', '$b4_radio_weiterbildung', '$b4_textarea_welche', '$b4_radio_wann', '$b4_textarea_wann', '$b4_radio_dienstzeit', '$b4_radio_teilzunehmen', '$b4_radio_kinderbetreuung', '$b4_radio_kosten', '$b5_frauen1', '$b5_maenner1', '$b5_frauen2', '$b5_maenner2', '$b5_frauen3', '$b5_maenner3', '$b5_textarea_warum', '$b5_radio_dauer', '$b5_textarea_vaeterkarenz', '$b5_radio_ansprechen', '$b5_radio_kriterium', '$b5_radio_nachweis', '$b5_radio_kontakt', '$b5_checkbox_welche', '$b5_textarea_sonstiges', '$b5_radio_gefoerdert', '$b5_radio_hilfen', '$b5_checkbox_welche2', '$b5_textarea_wennja_welche', '$b5_checkbox_wennja_welche', '$b5_betreuungspflichten', '$b5_karenzierung', '$b5_radio_fuehrungskraefte_position', '$b5_radio_mitarbeiter_position', '$b5_textarea_wovon', '$b5_radio_anspruch', '$b6_radio_kindergarten', '$b6_radio_einrichtungen', '$b6_checkbox_moeglichkeiten', '$b6_textarea_sonstiges', '$b6_radio_pflegefreistellung', '$b6_wielange', '$b6_radio_leistungen', '$b6_art1', '$b6_hoehe1', '$b6_wieoft1', '$b6_art2', '$b6_hoehe2', '$b6_wieoft2', '$b6_art3', '$b6_hoehe3', '$b6_wieoft3', '$b7_radio_management', '$b7_textarea_welcheform', '$b7_radio_lehrlinge', '$b7_textarea_wennjawelche', '$b7_radio_aeltere', '$b7_textarea_wennjawelche2', '$b7_radio_anspruch', '$b8_textarea_familienfragen', '$b8_textarea_zustaendigkeitsbreich', '$b8_radio_massnahmen', '$b8_textarea_wennja1', '$b8_radio_frauen', '$b8_radio_maenner', '$b8_textarea_wennja2', '$b8_radio_massnahmen1', '$b8_textarea_welche1', '$b8_radio_entlohnung', '$b8_textarea_familienfreundlich', '$b8_textarea_frauenfreundlich', '$b8_textarea_vaeterkarenzfreundlich', '$b8_radio_firmenphilosophie', '$b8_textarea_besonderheiten')") 
	
	
	or die(mysql_error());

Tut mir leid wegen dem haufen Text, aber ich weiss keine andere Methode dir mein vorhabem mitzuteilen.

Das Problem was ich habe bei deinem Script ist, das ich ja schon ein sql-query habe, wie oben aufgelistet. Ich weis jetzt nicht genau wie ich dein Script richtig eimbinden kann?
 
Du hast also eine Tabelle "fragebogen_ooe "? Und zu den Datensätzen dieser Tabelle willst Du die verschiedenen Checkbox-Werte speichern? Reicht Dir die Speicherung in einem Feld (Spalte), oder sollen die Antworten in eine andere Tabelle ausgelagert werden?

snuu
 
Genau so ist es. Es sollen die Werte gespeichert werden die er vorher angegeben hat. Mit den Radiobuttons, Textfeldern usw. funktioniert auch alles soweit. Jetzt soll nur noch die angeklickten Checkboxen in diesen insert into query hinein, das ich dir oben schrieb. Das heisst, die Checkboxen sollen genau in selbe tabelle wie die anderen Daten. (Textfelder, Radionbuttons usw...)
 
Zuletzt bearbeitet:
Folgender Code Schreibt die Werte der Checkboxen in einen String und trennt sie jeweils durch ein Komma:
PHP:
$values_checkbox = join(',', $_SESSION['b5_checkbox_welche']);
Jetzt musst Du nur noch Deine SQL-Anweisung erweitern, indem Du das entsprechende Feld, in dem die Werte gespeichert werden sollen in die Felddefinition der INSERT-Anweisung mit aufnimmst und die Variable $values_checkbox ebenfalls in dem VALUES-Bereich der SQL-Anweisung hinzufügst:
PHP:
$values_checkbox = join(',', $_SESSION['b5_checkbox_welche']);
if (isset($_POST["insert"])) {
  mysql_query("INSERT INTO fragebogen_ooe (b1_firmenname, ..., feld_fuer_checkbox_werte)
               VALUES
               ('$b1_firmenname', ..., '$values_checkbox')");
  or die(mysql_error());

Für die Zukunft solltest Du alphanummerische Werte allerdings mit [phpf]mysql_escape_string[/phpf] konvertieren,
 
Ja vielen Dank! Ich habe mich jetzt seit 2 Wochen mit dem rumgeplagt! Es funktioniert, herzlichen Dank.

LG

Lapachon
 
Zurück