-1

わかりましたので、pdoを初めて使用し、単純なログインシステムを作成しましたが、ユーザーがユーザー名またはパスワードを空白のままにするとエラーメッセージがポップアップ表示されませんが、運が悪く、調査と他の人の助けを借りてコードを取得しましたが、私は今困惑しています。私はこれが初めてであることを心に留めておいてください。

PS 私はこれが安全なシステムではないことを知っています

ここにコードがあります

<?php
    session_start();
    //connection String
    $connection = new PDO("sqlsrv:server=server;Database=database", "username", "password"); 

    //Seelcting function
    $smt = $connection->prepare("select user_id, username from account where username = :username and password =:password");

    //setting values to textboxes
    $username = $_POST["txt_username"];
    $password = $_POST["txt_password"];

    //binding values
    $smt->bindParam(':username', $username);
    $smt->bindParam(':password', $password);

    //execution
    $smt->execute();

    //fetching data
    $row = $smt->fetch( PDO::FETCH_ASSOC ) ;  
    echo "$row[user_id]\n\n";
    echo "$row[username]\n\n";
    $_SESSION{"user_id"} = $row["user_id"];



if ($smt->recordCount() == 0){
  $_SESSION['errormsg'] = "login failed";
  header( "location: login.php");
} else{
  header("location: homepage.php");
}


if( isset( $_SESSION['errormsg'] ) ) {
  // do the output
  echo $_SESSION['errormsg'];
  // delete the message from the session, so that we show it only once
  unset( $_SESSION['errormsg'] );
}



?>
4

1 に答える 1

0

エラーを設定した直後に設定を解除しているようです。エラーメッセージが設定されているかどうかを確認してからエラーでリダイレクトするように順序を変更します。

于 2013-05-30T16:46:45.700 に答える