YEAR in DB einfügen

Jacy

Mitglied
Hallo Leute,

ich habe folgendes Problem. Ich habe eine DB, in der ein Feld mit dem Typ YEAR angegeben ist (das muss leider auch so bleiben). Jetzt habe ich ein Formular, über das ich mit PHP Daten in die DB einfügen will. Aber es gibt ja nur input type ="text", dann erscheint in der DB immer nur 0000. Habt ihr einen Tipp?
 
Also ich hab das mal so probiert:

PHP:
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]) ?>" method="post">
Titel des Albums: <br /><input type="text" name="titel" /><br />
Erscheinungsjahr: <br /><input type="int" name="jahr" /><br />
URL des Covers (optional): <br /><input type="text" name="cover" /><br />
</form>
<?php

$titel = $_REQUEST["titel"];
$jahr = $_REQUEST["jahr"];
$cover = $_REQUEST["cover"];

$titel = $mysqli->real_escape_string($titel);
$jahr = $mysqli->real_escape_string($jahr);
$cover = $mysqli->real_escape_string($cover);

$insert = "INSERT INTO album (titel, jahr, cover)
           VALUES ('$titel','$jahr','$cover')";
		
echo $insert;
if ($ergebnis = $mysqli->query($insert)) {
    echo "Album erfolgreich hinzugefügt.";
	} else {
	echo $mysqli->error;
	}
$mysqli->close();

?>
 
Code:
<input type="int" />

ISt das ein neues Feature von HTML5, oder kenn ich das nur nicht?

Im Typ "YEAR" von MySQL muss eine vierstelliege Zahl eingegben werden, also auch drauf achten das vier Stellen ins Formular eingegeben werden.
 
Nein,mir wurde empfohlen,ich solle es mit input type="int"versuchen,aber das gibt es leider nicht :(

Gibt es keine andere Möglichkeit, über ein Formular Daten in das Feld vom Typ YEAR zu schreiben?
 
Hab ich doch in vorrigen Post schon geschrieben.
Ein Textfeld...
Code:
<input type="text" name="year" id="year" maxlength="4" />

Dann vielleicht noch mit javascript prüfen ob iwrklich 4 stellen eingegeben wurden.
Code:
<script type="text/javascript">
function checkLength(){
   var textFieldVal = document.getElementById('year').value;
   if(textFieldVal.length < 4 || textFieldVal.length > 4) {
      alert('Bitte ein 4 stelliges Datum eingeben!);
   }
}
</script>

Ob das Javascript so jetzt funktioniert kann ich nicht sagen, da ich eigentlich nur noch jQuery verwende, soll aber ein Ansatz sein der dir das Vorgehen vermittelt.
 
Zurück