質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

0回答

876閲覧

ローカル開発環境で.phpのファイルを表示させたいです。

mickey25

総合スコア6

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

1クリップ

投稿2021/06/29 13:07

ローカル開発環境で.phpのファイルを表示させたいです。

Macを使用しています。
MAMPを使用しています。
ドキュメントルート: Applications/MAMP/htdocs
Web server: Apache
PHP version: 7.4.12
Apache Port: 8888
Nginx Port: 8888
MySQL Port: 8889

※下記以降の情報(メールアドレス、パスワード、データベース情報など)
teratailに載せる為、適当に入れています。

mysqlはレンタルサーバーのphpMyAdminからエクスポートし、
MAMPのphpMyAdminでデータベース作成し、名前を"ABCDEFG-TEST"にして作成
レンタルサーバーからエクスポートしたものをインポートしてテーブル情報を取り込んでいます。

http://localhost:8888/test/login.htmlとすると
login.htmlのページは表示されるのですが、
http://localhost:8888/test/login.phpとすると
login.phpのページは
"Not Found
The requested URL was not found on this server."
と出てしまいます。

mysqlの接続がうまくいっていないのだと思いますが、わかりません。
ご教授お願いします。

※下記ファイルのディレクトリは
Applications/MAMP/htdocs/test
login.html
login.php

Applications/MAMP/htdocs/test/inc
server_dependence.php
dbfunc.php

となっています。

HTML

1<!-- 2login.html 3必要ないと思われるところはカットしています。 --> 4 5<?php 6session_start(); 7/////////////////////////////////////////////////////////////////////////////// 8// 9// ログイン 10// 11/////////////////////////////////////////////////////////////////////////////// 12include( $_SERVER['DOCUMENT_ROOT'] . '/inc/server_dependence.php'); //各種定義 13include( C_PATH_INC . 'dbfunc.php'); //DB関数 14include( C_PATH_INC . 'userfunc.php'); //各種関数 15mb_internal_encoding('UTF-8'); 16$self = basename($_SERVER['PHP_SELF']); 17 18if ($_SERVER['REQUEST_METHOD'] == "GET") { 19 //エラーチェック 20 if (array_key_exists('msg',$_SESSION)) { 21 $msg = $_SESSION['msg']; 22 $msg = '<br /><span class="error">'.$msg.'</span>'; 23 $err++; 24 } 25} 26 27<!DOCTYPE html> 28<html lang="ja" dir="ltr"> 29<head> 30<title><?=$pagetitle?>|<?=$sitename?></title> 31</head> 32 33<body id="top" class="<?=$filename?>"> 34<?php include './inc-temp/header.html'; ?> 35 36 <h1 id="pagetitle"><?=$pagetitle?></h1> 37 <main> 38 <section> 39 sample 40 </section> 41 </main> 42 43</body> 44</html>

PHP

1// login.php 2 3<?php 4session_start(); 5/////////////////////////////////////////////////////////////////////////////// 6// 7// ログイン 8// 9/////////////////////////////////////////////////////////////////////////////// 10include( $_SERVER['DOCUMENT_ROOT'] . '/inc/server_dependence.php'); //各種定義 11include( C_PATH_INC . 'dbfunc.php'); //DB関数 12include( C_PATH_INC . 'userfunc.php'); //各種関数 13mb_internal_encoding('UTF-8'); 14$self = basename($_SERVER['PHP_SELF']); 15 16//POST値チェック 17$err = 0; 18if($_SERVER["REQUEST_METHOD"] == "POST"){ 19 $errmsg = array(); 20 $l_id = htmlspecialchars(check_txt('mail_address','ログインID(メールアドレス)を入力してください'),ENT_QUOTES,'UTF-8'); //会員ID 21 $l_pass = htmlspecialchars(check_txt('password','パスワードを入力してください'),ENT_QUOTES,'UTF-8'); //パスワード 22 if (!$err) { 23 //IDパスワードチェック 24 DBopen(); 25 $sql = "SELECT member_id,member_mail,member_pass,lock_flag FROM m_member WHERE member_mail = :member_mail AND del_flag = 0"; //メールアドレスで判定 26 $stmt = $db -> prepare($sql); 27 $stmt -> bindValue(':member_mail',$l_id,PDO::PARAM_STR); 28 $stmt -> execute(); 29 while ($row = $stmt -> fetch(PDO::FETCH_ASSOC)) { 30 extract($row,EXTR_OVERWRITE); 31 } 32 if ($member_pass) { 33 if (crypt($l_pass, $member_pass) != $member_pass) 34 $err++; 35 } else { 36 $err++; 37 } 38 } 39 if ($err) { 40 $msg = "IDまたはパスワードに誤りがあります。"; 41 //ログイン画面へ遷移 42 $_SESSION['msg'] = $msg; 43 header("location:./login.html"); 44 exit(); 45 } else { 46 $msg = "ログイン成功"; 47 //セッションID振り直し 48 session_regenerate_id(true); 49 if ($member_id) { 50 //ログイン日時更新 51 DBopen(); 52 $sql = "UPDATE m_member SET last_login = NOW() WHERE member_mail = :member_mail"; 53 $stmt = $db -> prepare($sql); 54 $stmt -> bindValue(':member_mail',$l_id,PDO::PARAM_STR); 55 $stmt -> execute(); 56 DBclose(); 57 //セッションにユーザ入れる。(他のページではl_idセッション変数があれば認証OKとする) 58 $_SESSION["m_id"] = $member_id; 59 unset($_SESSION["s_id"]); 60 unset($_SESSION['msg']); 61 //マイページへ遷移 62 header("location:./mypage.html"); 63 exit(); 64 } 65 } 66} 67

PHP

1// server_dependence.php 2// teratailに載せる為、メールアドレス、パスワード、データベース情報などは適当に入れています。 3 4<?php 5/////////////////////////////////////////////////////////////////////////// 6// 7// server_dependence.php 8// 9// 環境定数定義ファイル 10// 11// 最初にincludeすること 12// 13/////////////////////////////////////////////////////////////////////////// 14 15 //管理画面タイトル 16 define('ADMIN_TITLE' , 'Webサイト管理システム' ); //管理画面タイトル 17 18 //HTML関連 19 define('C_HOST', (empty($_SERVER['HTTPS']) ? 'http://' : 'https://').$_SERVER['HTTP_HOST']); 20 define('C_URL' , (empty($_SERVER['HTTPS']) ? 'http://' : 'https://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); 21 define('C_PATH_PUBLIC' , $_SERVER['DOCUMENT_ROOT'] . '/test' ); //ドキュメントルート 22 define('C_PATH_INC' , $_SERVER['DOCUMENT_ROOT'] . '/inc/' ); //include 23 24 25 define('C_DB_HOST' , 'localhost'); //ホスト 26 define('C_DB_PORT' , '8889' ); //ポート 27 define('C_DB_USER' , 'root' ); //ユーザー名 28 define('C_DB_PASS' , 'root' ); //パスワード 29 define('C_DB_DBNAME' , 'ABCDEFG-TEST' ); //データベース名 30 31 32 define('C_ML_FROM' , 'aaa@gmail.com' ); //配信元アドレス(ヘッダ用) 33 define('C_ML_TO' , 'aaa@gmail.com' ); //管理者アドレス 34 define('C_ML_ADMIN' , 'aaa@gmail.com' ); //管理者アドレス 35 define('C_ML_SUBADMIN' , 'aaa@gmail.com' ); //副管理者アドレス 36 37 38 //管理者ログイン情報 39 define('C_ADMIN_USER' , 'test' ); //管理画面ログインユーザ 40 define('C_ADMIN_PASS' , 'testtest' ); //管理画面ログインパスワード 41 42 //タイムゾーン 43 date_default_timezone_set('Asia/Tokyo'); 44 45?>

PHP

1// dbfunc.php 2 3<?php 4 5//Database Functions(PDO) 6 7function DBopen() { 8 9 global $db; 10 if (!is_resource($db)) { 11 try { 12// $db = new PDO('mysql:host='.C_DB_HOST.';port='.C_DB_PORT.';dbname='.C_DB_DBNAME.';charset=utf8',C_DB_USER,C_DB_PASS); 13 $db = new PDO('mysql:host='.C_DB_HOST.';dbname='.C_DB_DBNAME.';charset=utf8',C_DB_USER,C_DB_PASS); 14 } catch (PDOException $e) { 15 exit('DB Connect Error.'.$e->getMessage()); 16 } 17 return (TRUE); 18 } 19} 20 21function DBclose() { 22 23 global $db; 24 if (is_resource($db)) { 25 $db = null; 26 return (TRUE); 27 } 28} 29

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/06/29 21:03

コード見たところlogin.phpとされているコードは何も出力がないようですし、POSTリクエストしたら必ずリダイレクトされてるようなので「表示用」ではないように見受けられますが、そのあたりは如何でしょうか。 NOT FOUNDとは別物とは思いますが、エラーログも確認してみてください。
mickey25

2021/07/04 01:28

回答いただいたのに、お返事が遅くなってしまい、申し訳ございません。 おっしゃる通り、表示用ではなく、正常に動作しているようでした。 いろいろと触ってみて、解決しました! また、別の問題が出てきてしまったので、 いろいろ奮闘していますがどうしても分からなかったらまたご質問させてください! ありがとうございました。
mickey25

2021/07/04 07:53

いろいろ奮闘してみましたが、解決策がわかりません。 別で質問上げ直しているのでよろしければ確認よろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問