cURL is pretty diverse. It can be used for just about anything. That diversity makes it hard to recommend one good tutorial because it really depends on what you want to use it for.
The @ symbol prevents PHP from displaying errors associated with that expression. In my opinion, it's the lazy way of making a directory without checking first if it already exists and if you have...
If all you're trying to do is prevent another add if the user presses the refresh button, then you don't really need to add anything to the form. You can do it all with the session.
Yeah, I wouldn't suggest using sessions to build the menu ... just to "expand" the active menu section. I assume you use some JS to expand the sub-sections (IE: Music) when a user clicks on that...
Using die() will halt the execution of the script. Nothing beyond that will be processed. Instead of using die() you could just store the error in a variable and echo it in your error box or where...
At quick glance it looks like all your code to write to the file comes after you read the file. If you write the information submitted from the form BEFORE you read the file and count the lines, you...
"It's not working" is pretty vague. Are you getting any errors? Is the page echoing "ERROR"? Does everything "seem" to work, only you never receive the email? What do you get if you put var_dump($to,...
No problem. I try to help when/where I can. I'm just sorry I didn't have a better solution to offer. I've never been a huge fan of theming apps. In my opinion it can be a pain in the backside. But...
I think the closest you're going to get to something like that would be to use a provided API from one of the carts that allows you to do your own stuff from any page. Prestashop offers a decent API...