Formularfelder zusammenfassen

SasserVirus

Gesperrt
Hallo!

Also ich habe in einem Formular die Felder "geburtsdatum_tag", "geburtsdatum_monat" und "geburtsdatum_jahr"!

Wie kann ich diese nun in meinem Script zusammenfassen, damit alle drei Felder z.B. so: 12.05.1986 in die Datenbank in Spalte "geburtsdatum" geschrieben wird?

Das ist mein bisheriger Code;

PHP:
<?php
 $required_fields = array ('vorname', 'name', 'geburtsdatum_tag', 'geburtsdatum_monat', 'geburtsdatum_jahr', 'anschrift', 'plz', 'ort', 'user', 'password', 'email', 'geschlecht');
 
 foreach ($_REQUEST as $key => $value) {
 if (in_array($key, $required_fields) && !trim($value)) {

$geburtsdatum = $geburtsdatum_tag.".".$geburtsdatum_monat.".".$geburtsdatum_jahr."";

echo"<meta HTTP-EQUIV='refresh' CONTENT='0; URL=submit.php'>";
?>


<?php 
 die;
 }
 }
?>


<?php
if (!isset($_POST['anmelden'])) {
    include('submit.php');
    exit; }



include('config.php');

$sql = "INSERT INTO user (vorname, name, geburtsdatum, anschrift, plz, ort, user, password, email, geschlecht) 
        VALUES ('". $_POST['vorname']."', '". $_POST['name']."', '". $_POST['geburtsdatum']."', '". $_POST['anschrift']."', '". $_POST['plz']."', '". $_POST['ort']."', '". $_POST['user']."', '". $_POST['password']."', '". $_POST['email']."', '". $_POST['geschlecht']."')";



mysql_query($sql); 

echo"<meta HTTP-EQUIV='refresh' CONTENT='0; URL=submitted.html'>
";

?>
 
Die Lösung steht bereits in ähnlicher Form im Quellcode: durch eine Verkettung der Einzelwerte:
PHP:
$geburtsdatum = $_POST['geburtsdatum_tag'].'.'.$_POST['geburtsdatum_monat'].'.'.$_POST['geburtsdatum_jahr'];
 
Also ich habe das nun so;

PHP:
<?php
 $required_fields = array ('vorname', 'name', 'geburtsdatum_tag', 'geburtsdatum_monat', 'geburtsdatum_jahr', 'anschrift', 'plz', 'ort', 'user', 'password', 'email', 'geschlecht');
 
 foreach ($_REQUEST as $key => $value) {
 if (in_array($key, $required_fields) && !trim($value)) {  

echo"<meta HTTP-EQUIV='refresh' CONTENT='0; URL=submit.php'>";
?>


<?php 
 die;
 }
 }
?>


<?php
if (!isset($_POST['anmelden'])) {
    include('submit.php');
    exit; }



include('config.php');

$geburtsdatum = $_POST['geburtsdatum_tag'].'.'.$_POST['geburtsdatum_monat'].'.'.$_POST['geburtsdatum_jahr'];

$sql = "INSERT INTO user (vorname, name, geburtsdatum, anschrift, plz, ort, user, password, email, geschlecht) 
        VALUES ('". $_POST['vorname']."', '". $_POST['name']."', '". $_POST['geburtsdatum']."', '". $_POST['anschrift']."', '". $_POST['plz']."', '". $_POST['ort']."', '". $_POST['user']."', '". $_POST['password']."', '". $_POST['email']."', '". $_POST['geschlecht']."')";



mysql_query($sql); 

echo"<meta HTTP-EQUIV='refresh' CONTENT='0; URL=submitted.html'>
";

?>

Er schreibt das Datum aber immer noch nicht in die Datenbank Hat sich wohl nen kleiner Fehler eingeschlichen :confused:
 
Hänge mal an dein Query:
PHP:
mysql_query($sql);

noch das folgende ran:

PHP:
mysql_query($sql) or die(mysql_error());

[phpf]mysql_error[/phpf] gibt eine Fehlermeldung aus, falls das Query nicht funktionierte.

Weiterhin könnte einer Erhöhung des [phpf]error_reporting[/phpf] durchaus etwas bringen, bei der Fehlersuche.
E_ALL könnte zu Debuggingzwecken geeignet sein.
 
Hallo,
welchen Typ hast du denn dem Feld in der Datenbank zugewiesen?
Hast du datetime verwendet?
 
Zuletzt bearbeitet:
Bringt leider auch nix...

Naja, da muss ich wohl die Werte einzelt eintragen und dann per edit diese umbenennen!?

:confused:

Wie meinst du das?

Das Formular ist in einer HTML-Datei!
 
zeig uns einfach mal deinen Quelltext für das Formular und vorallem die Struktur der Datentabelle 'user'

Das würde extrem weiterhelfen.
 
Also Formular:

HTML:
<HTML>
   <HEAD>
      <title>Anmelden</title>
      <link rel="stylesheet" href="format.css" type="text/css">
   </HEAD>
   <BODY>
      <form method="post" action="submit.php">
      <table border="0" width="100%"><tr><td height="350" align="center" valign="middle">
      <table border="0">
         <tr>
            <td colspan="4" align="center" valign="middle" class="submit">
               <img src="images/submit.png"></img>
            </td>
	 <tr>
	    <td align="left" class="submit"><b>Vorname:</b></td>
	    <td class="submit">
               <select name="geschlecht" size="1">
                  <option>
                  <option>Herr
                  <option>Frau
               </select>
               <input type="text" name="vorname" size="19"></td>
            <td align="left" class="submit"><b>Benutzername:</b></td>
            <td class="submit"><input type="text" name="user" size="30"></td>
         <tr>
            <td align="left" class="submit"><b>Name:</b></td>
            <td class="submit"><input type="text" name="name" size="29"></td>
            <td valign="top" align="left" class="submit"><b>Passwort:</b></td>
            <td class="submit"><input type="password" name="password" size="30"></td>
         <tr>
            <td align="left" class="submit"><b>Geburtsdatum:</b></td>
            <td class="submit">
	       <select name="geburtsdatum_tag" size="1">
                  <option>
                  <option>01
                  <option>02
                  <option>03
                  <option>04
                  <option>05
                  <option>06
                  <option>07
                  <option>08
                  <option>09
                  <option>10
                  <option>11
                  <option>12
                  <option>13
                  <option>14
                  <option>15
                  <option>16
                  <option>17
                  <option>18
                  <option>19
                  <option>20
                  <option>21
                  <option>22
                  <option>23
                  <option>24
                  <option>25
                  <option>26
                  <option>27
                  <option>28
                  <option>29
                  <option>30
                  <option>31
	       </select>
               <b>.</b>
               <select name="geburtsdatum_monat" size="1">
                  <option>
                  <option>01
                  <option>02
                  <option>03
                  <option>04
                  <option>05
                  <option>06
                  <option>07
                  <option>08
                  <option>09
                  <option>10
                  <option>11
                  <option>12
	       </select>
               <b>.</b>
               <input name="geburtsdatum_jahr" size="4" maxlength="4">
	    </td>
            <td valign="top" align="left" class="submit"><font color="#E6E6FA">(Wiederholen)</font></td>
            <td class="submit"><input type="password" name="password2" size="30"></td>
         <tr>
            <td align="left" class="submit"><b>Anschrift:</b></td>
            <td class="submit"><input type="text" name="anschrift" size="29"></td>
            <td valign="top" align="left" class="submit"><b>Emailadresse:</b></td>
            <td class="submit"><input type="text" name="email" size="30"></td>
         <tr>
            <td align="left" class="submit"><b>PLZ, Ort:</b></td>
            <td class="submit"><input type="text" name="plz" size="5" maxlength="5"><input name="ort" size="21"></td>
            <td valign="top" align="left" class="submit"><font color="#E6E6FA">(Wiederholen)</font></td>
            <td class="submit"><input type="text" name="email2" size="30"></td>
         <tr>
            <td colspan="4" align="right" class="submit"><input type="submit" name="anmelden" value="Anmelden" class="button"></td>
      </table>
      </td></tr></table>
   </form>
   </BODY>
</HTML>


Und in der Tabelle user habe ich eine Spalte geburtsdatum varchar 10 Alle anderen Daten schreibt er ja rein, bis auf das zusammengesetzte Datum!! :confused:
 
In deinem Query schreibst du:

PHP:
'". $_POST['geburtsdatum']."'

Du speicherst die Variable aber so:

PHP:
$geburtsdatum = $_POST['geburtsdatum_tag'].'.'.$_POST['geburtsdatum_monat'].'.'.$_POST['geburtsdatum_jahr'];

Siehst du das Problem?
 
Zurück