PHP/signup

PHP
// セッション開始
session_start();
// 既にログインしている場合にはメインページに遷移
if (isset($_SESSION['USERID'])) {
header('Location: ../index.html');
exit;
}
$db['host'] = 'localhost';
$db['user'] = 'root';
$db['pass'] = '';
$db['dbname'] = 'test';
$error = '';
// ログインボタンが押されたら
if (isset($_POST['signUp'])) {
if (empty($_POST['username'])) {
$error = 'ユーザーIDが未入力です。';
}else if (empty($_POST['password'])) {
$error = 'パスワードが未入力です。';
}
if (!empty($_POST['username']) && !empty($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$dsn = sprintf('mysql: host=%s; dbname=%s; charset=utf8', $db['host'], $db['dbname']);
$pdo = new PDO($dsn, $db['user'], $db['pass'], array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
// idの重複とパスワードの桁数チェック
function cheak($id,$count){
if($count > 0){
throw new Exception('そのユーザーIDは既に使用されています。');
}
if ($id < 8) {
throw new Exception('パスワードは8桁以上で入力してください。');
}
}
try{
$sqlname = 'SELECT * FROM userdata WHERE `name` = "$username"';
$ss = $pdo->query($sqlname);
$count = $ss->fetchColumn();
$id = strlen($_POST['password']);
cheak($id,$count);
$stmt = $pdo->prepare('INSERT INTO `userdata`(`name`, `password`) VALUES (:username, :password)');
$pass = password_hash($password, PASSWORD_DEFAULT);
$stmt->bindParam(':username', $username, PDO::PARAM_STR);
$stmt->bindParam(':password', $pass, PDO::PARAM_STR);
$stmt->execute();
$_SESSION['USERID'] = $username;
echo 'script>
alert("登録が完了しました。");
location.href="main.php";
/script>';
} catch(Exception $e){
$error = $e->getMessage();
}
}
}