During development when other people are experimenting with my site and have issues, I want to be able to find out where my code was having issues, get_defined_vars() is probably the most useful thing for me in finding out what happened at this point.
I am up to the point of writing this function, however it is returning:
Parse error: syntax error, unexpected ‘=’
Does anybody know a way to send yourself get_defined_vars() from php?
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);
}
Edit: This was fixed by changing to: (pre tags arent actually necessary, am figuring out how to better format for 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);
}
You need to call print_r with the second parameter set to true. Also, addslashes should not be called on an array. It should look like:
Last, you need to move the . (period) next to the equal sign. Your code should look like: