忍者ブログ

からすまる日誌 mySQL

授業ノートのまとめ

応用(14) ツイッターもどき(6)

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

応用(14) ツイッターもどき(6)

先週の続き
 
ではlogin.phpを名前を変えて保存して
user_form.phpをつくりましょう(ユーザーの登録画面)
 
入力を一つ増やしてユーザ名、パスワード、ニックネームにします
 
ボタンの文字は「登録」で
post先もmake_user.phpに変更
 
ここまで

--->user_form.php
 
<!DOCTYPE html>
<html lang="ja">
 <head>
  <meta charset="utf-8">
  <title>ユーザフォーム</title>
  <link rel="stylesheet" href="css/style.css">
 </head>
 <body>
  <div id="container">
   <h1>ユーザー登録</h1>
   <form method="post" action="make_user.php">
    <table>
     <tr>
      <th><label for="u_id">ユーザ名</label></th>
      <td><input type="text" name="u_id" id="u_id"></td>
     </tr>
     <tr>
      <th><label for="pass">パスワード</label></th>
      <td><input type="password" name="pass" id="pass"></td>
     </tr>
     <tr>
      <th><label for="nickname">ニックネーム</label></th>
      <td><input type="text" name="nickname" id="nickname"></td>
     </tr>
     
    </table>
    <p><button type="submit">登録</button></p>
    
   </form>
  </div>
 </body>
</html>
 

続けてmake_user.php(ユーザ登録処理)を作る
 
本来なら、アカウントがすでに存在しているかどうかの判定が必要
今回はそれなしで作成しちゃうとのこと
かつ正しく情報が飛んでくる前提で。
 
作りたいSQL文はINSERT文になりますね。
 
とりあえずここまで
 
--->make_user.php
  
<?php
session_start();
require_once("config.php");
$sql="INSERT INTO users(u_id,pass,nickname) VALUES(:u_id,:pass,:nickname);
$stmt=$pdo->prepare($sql);
$stmt->bindValue(":u_id",$_POST["u_id"],PDO::PARAM_STR);
//passwordのハッシュ
$pass=password_hash($_POST["pass"],PASSWORD_DEFAULT);//第二引数を定数で指定(時代が変わってもOK)
$stmt->bindValue(":pass",$pass,PDO::PARAM_STR);
$stmt->bindValue("nickname",$_POST["nickname"],PDO::PARAM_STR);
$stmt->execute();
//ログインしたことにして、タイムラインにダイレクトに転送
$_SESSION["login"]=true;
$_SESSION["u_id"]=$_POST["u_id"];
$_SESSION["nickname"]=$_POST["nickname"];
//ページに留まるのは危険なので移動
header("Location: index.php");
exit();
?>
 
PR

コメント

ただいまコメントを受けつけておりません。

プロフィール

HN:
karasumaru
性別:
非公開

P R