• De afgelopen dagen zijn er meerdere fora waarop bestaande accounts worden overgenomen door spammers. De gebruikersnamen en wachtwoorden zijn via een hack of een lek via andere sites buitgemaakt. Via have i been pwned? kan je controleren of jouw gegeven ook zijn buitgemaakt. Wijzig bij twijfel jouw wachtwoord of schakel de twee-staps-verificatie in.

php alle dagen een nummer erbij

Status
Niet open voor verdere reacties.

glompie

Gewaardeerd
Lid geworden
28 aug 2008
Berichten
1.331
Waarderingsscore
9
Ik heb 25-5-2023 met een nummer 20. Morgen moet ik nummer 21 hebben, overmorgen nummer 22 etc.
Zonder database en zonder cronjob. Kan dat in php en hoe dan?
 
PHP heeft een handige functie $datum1->diff($datum2) waarmee het verschil wordt berekend tussen datum1 (in jouw geval de begindatum) en datum2 (datum van vandaag). Tel daarbij (in jouw geval) het getal 20 op en je hebt het totaal. Elke dag wordt het totaal met 1 verhoogd.

PHP:
$startDatum = "30-5-2023";
$startGetal = 20;

date_default_timezone_set('Europe/Amsterdam');
$datum1 = new DateTime($startDatum);
$datum2 = new DateTime(date("d-m-Y"));
$verschil = $datum1->diff($datum2);
echo ($verschil->days + $startGetal) . " dagen";

Algemene voorbeelden vind je hier
 
Laatst bewerkt:
JavaScript is minder "gespierd" dan PHP maar door het verschil in milliseconden te berekenen en daarna weer terug te zetten in hele dagen werkt het. Er zijn andere manieren maar dit is een vaak gebruikte.

JavaScript:
let datum = "30-5-2023";
let getal = 20;

// maak van 'datum' en 'vandaag' een Date object
let arr = datum.split('-');
let dateDatum = new Date(arr[2], arr[1] - 1, arr[0]);
let dateVandaag = new Date();

// Verschil in msec. Daarna msec omzetten in hele dagen. Dan getal optellen.
let milliSec = dateVandaag.getTime() - dateDatum.getTime();
let verschil = Math.round(milliSec / (24 * 60 * 60 * 1000)) + getal;

alert ('Getal is vandaag: ' + verschil);
 
Laatst bewerkt:
In het verleden waren voor de "datum in het Nederlands" best wel wat regels nodig. Dit gaat nu in JavaScript vrij eenvoudig met toLocaleString waarin de land- en taalcode worden opgegeven, samen met de opties die je wilt zien.

JavaScript:
let datumObject = new Date();
let datumOpties = {
   weekday: "long",
   year: "numeric",
   month: "long",
   day: "numeric",
};
let datumTekst = datumObject.toLocaleString('nl-NL', datumOpties);
alert ('Vandaag is het ' + datumTekst);

De laatste regel geeft bijvoorbeeld
Vandaag is het: vrijdag 10 maart 2023
 
$bestandsnaam = 'counter.txt';
$huidigeWaarde = intval(file_get_contents($bestandsnaam));
$volgendeWaarde = $huidigeWaarde + 1;
file_put_contents($bestandsnaam, $volgendeWaarde);
echo "Huidige waarde: " . $huidigeWaarde;
 
Hi sophia0110, dat is ook een mogelijkheid. Er mist nog iets wat erin gemaakt zou moeten worden.

Ik heb 25-5-2023 met een nummer 20. Morgen moet ik nummer 21 hebben,

Alleen de volgende dag mag het getal opgehoogd zijn.
Als je hiervoor een stukje code hebt dan is het compleet.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan