I use the excellent OpenVPN for my VPN needs. Since version 2 it supports printing a nice status file of currently connected clients but unfortunately it is a bit ugly.
I wrote a simple php library that can parse this file and returns a associative array of logged in users, you can then easily display it using Smarty or whatever you use for templating.
You can download version 1.0 here you can also check out the README and a Sample that I did using Smarty.

Nice script.
I found it best to add a trim() around the [updated] element.
Useful. Thanks.
Suggestion: if the logfile passed to parseLog() fails to fopen() correctly, the script loops endlessly. After the fopen(), do a test to make sure it actually opened, perhaps like this:
function parseLog ($log, $proto) {
$handle = fopen($log, "r");
if(!$handle)return false;