elegxos gia to poses meres exei o minas

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
kingbill
Δημοσιεύσεις: 244
Εγγραφή: 19 Νοέμ 2005 15:06

elegxos gia to poses meres exei o minas

Δημοσίευση από kingbill » 08 Ιούλ 2006 16:02

pos mporo na elekso poses imeres exei o minas diladi

exo 3 box to ena gia tis imeres to allo gia tous mines kai to 3 gia ta xronia
tis imeres kai ta xronia tha ta bazei o xristis gia tin eggrafi tou o minas tha einai statheros den tha ton bazei o xrisths

p.x an balei o xristis 31 february 2005 na tou bgazei error
an balei o xristis 29 february 2005 tha to pairnei kanonika

Άβαταρ μέλους
nknet
Δημοσιεύσεις: 97
Εγγραφή: 23 Οκτ 2003 07:54

elegxos gia to poses meres exei o minas

Δημοσίευση από nknet » 08 Ιούλ 2006 17:08

Σου δίνω μια παλιά function που είχα φτιάξει και ελέγχει αν μια ημερομηνία είναι σωστή.
Ελπίζω να σε βοηθήσει.

Κώδικας: Επιλογή όλων

<?PHP 
// $hm Arithmos meras
// $hi Arithmos minas
// $xr Arithmos xronos
 function elenxos_hmerominias&#40;$hm,$mi,$xr&#41; &#123;
          $temp1 = true ;
          if &#40;is_numeric&#40;$hm&#41; AND is_numeric&#40;$mi&#41; AND is_numeric&#40;$xr&#41;&#41; &#123;
              if &#40;checkdate &#40;$mi,$hm,$xr&#41; == false&#41; &#123;
                  echo "\t<p>Δεν είναι έγκυρη η ημερομηνία.</p>\n";
                  $temp1 = false ;
              &#125;
          &#125; else &#123;
              echo "\t<p>Δεν είναι έγκυρη η ημερομηνία.</p>\n";
              $temp1 = false ;
          &#125;
          return $temp1;
 &#125;
?>

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

elegxos gia to poses meres exei o minas

Δημοσίευση από cherouvim » 08 Ιούλ 2006 17:22

diladi:

Κώδικας: Επιλογή όλων

 function elenxos_hmerominias&#40;$hm,$mi,$xr&#41; &#123;
          if &#40;is_numeric&#40;$hm&#41; AND is_numeric&#40;$mi&#41; AND is_numeric&#40;$xr&#41;&#41; &#123;
              if &#40;checkdate &#40;$mi,$hm,$xr&#41; == false&#41; &#123;
                  return true;
              &#125;
          &#125; else &#123;
              return false;
          &#125;
 &#125;
pou mas odigei sto:

Κώδικας: Επιλογή όλων

 function mycheckdate&#40;$hm,$mi,$xr&#41; &#123;
          return &#40;is_numeric&#40;$hm&#41; AND is_numeric&#40;$mi&#41; AND is_numeric&#40;$xr&#41; AND checkdate &#40;$mi,$hm,$xr&#41; == true&#41;;
 &#125;

pou nomizo einai idio me to:

Κώδικας: Επιλογή όλων

 function mycheckdate&#40;$hm,$mi,$xr&#41; &#123;
          return &#40;checkdate &#40;$mi,$hm,$xr&#41;&#41;;
 &#125;
solution:
http://php.net/checkdate

Άβαταρ μέλους
nknet
Δημοσιεύσεις: 97
Εγγραφή: 23 Οκτ 2003 07:54

elegxos gia to poses meres exei o minas

Δημοσίευση από nknet » 08 Ιούλ 2006 17:34

Η εντολή checkdate σου βγάζει λάθος αν βάλεις γράμματα αντί για νούμερα, για αυτό τον λόγο έχω βάλει 2 if

Άβαταρ μέλους
apoel
Δημοσιεύσεις: 350
Εγγραφή: 18 Ιούλ 2005 23:46
Επικοινωνία:

elegxos gia to poses meres exei o minas

Δημοσίευση από apoel » 26 Αύγ 2006 18:16

ke to is_numeric pali elexi an ine mono arithmoi allios sou epistrefi false

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

elegxos gia to poses meres exei o minas

Δημοσίευση από iffor » 27 Αύγ 2006 01:56

Ok, θα μπορούσες να κάνεις όπως είπε ο cherouvim, χρησιμοποιόντας απλά και την is_numeric στην function! Δηλ

Κώδικας: Επιλογή όλων

function mycheckdate&#40;$month,$date,$year&#41; &#123;
          return &#40;checkdate &#40;is_numeric&#40;$month&#41;,is_numeric&#40;$date&#41;,is_numeric&#40;$year&#41;&#41;&#41;;
&#125;
οπότε αν περαστεί γράμμα αντί για αριθμός, να μην σου πετάξει το κλασσικό Warning: checkdate() expects parameter x to be long,...

Τώρα, αν συνεχίζει να σου πετάει το Warning με το που εισάγεις γράμμα κάνε το παρακάτω

Κώδικας: Επιλογή όλων

function mycheckdate&#40;$month,$date,$year&#41; &#123;
	return  &#40;is_numeric&#40;$month&#41; && is_numeric&#40;$date&#41; && is_numeric&#40;$year&#41;&#41;?checkdate&#40;$month,$date,$year&#41;&#58;false;
&#125;
Α, ακόμα μου φαίνεται ότι στην checkdate, ως πρώτη παράμετρος είναι ο μήνας και μετά η ημέρα και ο χρόνος!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες