Почему в БД вставляются не те данные?
Честно не совсем понял, что вы хотите, но тут явно что-то не так:$name=trim($_REQUEST['name']);
    $surname=trim($_REQUEST['name']);
    $login=trim($_REQUEST['name']);
    $email=trim($_REQUEST['name']);
    $password=trim($_REQUEST['name']);
    $password2=trim($_REQUEST['name']);
нафиг во все переменные записывать только ИМЯ и почему только "trim", нужные еще "резальщики" тегов и эскейп стринг от mysql для защиты от всякой херни
Скажите, что будет, ясли я отправлю POST запрос с таким логином:'; DROP TABLE `users`; --
Даю подсказку, вы выполните запрос:SELECT * FROM `users` WHERE `login`=''; DROP TABLE `users`; -- ';
И еще спасибо скажите, что неSELECT * FROM `users` WHERE `login`=''; DROP DATABASE (SELECT DATABASE()) AS `db_name`; -- ';
1. Не используйте mysql_* функции, они уже помечены, как deprecated, вместо этого лучше PDO
2. Либо подставляйте значения по плейсхолдерам, либо хотя бы экранируйте строки вручную.