この問題は解決されました- 以下を参照してください!
たまたまこの問題を発見しました... HTML フォームの最初と最後:
<form name="personform" id="personform" action="testperson.php" method="post" target="_blank">
<input type="hidden" id="formPmall" name = "formPmall" value = "">
<input type="hidden" id="formPCSEsiteHeading" name = "formPCSEsiteHeading" value = "">
<input type="hidden" id="formPCSEsiteHeadingText" name = "formPCSEsiteHeadingText" value = "">
<input type="hidden" id="formPCSEsiteHeadingShadow" name = "formPCSEsiteHeadingShadow" value = "">
<!-- skipping to end of form -->
<input type="hidden" id="formPok" name = "formPok" value = "">
</form>
これは、値を設定してフォームを送信するために呼び出す関数です。
function testaPerson() {
document.getElementById("formPmall").value = vilkenMall;
document.getElementById("formPCSEsiteHeading").value = fAktuellSajtrubrik;
document.getElementById("formPCSEsiteHeadingText").value = CSEsiteHeadingText;
document.getElementById("formPCSEsiteHeadingShadow").value = CSEsiteHeadingShadow;
/* Skipping to end of function */
document.getElementById("formPok").value = "ok";
// SUBMIT
document.getElementById("personform").submit();
}
この関数は、送信の直前に次のように JS alert() を配置できるため機能します。
alert("PM = *"+document.getElementById("formPmall").value+"*");
そして、私は正しい答えを得る(空の「**」ではなく「4 」)。これは、すべてのフォーム入力に対して正常に機能します。
フォームが「testperson.php」に到着します。
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
if (!isset($_POST['formPok'])) header('Location: ../index.php');
// Init variables
$mall = 0;
$CSEsiteHeading = "#FF00FF";
$CSEsiteHeadingText = "";
$CSEsiteHeadingShadow = "";
// Skipping 60+ variable inits
// Read the form
$mall = $_POST['formPmall'];
$CSEsiteHeading = $_POST['formPCSEsiteHeading'];
$CSEsiteHeadingText = $_POST['formPCSEsiteHeadingText'];
$CSEsiteHeadingShadow = $_POST['formPCSEsiteHeadingShadow'];
// Skipping the rest...
「index.php」に行っていないので、インデックス ['formPok'] が設定されています。
PHP die(); を配置できるように、変数には値があります。彼らの後にこのように:
die("PM = *".$mall."*");
そして、私は正しい答えを取得します(「4」-初期化された「0」または空の「 ** 」ではありません)これは、すべてのPHP変数に対して正常に機能します。
最終ページも問題なく表示されています。
しかし!私はphp_error.logでこれを取得します:
[29-Oct-2013 13:30:01 UTC] PHP Notice: Undefined index: formPmall in /Applications/MAMP/htdocs/tngcse/template4/testperson.php on line 27
[29-Oct-2013 13:30:01 UTC] PHP Notice: Undefined index: formPCSEsiteHeading in /Applications/MAMP/htdocs/tngcse/template4/testperson.php on line 29
[29-Oct-2013 13:30:01 UTC] PHP Notice: Undefined index: formPCSEsiteHeadingText in /Applications/MAMP/htdocs/tngcse/template4/testperson.php on line 30
[29-Oct-2013 13:30:01 UTC] PHP Notice: Undefined index: formPCSEsiteHeadingShadow in /Applications/MAMP/htdocs/tngcse/template4/testperson.php on line 31
投稿されたすべての値に対して!毎回60以上!そして、そのページは繰り返し開かれます。
その他の事実: * HTML フォームと JS 関数は 2 つのインクルードです。* PHP 変数の初期化とフォームの読み取りは 2 つのインクルードです (このテスト用にページに編集したものです)。
- これらのインクルードが PHP 通知をまったく取得せずに機能する 4 つのページがあります。
- そして、60以上のフォーム入力がすべて「未定義」である3つ...
あと 4 ページ作成する必要があり、これを解決する前に先に進みたくありません。ここで何が問題なのかわかりません。あなたが思いつくアイデアが必要です。PHP通知を抑制することを除いて...(適切な方法で処理する必要があるエラーがここにあります)
よろしくお願いします、Ava T.
わかりやすくするために追加: PHP ページに入力され、最終ページに表示される値は次のとおりです。
formPmall: 4 (PHP init = 0)
formPCSEsiteHeading: #FF0000 (PHP init = #FF00FF)
formPCSEsiteHeadingText: "My Family" (PHP init = "")
formPCSEsiteHeadingShadow: "2px 2px 4px #000000" (PHP init = "")
すべてが初期化され、すべてが新しい値を取得します。しかし、何らかの理由でエラーログがいっぱいになります。なぜ?
私は自分の質問に答えることが許可されていないため (8 時間制限)、ここで編集します。
問題は解決された!
そして、解決策は通知よりもさらに奇妙です (つまり、私にとっては)。これは私がしたことです:
すべてのコードを削除し、PHP スクリプトを 1 つずつ追加して、1 つずつ実行しました。すべてが順調でした: PHP コード自体は通知を生成しませんでした。そこで、2 つの css インクルードを含む HTML ヘッドを追加しました。
通知なし: すべて問題なかったので、HTML を少しずつ追加したところ、IN THE HTML への参照時に 1 つのクラスが「犯人」であることがわかりました。
クラスは次のように宣言されました(一般的なものを変更します:異なる色と背景画像なし)
.line {
color: #FF0000;
background-image: url('');
}
解決策は、次のように宣言することでした(完全に正しい-ずさんなカットアンドペーストではありません):
.line {
color: #FF0000;
background-image: none;
}
すべての通知 (このページに投稿された値ごとに 1 つ - 60 以上) はなくなりました。
HTML で参照されるまでは、PHP 通知が表示されないことに注意してください。
<td class="line">This is my line</td>
PHP通知に関する非常に多くの投稿を見つけたので、これが他の人に役立つことを願っています。唯一の解決策は通知をオフにすることでした。そして、本当の解決策はありません。
時間を割いて読んで返信してくれたみんなに感謝します!
エイバ