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

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

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

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

Q&A

解決済

2回答

2210閲覧

本番環境でのみHTTP ERROR 500のエラーが出てしまいます。

sutarai

総合スコア26

PHP

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

0グッド

0クリップ

投稿2020/10/03 15:16

ローカル環境からロリポップのレンタルサーバーを使用して、本番環境へアップロードを行いました。

ただ、login.phpのページを表示しようとすると、

このページは動作していません

〇〇.main.jp では現在このリクエストを処理できません。

HTTP ERROR 500

というエラーが表示されてしまいます。

そのため、header(Location)をlogin.phpに設定している、index.phpやview.php、logout.php、delete.phpもlogin.phpへ遷移する為に表示されなくなっております。

ローカル環境では問題なく表示されております。
お忙しいと思いますが、ご回答頂けますと幸いです。

login.phpのコードを載せておきます。

session_start(); require('dbconnect.php'); // 『次回からは自動的にログインする』にチェックを入れてcookieにデータが保存されてた場合に、変数$emailに保存する---- if ($_COOKIE['email'] !== '') { $email = $_COOKIE['email']; } // -------------------------------------------------------------------------------------------------------- if (!empty($_POST)) { // cookieに保存したデータを上書き---------------- $email = $_POST['email']; // -------------------------------------------- if ($_POST['email'] !== '' && $_POST['password'] !== '') { $login = $db->prepare('SELECT * FROM members WHERE email=? AND password=?'); $login->execute(array( $_POST['email'], sha1($_POST['password']) )); $member = $login->fetch(); if ($member) { // セッションハイジャック防止のため、passwordは保存しない $_SESSION['id'] = $member['id']; $_SESSION['time'] = time(); // メールアドレスをcookieへ保存する if ($_POST['save'] === 'on') { setcookie('email', $_POST['email'], time()+60*60*24*14); } header('Location: index.php'); exit(); } else { $error['login'] = 'failed'; } } else { $error['login'] = 'blank'; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="style.css" /> <title>ログインする</title> </head> <body> <div id="wrap"> <div id="head"> <h1>ログインする</h1> </div> <div id="content"> <div id="lead"> <p>メールアドレスとパスワードを記入してログインしてください。</p> <p>入会手続きがまだの方はこちらからどうぞ。</p> <p>&raquo;<a href="join/">入会手続きをする</a></p> </div> <form action="" method="post"> <dl> <dt>メールアドレス</dt> <dd> <input type="text" name="email" size="35" maxlength="255" value="<?php print(htmlspecialchars($email, ENT_QUOTES)); ?>" /> <?php if($error['login'] === 'blank'): ?> <p class="error">* メールアドレスとパスワードをご記入ください</p> <? endif; ?> <?php if($error['login'] === 'failed'): ?> <p class="error">* ログインに失敗しました。正しくご記入ください</p> <? endif; ?> </dd> <dt>パスワード</dt> <dd> <input type="password" name="password" size="35" maxlength="255" value="<?php print(htmlspecialchars($_POST['password'], ENT_QUOTES)); ?>" /> </dd> <dt>ログイン情報の記録</dt> <dd> <input id="save" type="checkbox" name="save" value="on"> <label for="save">次回からは自動的にログインする</label> </dd> </dl> <div> <input type="submit" value="ログインする" /> </div> </form> </div> <div id="foot"> <p><img src="images/txt_copyright.png" width="136" height="15" alt="(C) H2O Space. MYCOM" /></p> </div> </div> </body> </html> コード

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

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

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

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

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

tu789

2020/10/03 15:18

そもそもエラーになる気がしますが、エラー表示は行っていますか?
m.ts10806

2020/10/03 22:54

エラーログ見てください。
guest

回答2

0

ベストアンサー

<?phpが無いです。

また、エラーログを見る気が無い開発者の方の場合は、
開発時は先頭に以下の2行(ini_set()の2行)を追加してエラーを表示するようにしましょう。

php

1<?php 2ini_set('display_errors', 1); 3ini_set('error_reporting', E_ALL); 4 5//・・・略・・・

投稿2020/10/03 15:23

Y.H.

総合スコア7918

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

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

退会済みユーザー

退会済みユーザー

2020/10/03 15:27

転記する際にうっかり転記ミスしたものと思いたいけど、まぁ確認してもらいたいですね。
sutarai

2020/10/04 13:37

先頭に<?phpが無いのは転記ミスでした。 formの中のendifに<?phpでなく、<?のみ記入していたのが原因でした。 アドバイスありがとうございます。
sutarai

2020/10/29 02:44

ローカル環境でエラーが出なかった理由がわかりました、ありがとうございます。
guest

0

ロリポに限らずローカルであろうとも、
エラーログをチェックしてエラーメッセージに従って
対策を施していくってことになるかと。

データベース接続は確実に設定変更が伴うところなので、
ローカル環境でテストしたときのままだったりしたら、
サーバーに合わせて書き換えてください。

投稿2020/10/03 15:26

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問