Lots of little problems here.
First of all, unless it's just a typo, I can only see a
single %s in the format string, but there's two
additional parameters, so there's nowhere for that
additional parameter to go. This is one of the
shortcomings of printf(); you are almost always
better off using print or echo since then your
statement reads simply from left to right -- unless
you absolutely need the formatting capabilities of
printf (e.g. displaying a number with leading zeros.)
Second, you're leaving out the equals sign between the
name of the variable and its value in the href. In addition,
it's not clear from your code fragment whether $value
contains the name of the variable (in which case
that part of the code is correct) or if you're leaving
out the variable names.
Finally, you're omiting quotes around the name of the
link. While it's possible that some browsers may accept
this, it's not really correct html. Your tag should read like
one of the following (after the variables are
interpolated):
<a href="cat01.php3?value=$gebruikersnaam">
or
<a href="cat01.php3?value=$value&gebruikersnaam=$gebruikersnaam">
In other words, the parameters are separated from the url
itself by a question mark. Each parameter consists of 'name=value',
and multiple parameters are separated by an ampersand (&😉.
If you have a question mark, equals sign, or ampersand embedded
into the name or the value, it will mess things up, so be sure to
call rawurlencode() first, especially for the values.