Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας,

 

Παλεύω εδώ και καιρό να φτιάξω ένα κώδικα σε php που να μου εκτελεί κάποιες εντολές σε προκαθορισμένη στιγμή με ημερομηνία που έχω ορίσει εγώ στο μέλλον.

 

ο κώδικας που έχω φτιάξει εγώ μέχρι στιγμής:

 

>
<?php

$nowdate = mktime(date("G"), date("i"), date("s"),date("m"),date("d"),date("Y"));
$targetday = date("G i s m d Y",mktime(13, 49, 01, 1, 28, 2012)); 

if ($targetday <= $nowdate) {
echo "deikse";
}
else {
echo "min deixneis";
}
?>

 

Προφανώς δεν μου δουλεύει και εδώ και πολλές μέρες παλεύω χωρίς αποτέλεσμα.

 

Αν έχετε κάποια ιδέα ευπρόσδεκτη.

 

Ευχαριστώ.

Δημοσ.

Η μόνη σου λύση είναι να χρησιμοποιήσεις κάποιο Cron Job είτε στον Server είτε σε κάποιο Client μηχάνημα.

 

Ο κώδικας που έχεις γράψει εκτελείται μόνο όταν κάποιος ανοίξει το αρχείο/σελίδα.

Δημοσ.

Μα πάντα θέλω να εκτελείτε όταν κάποιος ανοίγει την σελίδα. Το πρώτο if είναι για να σε κάνει redirect σε άλλη σελίδα εφόσον δεν έχει ανοίξει και το else άμα έχει περάσει ο χρόνος που έχω δώσει να μπει κανονικά στην σελίδα.(δηλαδή το else θα είναι κενό)

 

βρήκα ψάχνοντας και σήμερα αυτό εδώ και το δοκιμάζω:

 

>
$exp_date = "2006-01-16";
$todays_date = date("Y-m-d");
$today = strtotime($todays_date);
$expiration_date = strtotime($exp_date);
if ($expiration_date > $today)
{      $valid = "yes"; 
} else 
{
       $valid = "no";
}

Δημοσ.

Εγώ δεν είμαι σίγουρος για το τι θέλεις,

 

θέλεις όταν μπαίνει κάποιος στη σελίδα να κάνει κατι διαφορετικό ανάλογα με την ώρα;

 

ή

 

θέλεις να συμβαίνει κάτι αυτόματα σε συγκεκριμένες στιγμές ανεξάρτητα αν μπήκε κάποιος στη σελίδα ή όχι;

 

Δώσε περισσότερες λεπτομέρειες.

Δημοσ.

Παράδειγμα.

 

Πριν της 31 Ιανουαρίου και ώρα 12 τα μεσάνυχτα να εκτελείτε η εντολή echo "deikse"; και μετά από την ημερομηνία και ώρα αυτή την εκτελείται η εντολή echo "min deixneis";.

 

Όχι δηλαδή κάποιο καθημερινό πρόγραμμα ή κάποια επαναλαμβανόμενη ημερομηνία-ώρα.

 

 

Δημοσ.

Δεν τον έχω δοκιμάσει, πρέπει να τον δοκιμάσω και δεν έχω δυστυχώς τον χρόνο.

 

Τελικά το έκανα και δούλεψε με αρκετές δοκιμές φαίνεται οκ. Τώρα για 100% σίγουρος δεν είμαι αλλά θα γίνω το βράδυ.

 

ο κώδικας πάλι:

 

>
<?php
// ημερομηνία λήξεις χρόνου
$expdate = "2012-01-31";

// σημερινή ημερομηνία
$nowdate = date("Y-m-d");

// ημερομηνία σε δευτερόλεπτα από το 1970
 $now = strtotime($nowdate);

// ημερομηνία λήξεις σε δευτερόλεπτα από το 1970
 $expiredate = strtotime($expdate);
 
 if ($expiredate <= $now) {
	echo "τελειώσε το ban σου";
 }
 else {
   echo "έχεις ban"; 	
 }
 ?>

Δημοσ.

Εχε υποψιν σου οτι την ώρα καποιες φορες την τραβά απο τον server και όχι το pc σου, οποτε ισως έχεις καποια αποκλιση.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...