Variabelen eenmalig 'setten'
Ik had niet echt een idee hoe ik deze hulpvraag het beste kon omschrijven in de titel dus vandaar nu de wat betere uitleg:
Ik heb een inlog/registreer pagina gecreëerd en na het inloggen kan de gebruik navigeren naar zijn profiel. In dit profiel zijn een paar algemene dingen te vinden zoals geslacht, leeftijd, etc. Deze kunnen ook bewerkt worden middels een form (bewerken knop).
De variabelen voor deze algemene gegevens ($leeftijd en $geslacht) worden geset na het opslaan van de form.
Nu zijn bij het allereerste moment dat de gebruiker inlogt deze variabelen echter nog leeg. Omdat ik helemaal lege variabelen niet mooi vindt staan wil ik de variabelen (eenmalig of totdat de gegevens zijn opgeslagen) veranderen in ONBEKEND. Het probleem is echter dat ik geen idee heb hoe ik dit voor elkaar kan krijgen. Op dit moment set ik de variabelen aan het begin op ONBEKEND, na het opslaan van de gegevens worden deze variabelen veranderd. Echter als de pagina ververst wordt zullen ze weer geset worden op ONBEKEND wat natuurlijk niet de bedoeling is. Er zal dus een soort if statement moeten komen die kijkt of de gegevens al zijn aangepast ja of nee.
De vraag hierop is: hoe kan ik zo'n soort systeempje voor elkaar krijgen? Is het nodig om hier een aparte database table voor te maken of kan het makkelijker?
Bij voorbaat dank!
Dankjewel!
Een programma begrijpt "onbekend" niet, hij kent geen nederlandse taal (überhaupt geen taal...), hetzelfde geldt voor de database. Alleen wat de gebruiker ziet, de view, weet wat 'onbekend' betekend (behalve als er een buitenlander je site gebruikt). Misschien wil je in de toekomst dit wel veranderen naar meerdere talen.
Dat is een ding dat je moet afhandelen in het view gebiedt, in je programma wil je gewoon lekker met null (niks) kunnen werken, dat begrijpt de database en je programma tenminste. Dus zodra je de waarde toont op het scherm zet je het om:
Code (php)
1
2
3
4
5
2
3
4
5
<form ...>
<!-- ... -->
<input type="number" name="age" value="<?php echo (null === $age ? 'ONBEKEND' : $age) ?>" />
<!-- ... etc. -->
</form>
<!-- ... -->
<input type="number" name="age" value="<?php echo (null === $age ? 'ONBEKEND' : $age) ?>" />
<!-- ... etc. -->
</form>
echo (null === $age ? 'ONBEKEND' : $age) is een shortcut, een oneliner, van de versie if (null === $age) { echo 'ONBEKEND' } else { echo $age }. Als je PHP5.3 gebruikt (dat moet je onderhand wel hebben...) dan kun je het ook nog als echo $age ?: 'ONBEKEND' gebruiken.
Is een spatie null?
Ger, nee behalve dat ik verwacht dat een normalizer op program niveau die spatie wel weer omzet in null.
Valt me tegen van je :-P