• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:同じ配列処理)

同じ配列処理でユーザー認証プログラムを作る方法

このQ&Aのポイント
  • PHPファイル内にユーザー名、パスを定義していますが、外部ファイルから読み込む方法を知りたいです。
  • 具体的には、CSVファイルからユーザー名とパスを読み込んで、配列として扱いたいです。
  • 現在の処理だと、CSVファイルからの読み込みがうまくいっていないため、どのように修正すれば良いか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.2

正しいCSV形式、つまり改行コードLFを用いて admin,pass[LF] guest,guest[LF] というように全ての行末にLFが存在している前提で。 $fp = fopen($userfile, 'r'); while ($row = fgetcsv($fp)) { $users[$row[0]] = $row[1]; } fclose($fp); fgetcsv関数を使えばシンプルに書けます。

その他の回答 (1)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

>$users[$i] = array($id, $pass); 最初にご自分が書いた形式になっていません。 $users[$id] = $pass; ですよね。 $users = array(); $lines = file($userfile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach ($lines as $line) { list($id, $pass) = explode(",", $line); $users[$id] = $pass; } ちなみにCSVファイルに保存するのですから、ユーザ名・パスワードに区切り記号が混入しないように注意しないといけません。タブ区切りならそういう面倒もないですが、まぁ入力チェックで英数字限定とかですかね。またパスワードはハッシュを記録するようにしてください。

関連するQ&A