おい。私はいくつかのphpスクリプトを持っています。そのうちの1つにsession_start()というコードがあり、別のスクリプトに再びsession_start()があると、通知が表示されます:
Notice: セッションは既に開始されていました...
それは論理的です。しかし、それを削除すると、エラー/通知が表示されます:
注意: 未定義の変数: _SESSION
なんで?どうすれば修正できますか?スクリプト内に session_start() が 2 か所ある場合はスクリプトは正常に動作しますが (ほとんど通知されません)、2 つの session_start() がない場合はまったく機能しません。
持つ唯一の解決策です
error_reporting(E_ALL ^ E_NOTICE);
私のスクリプトで?そして、通知を無視するのは悪い習慣ではありませんか?
編集:
私のコードの一部:
try {
//session_start();
$STH = DB::prepare ( "UPDATE users SET DJ_name=?, DJ_showname=? WHERE id=?" );
$STH->execute(array($_POST['DJ_name'], $_POST['DJ_showname'], $_SESSION['userid']));
pre_dump($_SESSION);
$_SESSION['DJ_name'] = $_POST['DJ_name'];
$_SESSION['DJ_showname'] = $_POST['DJ_showname'];
}
出力:
注意: 未定義の変数: 19 行目の D:.....\main.php の _SESSION
Notice: 未定義の変数: _SESSION in D:.....\main.php 行 21
ヌル
pre_dump コード:
function pre_dump($var)
{
echo '<pre>';
var_dump($var);
echo '</pre>';
}