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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

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

Q&A

解決済

2回答

710閲覧

PHP Notice: Use of undefined constant エラー

s.kono

総合スコア37

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

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

0グッド

0クリップ

投稿2018/01/19 00:35

Noticeエラーを解消出来ないでいます。
単純なクォーテーション等スペルエラーなのかもしれませんが、自分では何が悪いのか分かりません、お気づきのことがありましたら教えて下さい。

初回読込時のみNoticeになっているような気もするのですがそんなケースはありますでしょうか?

動作的にはBootstrapもjQueryも正常に動いています。
PHP Ver5.3.3

よろしくお願いします。

※本当のパスを「path」に変更しています。
PHP Notice: Use of undefined constant JQUERY_PATH - assumed 'JQUERY_PATH' in /path/V_Header.php on line 8, referer:
PHP Notice: Use of undefined constant BOOTSTRAP_PATH - assumed 'BOOTSTRAP_PATH' in /path/V_Header.php on line 9, referer:

T_Sample.php

PHP

1require_once __DIR__ .'/../D_Authorize.php';

D_Authorize.php

PHP

1require_once __DIR__ . "/../../autoload.php"; 2require_once __DIR__."/../common/D_DefineConst.php"; 3require_once __DIR__ .'/V_Header.php';

D_DefineConst.php

PHP

1define("BOOTSTRAP_PATH","/vendor/twbs/bootstrap/dist/css/bootstrap.min.css"); 2define("JQUERY_PATH","/vendor/components/jquery/jquery.min.js");

V_Header.php

php

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <title>データベース </title> 8 <script src="<?php echo JQUERY_PATH ?>" /></script> 9 <link rel="stylesheet" href=<?php echo BOOTSTRAP_PATH ?> /> 10 </head>

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

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

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

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

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

m.ts10806

2018/01/19 01:15

ブラウザで出力されたHTMLソースにはそれぞれ想定の値が入っているということですか?
m.ts10806

2018/01/19 01:16

require_once→requireに変更した場合の動作も教えてください。
s.kono

2018/01/19 02:03

ブラウザのソースを見る限り値は正しく入っています。requireは試してみます。そういえば同じコードで開発用のサーバーでは出ていません。
s.kono

2018/01/19 02:15

エラーが出ているサーバーではログに出力させているのですが、出ていないサーバーでは画面に出力させています。画面に出るタミングでないだけかもしれませんね、、
guest

回答2

0

自己解決

access logからエラーが出ている同時刻にいつもアクセスされているファイルがあることが分かりました。中身は以下です。

 ```php

<?php session_start(); error_reporting(E_ALL); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>タイトル</title> </head> <body> <?php

print('<p>ログアウトします</p>');

// セッション変数を全て解除する
$_SESSION = array();

if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}

// 最終的に、セッションを破壊する
session_destroy();

print('</body></html>');

これが呼ばれた時刻にエラーが出ていることから何らかの影響を与えているのはこの処理であるということが分かりました。なぜかはまだ分かりませんがどちらにしても、このログアウト処理は実際にはログアウトできないことも分かっているのでメニューから外すことでおそらくエラーは出なくなると思われます。確認は明日以降になります。 ご回答いただいた皆様ありがとうございました。

投稿2018/01/23 01:48

s.kono

総合スコア37

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

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

0

流れが見えにくいので整理すると

a.php、b.php、c.php、d.phpの4つあるとして
0. a.phpからはb.phpをよび
0. b.phpからc.php、d.phpを順番に呼んでいる。
0. c.phpで定義した定数をd.phpが利用しようとするとnoticeが出る

という流れでしょうか?
同じような流れで書いてみましたがとくに問題はでないようです

まさかとは思いますが
D_DefineConst.phpはホントはきちんと「<?PHP」から書いていますよね?
書いてなければdefine文が表示されるので気づくとは思いますが・・・

ソース

念のため上記をソースに起こしておきます
以下で数値「1」が表示されますか?
問題なければ、同じ流れでご自身のソースもチェックしてみて下さい

  • a.php

PHP

1<?PHP 2require_once "b.php"; 3?>
  • b.php

PHP

1<?PHP 2require_once "c.php"; 3require_once "d.php"; 4?>
  • c.php

PHP

1<?PHP 2define("x","1"); 3?>
  • d.php

PHP

1<?PHP 2print x; 3?>

投稿2018/01/19 01:13

編集2018/01/19 02:26
yambejp

総合スコア114742

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

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

s.kono

2018/01/19 01:54

ご回答ありがとうございます。 整理されていただいたとおりです。 D_DefineConst.phpは「<?PHP」から書いています。 V_Header.phpにも念のために <?php ?> を頭に入れて試してみましたが変わりませんでした。
s.kono

2018/01/19 04:31

試してみました。a.phpからでもb.phpからでも1と表示されました。 エラーも出ていません。という事は構造の流れ的には問題がないことになりますでしょうか。本体のコードでエラーが出る時と出ないとの違いについてもう一度検証しなおしたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問