Hallo zusammen,
ich bin gerade dabei ein Formular zu basteln, in dem auch ein Auswahlfeld vorhanden ist. Dieses Auswahlfeld soll in einer mysql Datenbank abgespeichert werden.
Alle Felder funktionieren auch ohne Problem, nur eben dieses Auswahlfenster nicht. Er speichert in der DB immer nur " Array " ab.
Würde mich freuen, wenn einer eine Idee hat.
Hier mein Quellcode:
index.php:
Und hier meine speichern.php:
Ich habe bereits den ganzen Tag gegoogelt und mich mit der Funktion implode rum geschlagen, was meines erachtens evtl. eine Lösung sein könnte ?!?!
Bin dankbar für jede Hilfe
ich bin gerade dabei ein Formular zu basteln, in dem auch ein Auswahlfeld vorhanden ist. Dieses Auswahlfeld soll in einer mysql Datenbank abgespeichert werden.
Alle Felder funktionieren auch ohne Problem, nur eben dieses Auswahlfenster nicht. Er speichert in der DB immer nur " Array " ab.
Würde mich freuen, wenn einer eine Idee hat.
Hier mein Quellcode:
index.php:
PHP-Code:
<form action="speichern.php" method="post">
<TABLE WIDTH="800" BORDER="1" CELLPADDING="4" CELLSPACING="4">
<TR>
<TD COLSPAN ="5">zertifiziert nach<br> (Mehrfachnennung mit strg-Taste möglich)</TD>
<TD COLSPAN ="5"
<select name="zertifiziert_nach[]" size="5" multiple>
<option selected>ISO 9001</option>
<option>ISO 14001</option>
</select>
</TD>
</TABLE>
PHP-Code:
<?php
dyn_form();
$server= "test";
$datenbank= "test";
$user= "test";
$passwort= "test";
// Zugriff auf SQL-Server
MYSQL_CONNECT($server, $user, $passwort) or die ("Datenbankserver nicht erreichbar");
MYSQL_SELECT_DB($datenbank) or die ( "Datenbank nicht vorhanden");
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
// Aktionen fuer diese Datei
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
if (isset($_GET['action']) && $_GET['action'] != "") {
$action = $_GET['action'];
}
elseif (isset($_POST['action']) && $_POST['action'] != "") {
$action = $_POST['action'];
}
switch ($action) {
case "savedaten":
savedaten();
break;
default:
savedaten();
break;
}
function savedaten () {
$zertifiziert_nach = datensaver($_POST['zertifiziert_nach']);
$zertifiziert_nach = mysql_real_escape_string($zertifiziert_nach);
MYSQL_QUERY("INSERT INTO formular (zertifiziert_nach)
VALUES('$zertifiziert_nach')");
MYSQL_CLOSE();
echo "Ihre Daten wurden erfolgreich gespeichert";
}
//-----------------------------------------------------------------//
// Datensaver Regexe
//-----------------------------------------------------------------//
function datensaver($formdaten) {
$formdaten = stripslashes($formdaten);
$suchmuster = array(
'#^\s+#',
'#\s+$#',
'#<#',
'#>#',
'#\|#',
'#\'#',
'#\"#',
'#\r#',
'#\n#'
);
$ersatz = array("","","","","","","","","");
$formdaten = preg_replace($suchmuster, $ersatz, $formdaten);
return $formdaten;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
?>
<?php
function dyn_form()
{
global $HTTP_POST_VARS, $HTTP_GET_VARS;
if (isset($HTTP_POST_VARS)) {
//bei POST
foreach ($HTTP_POST_VARS as $key => $elem) {
echo "<input type=\"hidden\" name=\"$key\" value=\"$elem\">";
}
}
} //end function
?>
Bin dankbar für jede Hilfe

Kommentar