Toon posts:

[PHP] Checken van var => werking?

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoi

Ik kom in verschillende scripts (incl. phpBB) regels opgebouwd als de volgende tegen:

code:
1
$var= (!empty($HTTP_POST_VARS['var'])) ? $HTTP_POST_VARS['var'] : '';


Ik ben al zover dat deze methode wordt gebruikt om vars te checken, maar ik begrijp de werking niet (bv. wat de "?" en ":" er staan te doen). Ik weet dat dit een request naar uitleg is en dat dit eigenlijk niet mag maar ik heb al verschillende keren geprobeerd te zoeken naar een degelijke uitleg maar deze heb ik nog nooit kunnen vinden. Volgens mij is het ook een beetje als zoeken naar een speld in een hooiberg...

Zou iemand een voorbeeldje kunnen en willen maken om het te verduidelijken?

Ik heb volgende code:

code:
1
2
3
4
5
6
7
8
9
// Check gebruikersnaam
$_POST['gebruikersnaam'] = trim($_POST['gebruikersnaam']);
if(strlen($_POST['gebruikersnaam']) < 3 || strlen($_POST['gebruikersnaam']) > 25 || $_POST['gebruikersnaam'] != strip_tags($_POST['gebruikersnaam']))   {
    $error                  = TRUE;
    $error_gebruikersnaam   = TRUE;
}
else    {
// ...
}


Hoe zou ik die kunnen omzetten naar regels zoals ik hierboven één vermelde?

Alvast bedankt!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:50

crisp

Devver

Pixelated

[google=trinary operator] ;)

Intentionally left blank


Verwijderd

Het is vrij simpel. Als de variabele inderdaad leeg is voert-ie de code links van de : uit en anders wat rechts staat. In dit geval staat alleen rechts niets..... :P Even nazoeken in mijn Java boek. Moment...(Ja, het is PHP, maar dit soort dingen is vaak gelijk in verschillende talen)

Verwijderd

Laat maar. De gegeven links zeggen genoeg lijkt me

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:50

crisp

Devver

Pixelated

ja, het is hooguit een discussiepunt of het nou een trinary of een ternary operator is ;)
Officieel is ternary de benaming voor het base-3 getalstelsel volgens mij...

Intentionally left blank


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Ik heb altijd geleerd dat het een ternary operator is iig. :)

PHP:
1
2
if (1 == 2) $a = 12;
else $a = 6;

is gelijk aan
PHP:
1
$a = (1 == 2) ? 12 : 6;


Maar dat had je met een beetje zoekwerk, zoals je hierboven ook wel kunt zien, ook wel kunnen vinden. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.