12// パスワード登録時3$sql='INSERT INTO users (mail, pass) VALUES (?, ?)';4$stmt=mysqli_prepare($db,$sql);5mysqli_stmt_bind_param($stmt,'ss',$_REQUEST['mail'],password_hash($_REQUEST['pass'],PASSWORD_DEFAULT));6mysqli_stmt_execute($stmt);78// パスワード照合時9$sql='SELECT * FROM users WHERE mail = ?';10$stmt=mysqli_prepare($db,$sql);11mysqli_stmt_bind_param($stmt,'s',$_REQUEST['mail']);12mysqli_stmt_execute($stmt);13mysqli_stmt_bind_result($stmt,$user);14mysqli_stmt_fetch($stmt);15if(password_verify($_REQUEST['pass'],$user['pass'])){16// ログイン成功17}
12<?php3require('dbconnect.php');45session_start();67if(isset($_POST)){8if(!empty($_POST)){//ログインの処理 9if($_POST['mail']!=''&&$_POST['pass']!=''){10$sql=sprintf('SELECT * FROM users WHERE mail="%s" AND pass="%s"',11mysqli_real_escape_string($db,$_POST['mail']),12mysqli_real_escape_string($db,sha1($_POST['pass']))13);14$record=mysqli_query($db,$sql)ordie(mysqli_error($db));15$result=mysqli_fetch_assoc($record);16if(!empty($result)){//ログイン成功 17header('Location: main.php');18exit();19}else{20$error['login']='failed';21}22}else{23$error['login']='blank';24}25}else{26echo'<p>NOSET!!!!</p>';27}28}2930?>3132<!DOCTYPEhtml>33<html>34<head>35<title>ログインページ</title>36</head>37<bodybgcolor="#FAFC7B">38<h2>ログインページ</h2>39<imgsrc="nekos.jpg">40<formaction=""method="post">41<dl>42<dt>メールアドレス</dt>43<dd><inputtype="text"name="mail"size="35"maxlength="255"></dd>44<dt>パスワード</dt>45<dd><inputtype="password"name="pass"size="35"maxlength="255"></dd>46</dl>47<inputtype="submit"value="ログイン">48<?phpif(!empty($error['login'])&&$error['login']=='blank'):?>49<p><fontcolor="red">* メールアドレスまたはパスワードをご記入ください</font></p>50<?phpendif;?>51<?phpif(!empty($error['login'])&&$error['login']=='failed'):?>52<p><fontcolor="red">* ログインに失敗しました。正しくご記入ください。</font></p>53<?phpendif;?>54</form>55<HR>56<ahref="join/register.php">新規登録</a>57<ahref="lookingforpass.php">パスワード照会</a>58<ahref="contact.html">お問い合わせ</a>59</body>6061</html>62