Jammer dat je verder weinig doet om dingen te verbeteren.
- Waarom van die rare overdreven variabel-namen? Waarom beginnen die met een hoofdletter?
- Waarom if NOT ... else ... en niet if ... else ... wat toch veel leesbaarder en logischer is.
- Waarom geen variabelen initialiseren? Nu ben je nog steeds niet zeker of $WDlng (what the f**k het mag betekenen) überhaupt bestaat vanaf regel 13 buiten het if/else statement. Dus dan nog maar een keer hetzelfde voorbeeldje om te kijken of het lampje gaat branden:
<?php
// Maak een variabele $language en geef deze een standaard waarde (default value).
$WDlng = 'ENG';
// hieperdepiep je hebt altijd een $WDlng variabele MET een geldige waarde. Als de if TRUE oplevert dan wordt de standaard waarde overschreven en anders heb je de waarde 'ENG'
- Waarom van die rare overdreven variabel-namen? Waarom beginnen die met een hoofdletter?
In in ieder geval Pascal/Delphi is het gebruikelijk om variabelen met een hoofdletter te beginnen (CamelCase). Misschien een overstapper?
On topic:
function my_set_cookie($key,$value,$delta = 600){
setcookie($key,$_COOKIE[$key] = $value,time() + $delta,'/');
}
Kun je daarna gewoon meteen in $_COOKIE kijken.
Maarrr: als je cookies toch maar voor 10 minuten (600 seconden) zet, waarom dan niet gewoon in de $_SESSION bijhouden? Kan iemand er ook niet mee gaan kl*ten (bijvoorbeeld JaiDje_Language = '"<).
?
Onbekende gebruiker
23-02-2020 17:49
Frank,
Jouw manier van werken met VAR's is misschien anders dan anderen, om het overzichtelijk te houden heb ik een ezelsbruggetje.
VAR die uit (bijvoorbeeld) een config bestand komen en geldig MOETEN blijven beginnen met de hoofdletters WD van Website Data, in geval van WDlng is het dus "Website Data LaNGuage", dus logisch lijkt mij.
Het IF NOT verhaal snap ik niet helemaal wat je bedoeld, ik heb het geleerd met IF ELSE en evt ELSEIF.
Bij regel 13 begint het checken voor de 2e cookie, en vanaf regel 23 het derde cookie, wat is daar dan fout aan, dit horen dan toch aparte IF secties te worden, voor het geval er 1 of 2 van de totaal 3 cookies niet bestaat.
En ja, Rob heeft gelijk, als je eerst Basic, dan Pascal en met nog een paar programmeertalen hebt gespeeld dan neem je gewoontes uit de ene taal over in een andere taal.
En Rob, ik zal naar $_SESSION gaan kijken, misschien "schoner", veiliger en makkelijker. ;-)
>> Jouw manier van werken met VAR's is misschien anders dan anderen, om het overzichtelijk te houden heb ik een ezelsbruggetje.
Zullen we het omdraaien? Ik sluit me aan bij 95% van de php programmeurs. Begrijp me niet verkeerd het was maar een advies.
>> VAR die uit (bijvoorbeeld) een config bestand komen en geldig MOETEN blijven beginnen met de hoofdletters WD van Website Data, in geval van WDlng is het dus "Website Data LaNGuage", dus logisch lijkt mij.
Nou niet echt. Ten eerste mag ik een klein beetje aannemen dat je minimaal een functie hebt die je config variabelen inleest? Maar nog liever heb je een config class? Dit zegt iedereen wel iets:
<?php
$config = new Config();
$dbUser = $config->get('db_user');
?>
>> Het IF NOT verhaal snap ik niet helemaal wat je bedoeld, ik heb het geleerd met IF ELSE en evt ELSEIF.
Wederom maar een tip. Het is allemaal niet ernstig. Wat je schrijft is:
Als er GEEN cookie is: maak cookie, anders lees het cookie.
In plaats van
Als er (WEL) een cookie is: lees het cookie, anders maak een cookie
Dan vervolgens: als je een nieuwe variabele introduceert in een IF statement dan bestaat de variabele in de rest van je code de ene keer wel en de andere keer niet, namelijk enkel maar als de IF wordt uitgevoerd en anders niet. Dat kun je oplossen door variabelen te initialiseren. Initialiseren is misschien een duur woord maar het komt er gewoon op neer dat je de variabele aanmaakt met een standaard waarde en buiten het IF blok.
Ik ging er blindelings van uit dat de COOKIE bedoelt was voor als de gebruiker terugkeerde nadat de SESSIE reeds verlopen was. Scherp van Rob.
?
Onbekende gebruiker
23-02-2020 20:37
gewijzigd op 23-02-2020 20:59
Zullen we het omdraaien? Ik sluit me aan bij 95% van de php programmeurs. Begrijp me niet verkeerd het was maar een advies.
Bedoelde het ook niet verkeerd, iedere (hobby)programmeur heeft zijn/haar eigen manier, was meer bedoeld als aanloop voor mijn ezelsbruggetje waar ik inmiddels ruim 20 jaar mee werk, het is iets waardoor ik snel (ook na lange tijd) kan herleiden wat voor VAR het is.
Nee, ik laad vooraan in m'n code een config bestand met mijn "WD" (sorry, kon het niet laten) VAR's waarmee ik ze introduceer, VAR die niet geldig hoeven blijven staat in hun eigen "deel" van de code, kan een functie zijn, kan een IF of WHILE stuk zijn.
Ok, het IF NOT is duidelijk.
Maar ik ga het advies van Rob verder bekijken, gaat uiteindelijk om VAR's in een sessie, als de bezoeker de site verlaat mogen ze vervalen.
En voor het juiste beeld, alle programmeer kunsten in de verschillende talen heb ik mezelf geleerd zonder cursus, wellicht daardoor volg ik niet altijd de "standaard" manier van opzetten van code.
Ik geef zonder meer toe, kom ik er na veel puzzelen niet uit dan roep ik hulp in van Forums.
Maar het maakt me wel trots als een project draait, terwijl dit voor een PRO programmeur een eitje zou zijn.
>> Maar ik ga het advies van Rob verder bekijken, gaat uiteindelijk om VAR's in een sessie, als de bezoeker de site verlaat mogen ze vervalen.
Goed idee! Ben je bekend met sessie variabelen?
?
Onbekende gebruiker
23-02-2020 21:38
Nee, daarom ga ik het rustig bekijken en in (testpagina) opbouwen, kom ik zeker op terug.
Wil ik eerst leren kennen voordat ik het in de (nu onder PHP7 draaiende website) inbouw.
Er staat (zag ik al) uitgebreide uitleg online.