Example #1
0
    /**
     * ユーザ情報を登録する
     * @param unknown $db
     */
    public function userCreate($db)
    {
        try {
            // 現在日時を取得
            $user_date = date('Y-m-d H:i:s');
            // SQL文を作成
            $sql = 'INSERT INTO user_table (user_id, user_name, user_email, user_password,
			user_age, user_gender, user_profile, user_profile_photo, user_profile_background, user_date)
			VALUES (:user_id, :user_name, :user_email, :user_password, :user_age,
			:user_gender, :user_profile, :user_profile_photo, :user_profile_background, :user_date);';
            $prepare = $db->prepare($sql);
            // SQL文のプレースホルダーに値をバインドする
            $prepare->bindValue(':user_id', $_SESSION['user_id'], PDO::PARAM_STR);
            $prepare->bindValue(':user_name', $_SESSION['user_name'], PDO::PARAM_STR);
            $prepare->bindValue(':user_email', $_SESSION['user_email'], PDO::PARAM_STR);
            // パスワードをハッシュ化
            $prepare->bindValue(':user_password', crypt($_SESSION['user_password']), PDO::PARAM_STR);
            $prepare->bindValue(':user_age', $_SESSION['user_age'], PDO::PARAM_STR);
            $prepare->bindValue(':user_gender', $_SESSION['user_gender'], PDO::PARAM_STR);
            $prepare->bindValue(':user_profile', $_SESSION['user_profile'], PDO::PARAM_STR);
            $prepare->bindValue(':user_profile_photo', $_SESSION['user_profile_photo'], PDO::PARAM_STR);
            $prepare->bindValue(':user_profile_background', $_SESSION['user_profile_background'], PDO::PARAM_STR);
            $prepare->bindValue(':user_date', $user_date, PDO::PARAM_STR);
            $prepare->execute();
        } catch (PDOException $e) {
            echo 'エラー' . entity_str($e->getMessage());
        }
    }
Example #2
0
    /**
     * うついねを取り消すメソッドです
     * @param unknown $db
     * @param unknown $login_id
     * @param unknown $good_post_id
     */
    public function deleteGood($db, $login_id, $good_post_id)
    {
        try {
            // SQL文を作成
            $sql = 'UPDATE good_table SET good_delete_flag = 1 WHERE
			good_post_id = :good_post_id AND good_user_id = :good_user_id';
            $prepare = $db->prepare($sql);
            // SQL文のプレースホルダーに値をバインドする
            $prepare->bindValue(':good_post_id', intval($good_post_id), PDO::PARAM_INT);
            $prepare->bindValue(':good_user_id', $login_id, PDO::PARAM_STR);
            return $prepare->execute();
        } catch (PDOException $e) {
            $errors[] = entity_str($e->getMessage());
        }
    }
Example #3
0
    /**
     * ユーザプロフィールを更新する
     * @param unknown $db
     * @param unknown $user_id
     * @param unknown $user_name
     * @param unknown $user_profile
     * @return boolean
     */
    public function profileEdit($db, $user_id, $user_name, $user_profile, $user_profile_photo)
    {
        try {
            // SQL文を作成
            $sql = 'UPDATE user_table SET user_name = :user_name, user_profile = :user_profile,
			user_profile_photo = :edit_user_profile_photo WHERE user_id = :user_id AND user_delete_flag = 0';
            $prepare = $db->prepare($sql);
            // SQL文のプレースホルダーに値をバインドする
            $prepare->bindValue(':user_name', $user_name, PDO::PARAM_STR);
            $prepare->bindValue(':user_profile', $user_profile, PDO::PARAM_STR);
            $prepare->bindValue(':user_id', $user_id, PDO::PARAM_STR);
            $prepare->bindValue(':edit_user_profile_photo', $user_profile_photo, PDO::PARAM_STR);
            // 成功したときにtrue失敗したときにfalseを返す
            return $prepare->execute();
        } catch (PDOException $e) {
            $errors[] = entity_str($e->getMessage());
        }
    }
Example #4
0
    /**
     * 投稿をDB登録する
     * @param unknown $db
     * @param unknown $login_id
     * @param unknown $color_id
     * @param unknown $post_body
     */
    public function postCreate($db, $login_id, $color_id, $post_body)
    {
        try {
            // 現在日時を取得
            $post_date = date('Y-m-d H:i:s');
            // SQL文を作成
            $sql = 'INSERT INTO post_table (user_id, color_id, post_body, post_date)
			VALUES (:user_id, :color_id, :post_body, :post_date);';
            $prepare = $db->prepare($sql);
            $prepare->bindValue(':user_id', $login_id, PDO::PARAM_STR);
            $prepare->bindValue(':color_id', intval($color_id), PDO::PARAM_INT);
            $prepare->bindValue(':post_body', $post_body, PDO::PARAM_STR);
            $prepare->bindValue(':post_date', $post_date, PDO::PARAM_STR);
            if (!$prepare->execute()) {
                $errors[] = 'DB登録処理に失敗しました';
            }
        } catch (PDOException $e) {
            $errors[] = entity_str($e->getMessage());
        }
    }
Example #5
0
    /**
     * ユーザIDとパスワードの組み合わせでチェック
     * @param unknown $db
     * @param unknown $login_id
     * @param unknown $login_pass
     * @return boolean
     */
    public function loginCheck($db, $login_id, $login_pass)
    {
        try {
            // SQL文を作成
            $sql = 'SELECT user_id, user_password FROM user_table
			WHERE user_id = :login_id';
            $prepare = $db->prepare($sql);
            // SQL文のプレースホルダーに値をバインドする
            $prepare->bindValue(':login_id', $login_id, PDO::PARAM_STR);
            $prepare->execute();
            // 結果セットを取得(引数には戻り値の型を入力)
            $result = $prepare->fetch(PDO::FETCH_ASSOC);
            if (count($result) > 0 && crypt($login_pass, $result['user_password']) === $result['user_password']) {
                return true;
            } else {
                return false;
            }
        } catch (PDOException $e) {
            echo 'エラー' . entity_str($e->getMessage());
        }
    }
Example #6
0
    /**
     * ユーザーをアンフォローします
     * @param unknown $db
     * @param unknown $login_id
     * @param unknown $follower_user_id
     */
    public function unfollowUser($db, $login_id, $follower_user_id)
    {
        try {
            // SQL文を作成
            $sql = 'UPDATE follow_table SET follow_delete_flag = 1 WHERE
			follow_user_id = :login_id AND follower_user_id = :follower_user_id';
            $prepare = $db->prepare($sql);
            // SQL文のプレースホルダーに値をバインドする
            $prepare->bindValue(':login_id', $login_id, PDO::PARAM_STR);
            $prepare->bindValue(':follower_user_id', $follower_user_id, PDO::PARAM_STR);
            $prepare->execute();
        } catch (PDOException $e) {
            $errors[] = entity_str($e->getMessage());
        }
    }
Example #7
0
$login_pass = '';
// エラー保持用配列
$errors = array();
// DBコネクトオブジェクト取得
try {
    $db = get_db_connect();
} catch (PDOException $e) {
    $errors[] = entity_str($e->getMessage());
}
if (!isPost()) {
    include_once '../include/view/login.php';
} else {
    if (getPost('action_id') === 'login') {
        // ユーザIDとパスワードの組み合わせでチェック
        $login_id = entity_str(getPost('login_id'));
        $login_pass = entity_str(getPost('login_pass'));
        //  todo ユーザID入力チェック
        if (!isExist($login_id)) {
            $errors[] = 'ユーザIDを入力してください';
        }
        // todo パスワード入力チェック
        if (!isExist($login_pass)) {
            $errors[] = 'パスワードを入力してください';
        }
        // 入力エラーがない場合DB認証チェック
        if (count($errors) === 0) {
            $login = new user_login_model();
            if ($login->loginCheck($db, $login_id, $login_pass)) {
                // ログインIDを記録
                $_SESSION['login_id'] = $login_id;
                setcookie('login_id', $login_id, time() + 60 * 60 * 24 * 30);
Example #8
0
 if ($user_password_confirm !== $_SESSION['user_password']) {
     $errors[] = '確認用パスワードが一致しません';
 }
 $_SESSION['user_age'] = entity_str(getPost('user_age'));
 if (!isExist($_SESSION['user_age'])) {
     $errors[] = '年齢を入力してください';
 } else {
     if (!isOverText($_SESSION['user_age'], 3) || !isOnlyNumber($_SESSION['user_age'])) {
         $errors[] = '正しい年齢を入力してください';
     }
 }
 $_SESSION['user_gender'] = entity_str(getPost('user_gender'));
 if (!isExist($_SESSION['user_gender'])) {
     $errors[] = '性別を選択してください';
 }
 $_SESSION['user_profile'] = entity_str(getPost('user_profile'));
 if (!isExist($_SESSION['user_profile'])) {
     $errors[] = 'プロフィールを入力してください';
 } else {
     if (!isOverText($_SESSION['user_profile'], 200)) {
         $errors[] = '文字数は200文字以内にしてください';
     }
 }
 // 画像アップロード処理
 if (!checkPostMaxSize()) {
     $errors[] = 'ファイルサイズは100KB以下にしてください';
 }
 if (isset($_FILES['user_profile_photo'])) {
     for ($i = 0; $i < count($_FILES['user_profile_photo']['name']); $i++) {
         // アップロードファイルチェック
         list($result, $ext, $error_msg) = checkFile($i);
Example #9
0
 if (getPost('action_id') === 'profile_edit') {
     $my_profile = $main->getMyProfile($db, $login_id);
     $my_time_line = $main->getMyTimeLine($db, $login_id);
     include_once '../include/view/my_profile_edit.php';
 } else {
     if (getPost('action_id') === 'profile_edit_complete') {
         // todo: プロフィール更新処理
         $edit_user_name = entity_str(getPost('edit_user_name'));
         if (!isExist($edit_user_name)) {
             $errors[] = 'ユーザネームを入力してください';
         } else {
             if (!isOverText($edit_user_name, 20)) {
                 $errors[] = '文字数は20文字以内で入力してください';
             }
         }
         $edit_user_profile = entity_str(getPost('edit_user_profile'));
         if (!isExist($edit_user_profile)) {
             $errors[] = 'プロフィールを入力してください';
         } else {
             if (!isOvertext($edit_user_profile, 200)) {
                 $errors[] = '文字数は200文字以内にしてください';
             }
         }
         if (isset($_FILES['edit_user_profile_photo'])) {
             // todo: 画像アップロード入力チェック
             if (!checkPostMaxSize()) {
                 $errors[] = 'ファイルサイズは100KB以下にしてください';
             }
             // アップロードファイルチェック
             list($result, $ext, $error_msg) = checkUpdateFile();
             $errors = array_merge($errors, $error_msg);
Example #10
0
if (count($main->getUserList($db, $login_id)) === 0) {
    $msg[] = 'ユーザ一覧データがありません';
} else {
    $user_list = $main->getUserList($db, $login_id);
}
// タイムラインを取得します
if (count($main->getAllTimeLine($db, $login_id, $my_follow_list)) === 0) {
    $msg[] = 'つぶやきがありません';
} else {
    $all_time_line = $main->getAllTimeLine($db, $login_id, $my_follow_list);
}
if (isPost()) {
    if (getPost('action_id') === 'post_create') {
        $color_id = entity_str(getPost('color_id'));
        echo $color_id;
        $post_body = entity_str(getPost('post_body'));
        // 入力チェック
        if (isExist($color_id) !== true) {
            $errors[] = '色を選択してください';
        } else {
            if (preg_match('/^[1-5]$/', $color_id) !== 1) {
                $errors[] = '正しい色を選択してください';
            }
        }
        if (isExist($post_body) !== true) {
            $errors[] = 'つぶやきを入力してください';
        } else {
            if (isOvertext($post_body, 140) !== true) {
                $erros[] = 'つぶやきは140文字以内で入力してください';
            }
        }
Example #11
0
    /**
     * ユーザ一覧を取得する
     * @param unknown $db
     * @param unknown $login_id
     * @return multitype:
     */
    public function getUserList($db, $login_id, $index = 10)
    {
        try {
            // SQL文を作成
            $sql = 'SELECT user_id, user_name, user_profile, user_profile_photo FROM user_table
			WHERE user_id <> :login_id AND user_delete_flag = 0 ORDER BY user_date DESC
			LIMIT :index';
            $prepare = $db->prepare($sql);
            // SQL文のプレースホルダーに値をバインドする
            $prepare->bindValue(':login_id', $login_id, PDO::PARAM_STR);
            $prepare->bindValue(':index', $index, PDO::PARAM_INT);
            $prepare->execute();
            // 結果セットを取得
            $result = $prepare->fetchAll(PDO::FETCH_ASSOC);
            return $result;
        } catch (PDOException $e) {
            $errors[] = entity_str($e->getMessage());
        }
    }