datum veranderd naar 0000 indien vóór 1970

Status
Niet open voor verdere reacties.

star3200

Gebruiker
Lid geworden
5 apr 2001
Berichten
409
Ik gebruik volgende regel om via een formulier een datum (in dit geval een geboortedatum) in mijn databank te steken:

<td class="label">geboortedatum</td><td><? echo writedatum("geboortedatum","1990-01-01 00:00:00",true,false); ?></td>​

Dit werkt, maar enkel wanneer de datum na 1970 is, alle andere data die ik ingeef veranderen naar 0000-00-00

Ik gebruik ook wel een javascriptje, misschien ligt hier het probleem:

function verzend(){
var jaar = parseInt(document.forms.mijngegevens.elements.geboortedatum_jaar.value);
}​


PS: dit is uiteraar niet de volledige code, ik wil die gerust ook uploaden indien nodig.
 
Waarschijnlijk komt het door de door jou gedefineerde functie writedatum, wij kunnen aan de hand hiervan niet uitvogelen wat die functie gaat doen...

Overigens snap ik niet waarom je niet gewoon met formulier velden werkt... Die kun je zelf aanpassen...
PHP:
<html>
<head>
<title>Test</title>
</head>
<body>
<?php
$max_jaar = 1950;
$maand_array = array(
"01" => "Januari",
"02" => "Februari",
"03" => "Maart",
"04" => "April",
"05" => "Mei",
"06" => "Juni",
"07" => "Juli",
"08" => "Augustus",
"09" => "September",
"10" => "Oktober",
"11" => "November",
"12" => "December"
);
echo '<select name="dag">';
for($i = 1; $i <= 31; $i++) {
  if($i < 10) {
    $i = '0'.$i;
  }
  echo'<option value="'. $i .'">'. $i ."</option>\n";
} 
echo '</select>
<select name="jaar">';
for($j = $max_jaar; $j <= date("Y"); $j++) {
  echo'<option value="'. $j .'">'. $j ."</option>\n";
}
echo'</select><select name="maand">';
foreach($maand_array AS $num => $maand) {
echo'<option value="'. $num .'">'.$maand."</option>\n";
}
echo '</select>';
?>
</body>
</html>
 
Unix time, or POSIX time, is a system for describing points in time: it is the number of seconds elapsed since midnight UTC of January 1, 1970, not counting leap seconds. It is widely used not only on Unix-like operating systems but also in many other computing systems.

Maak je hier ergens een fout mee in je functie ?
 
Dat was ik ook tegengekomen, maar ik weet niet meteen wat ermee te doen :p

Overigens snap ik niet waarom je niet gewoon met formulier velden werkt... Die kun je zelf aanpassen..

Dat gedeelte van de site is ooit door iemand anders gemaakt geweest, misschien moet ik het maar veranderen.
 
't Helpt misschien als je de functie writedatum eens laat zien ?
 
Code:
function writedatum($naam,$inhoud,$datum,$tijd){

	if(is_numeric($inhoud)){
		$date_time_array =  getdate($inhoud);
    	$jaar = $date_time_array["year"];
	    $maand = $date_time_array["mon"];
    	$dag = $date_time_array["mday"];
	    $uur = $date_time_array["hours"];
    	$minuut = $date_time_array["minutes"];
    }else{
    	$jaar = substr($inhoud,0,4);
	    $maand = substr($inhoud,5,2);
    	$dag = substr($inhoud,8,2);
	    $uur = substr($inhoud,11,2);
    	$minuut = substr($inhoud,14,2);    
    }
    $string = '';
	if($datum){
		$string.= getallenBox($naam.'_dag',1,31,$dag). ' '.maandenBox($naam.'_maand',$maand).' <input type="text" name="' .$naam. '_jaar" value="'.$jaar.'" size="4" length="4"/>';
	}
		
	if($tijd == 1 && $datum==1){
		$string.= " om ";
	}
		
	if($tijd){
		$string.= "<input type=\"text\" name=\"" .$naam."_uur\" value=\"".$uur."\" size=\"2\" length=\"2\"/> : <input type=\"text\" name=\"" .$naam."_minuut\" value=\"".$minuut."\" size=\"2\" length=\"2\"/>";
	}else{
		$string.= "<input type=\"hidden\" name=\"" .$naam."_uur\" value=\"".$uur."\"/><input type=\"hidden\" name=\"" .$naam."_minuut\" value=\"".$minuut."\"/>";
	}
	return $string;
}
 
Als ik het goed begrijp dan maakt die functie een soortgelijk selectie"menu" als die ik je gaf.

Lijkt mij dat die van mij iets makkelijker in omgang is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan