PHP文本框阻止特殊字符

Here is my code:

<tr class="top">
                <th><label for="userName"><?php echo NICKNAME; ?></label></th>
                <td>
                    <input id="userName" class="text" name="name" maxlength="15"        type="text" value="<?php echo $form->getValue('name'); ?>">
                    <span class="error"><?php echo $form->getError('name'); ?></span>
                </td>
            </tr>

I want to prevent special characters (like ^ < > ! ' + % &) and other characters (ç i ğ ü ö)

Full Php File: http://pastebin.com/RBQ2TF6S

I need code for this and please tell me it simply..

Thank you.

EDIT: My lang file:

define("USRNM_EMPTY","(Kullanıcı adı boş)");
define("USRNM_TAKEN","(İsim zaten kullanımda.)");
define("USRNM_SHORT","(min. ".USRNM_MIN_LENGTH." figures)");
define("USRNM_CHAR","(Geçersiz Karakterler)");

EDIT2: Or we can prevent register with db_mysql.php

function register($username, $password, $email, $tribe, $act) {
    $time = time();
    $timep = (time() + PROTECTION);
    $q = "INSERT INTO " . TB_PREFIX . "users (username,password,access,email,timestamp,tribe,act,protect,lastupdate,regtime) VALUES ('$username', '$password', " . USER . ", '$email', $time, $tribe, '$act', $timep, $time, $time)";
    if(mysql_query($q, $this->connection)) {
        return mysql_insert_id($this->connection);
    } else {
        return false;
    }
}
function register($username, $password, $email, $tribe, $act) {
    $time = time();
    $timep = (time() + PROTECTION);
    if (ctype_alnum($username)) {
      $q = "INSERT INTO " . TB_PREFIX . "users (username,password,access,email,timestamp,tribe,act,protect,lastupdate,regtime) VALUES ('$username', '$password', " . USER . ", '$email', $time, $tribe, '$act', $timep, $time, $time)";
      if(mysql_query($q, $this->connection)) {
          return mysql_insert_id($this->connection);
      } else {
          return false;
      }
    } else {
      return false;
    }
}