>> Because I don't want to reveal the IDNo (unique ID) to the world ?
ok. so what you need is a table with a "one time code". In other words, you have a table with 2 columns - one contains some randomly generated string id, and the other the actual id field. When you send out the email you use the "random" field as the parameter.
then when the link is clicked you can read the table, do a fetch on the random value, and prime the "real value" from there. (You coulf then delete the record at the same time makeing the link a "one time only" link. Or you could have a timeout field(s) in the table so it gets deleted after 3 days or something.
Incidentally it's a good idea with web apps to use a random string id field for your tables if you can. This prevents a user "guessing" a valid id.
This whole approach is similar to what bidv is doing, but that's a very short-term link, which is in Ram, and is bound to a specific session.
cheers
Bruce