PHP
Your hosting panel offers PHP 8.2, 8.3, 8.4 and 8.5. Which one should you pick? The highest number is easy to spot. The useful choice is the one your ...
Allowed memory size exhausted means a PHP request exceeded its configured memory limit. It does not, by itself, prove that the server has run out of R...
Logging out should make the current browser stop presenting an authenticated session. Clearing a page variable is not enough: the server-side session ...
Email activation can confirm that a person can receive mail at an address, but it does not prove a legal identity. Treat the activation link as a temp...
A password reset link is a temporary credential. Anyone who obtains it may be able to change the account password, so the token must be difficult to g...
A “remember me” checkbox creates a credential that lasts longer than the current browser session. Treat it like a password reset token: someone who st...
A login can appear successful and still lose its session on the next request. PHP sessions depend on a cookie reaching the browser and the server bein...
JSON decoding can fail because a request is malformed, and encoding can fail because a value cannot be represented as valid JSON. If a program ignores...
When filter_input() returns NULL, it is tempting to treat the value as an empty string or a failed validation. Those are different states. A missing i...
cURL error 60 means certificate verification failed during a connection. In WordPress it may appear while contacting an update service, payment provid...