0

開発中、他の人が私のサイトを試していて問題が発生しているときに、コードのどこで問題が発生したかを見つけたいと考えています。get_defined_vars() は、おそらく、この時点で何が起こったのかを見つけるのに最も役立つものです。

私はこの関数を書くところまで来ましたが、次のように返されます:

解析エラー: 構文エラー、予期しない「=」

PHP から get_defined_vars() を送信する方法を知っている人はいますか?

if(isset($_GET['sendmeanemail'])){
$emailarr = get_defined_vars();
$to      = 'myemail@gmail.com';
$subject = 'Debug Report for'. $currentApiUser['first-name']. ' '. $currentApiUser['last-name'];
$message = '<pre>\n';

$message. = print_r(addslashes($emailarr));
$message. = '</pre>';
$headers = 'From: webmaster@domain.com' . "\r\n" .
    'Reply-To: webmaster@domain.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);
}

編集:これは次のように変更することで修正されました:(事前タグは実際には必要ありません。gmailのフォーマットを改善する方法を考えています)

if(isset($_GET['sendmeanemail'])){
$emailarr = get_defined_vars();
$to      = 'myemail@gmail.com';
$subject = 'Debug Report for'. $currentApiUser['first-name']. ' '. $currentApiUser['last-name'];
$message = '<pre>';

$message .= print_r($emailarr, true);
$message .= '</pre>';
$headers = 'From: webmaster@domain.com' . "\r\n" .
    'Reply-To: webmaster@domain.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);
}
4

1 に答える 1

1

2 番目のパラメーターを true に設定して print_r を呼び出す必要があります。また、addslashes は配列に対して呼び出されるべきではありません。次のようになります。

print_r($emailarr,true);

最後に、 を移動する必要があります。(ピリオド) 等号の隣に。コードは次のようになります。

$message = '<pre>\n';
$message .= print_r($emailarr,true);
$message .= '</pre>';
于 2012-08-29T23:25:29.027 に答える