Another suggestion. Perform the 60*60*24*365 calculation ONCE, and insert that value into the cookie function. It'll save time so PHP doesn't have to keep working out the same thing again and again. The time saved is negligable, but it's also good coding practise and provides you with one place to change the value should you want to.

Well I can't use $_POST because my host disabled it, and I'm only setting one cookie, I just showed all those lines because those are all the different ways I tried to get it to work, but it never did... When I tell the page to print the cookie ( which I think should be $CPOST['username'] ) it returns an empty variable.

You can configure Apache to not accept posted data. PHP can do nothing about that.
Also, My host didn't disable that, possibly Xerpher's host did.
Why they do it? I don't know, I can't think of a good reason.

Now I know its setting a cookie because my browser asks me if I will allow it. And the variable $POST_username isn't empty, I'm getting it to show itself right after the cookie is set so I know that variable isn't empty. I even tried this code:

Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires. Expire time is set via the expire parameter.

I was replying to Xerpher ;). If the host won't accept POST data, change the form to $_GET. They MUST accept that if they're using PHP (otherwise why bother having a dynamic setup?).
Also, add the fourth element as '/', so your cookie code looks like setcookie ("TestCookie", $value, time()+3600,'/'); When I was having problems with my site I did that and it worked.

I get cookie alerts so the first if definitely works, but at the end, I always get "dangit" no matter what. So it seems my cookie is empty.... (Which is weird because I put a letter in front of the variable to make sure it isn't empty )

you are trying to set a cookie and read it in the same script
wich is not possible!!!
the cookie will appear in the next script you call!!!

same pittfall again... read my previous post.

as an extra note:
You login a user by setting a cookie and checking that cookie everytime.
Might be more easy by using sessions and remembering a session-variable. That way users that refuse the cookie can login normally.