Jeg skal lige være helt sikker før jeg sådan gå rigtig i gang, du kun have 1 felt? og den skal have "DATETIME", hvorfor lige "Datetime" og ikke "date"?.
du kan sikkert også nøjes med date formatet (klipper jo bare timer:minuter:sekunder af)
fordelen ved 1 felt af typen datetime/date er der er en masse php og mysql functioner der arbejder direkte med denne datatype
du kan godt lave noget af det med js/query, men kontroller også serverside
du kan opnå en fordel ved at bruge js/jquery til at enable send knappen, og det er du bliver fri for botter, da de pt. ikke kan afvikle js
Den forstår jeg ikke lige helt?, Hvad mener du helt med det?
- du kan slå js fra i din browser
- du kan manipulerer med alle client data via diverse udviklings værtøjer, og derved omgå den sikkerhed du forsøger at sætte
- du kan glemme at kalde det externe jquery.min.js
- du kan lave en fel i dit js der gør at js ikke afvikles...... nåå nej programmører er ufejlbarlige
- de validerer altid deres code
- de validerer altid bruger input (minimum serverside, og gerne clientside)
- de tester altid, med fejl visning slået til, og retter de fejl der er: (serverside og clientside)
- de anvender udviklings værktøjerne til deres browser
- de tester deres code i flere browsere
sidder lige og leger lidt med jquery datepicker
<!DOCTYPE html>
<html>
<head>
<title>Kontakt os</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<style type="text/css">
</style>
<style type="text/css">
</style>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/i18n/jquery-ui-i18n.min.js"></script>
<script type="text/javascript">
$(function() {
// tiden skal tages serverside, da man ikke kan stole på brugerens ur
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth(); //January is 0!
var yyyy = today.getFullYear();
$.datepicker.setDefaults( $.datepicker.regional[ "da" ] );
$("#datepicker").datepicker({
dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
yearRange: '1950:'+yyyy,
maxDate: new Date(yyyy, mm, dd),
// http://stackoverflow.com/questions/4151480/getting-age-automatically-when-given-date-of-birth
// alders beregning
onSelect: function(value, ui) {
var dob = new Date(value);
var age = new Date(today - dob).getFullYear() - 1970;
$('#age').html(age+' år gammel');
// alders kontrol
var status = (age<20)? true: false;
$('#msg').html( (! status )? 'OK': 'grønskolling' );
$("input[type=submit]").attr("disabled", status);
}
});
});
</script>
</head>
<body>
<form action="#" method="post">
Dato: <input type="text" name="dob" id="datepicker" readonly ="readonly">
<p id="age"></p>
<p id="msg"></p>
<input type="submit" id="send" name="send" value="send" disabled="disabled">
</form>
</body>
</html>
serverside code er der vist noget i den tråd jeg henviste til tidligere der kan anvendes
hurtig omskrevet af http://www.udvikleren.dk/forum/38884/foedselsdag-system 01.10.12 19:41
(utestd)
<?php
function CalcAge($alle_alder){
$datetime1 = new DateTime("now");
$datetime2 = DateTime::createFromFormat("Y-m-d", $alle_alder);
$interval = $datetime1->diff($datetime2);
return $interval->format('%y');
}
echo 'brugeren er ' . CalcAge ("1966-11-10") .' år gammel';
?>
når det ligger i databasen er dette indlæg interessant
http://www.udvikleren.dk/forum/38884/foedselsdag-system 02.10.12 08:17
men også den link du viste ovenfor
Altså jeg er lidt "ligeglad" med
datetime - (
jeg skal ikke rigtig bruge det til noget som helst)
- function CalcAge($alle_alder){
- $datetime1 = new DateTime("now");
- $datetime2 = DateTime::createFromFormat("Y-m-d", $alle_alder);
- $interval = $datetime1->diff($datetime2);
- return $interval->format('%y');
- }
- echo 'brugeren er ' . CalcAge ("1966-11-10") .' år gammel';
så kan jeg ikke bygge function ind i function
? hmm
er det så ikke bare tag function væk og lave en
Variables som har ind post?Vdr det script du har lavet med jquery, synes jeg det er smart men kan man ikke gøre sådan at fra i og 20 år bag ud kan man ikke vælge en dato?
Tænker lidt på :
- $.datepicker.setDefaults( $.datepicker.regional[ "da" ] );
- $("#datepicker").datepicker({
- dateFormat: 'yy-mm-dd',
- changeMonth: true,
- changeYear: true,
- yearRange: '1950:'+yyyy,
- maxDate: new Date(yyyy, mm, dd),
-
- onSelect: function(value, ui) {
- var dob = new Date(value);
- var age = new Date(today - dob).getFullYear() - 1970;
- $('#age').html(age+' år gammel');
-
- // alders kontrol
- var status = (age<20)? true: false;
- $('#msg').html( (! status )? '': 'Kan ikke opret dig!' );
- $("input[type=submit]").attr("disabled", status);
- }
- });
om man ikke kan første finde ud af om man er under 20 så skal den komme frem og sige
Kan ikke opret dig! og man man er 21 så skal den komme frem og sige hvor gammel man er
Indlæg senest redigeret d. 25.07.2013 16:23 af Bruger #17136