Probably better for the general or newbies forum this question. I cannot see any errors besides you coding in register_globals = off
use $_POST if from a form and the method is post
use $_GET if the information is coming from the string off the url e.g.
mydomain.com?url=http://phpbuilder.com
$_GET['url'] will echo out http://phpbuilder.com
and more check out the predefined variables in the manual http://www.php.net/manual/en/language.variables.predefined.php
also a little curious about this bits of code
$del=mysql_query("SELECT * from book ");
$del=mysql_query("DELETE FROM book WHERE id=$id");
and
$upd=mysql_query("SELECT * from book ");
$upd=mysql_query("update from book set title=$title,name=$name,msg=$msg where id=$id");
In both situations you select from the database however you never use the variable again. Get rid of both selects and the $upd and $del on the Update query and Delete query they will not work otherwise.