Я действительно предлагаю обернуть это в функцию. Исходя из того, что вы опубликовали, я понял, что у вас есть весь код в глобальном пространстве имен, и в этом случае любое количество автоматических предопределений или включений может легко испортить переменные.
Что-то вроде:
// Function that accepts a user object and a database connection, then sends a notice email.
function email_message_notice($prof, $connection){
$query = "SELECT `Email` FROM `Users` WHERE `id` = '" . $prof->id . "'";
$request = mysql_query($query,$connection) or die(mysql_error());
$result = mysql_fetch_array($request);
$Email = $result['Email'];
$to = $Email;
$subject = "$auth->first_name $auth->last_name sent you a message";
$message = "$auth->first_name $auth->last_name sent you a message:<br /> <br /> <a href='http://www.blah.org/Inbox.php'>Click here to view</a><br /><br /> The Team";
$from = "blah<noreply@blah.org>";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From:$from";
$res = mail($to, $subject, $message, $headers);
return $res;
}
$prof = new User($_GET['id']);
$sent = email_message_notice($prof, $connection);
Поскольку речь идет о базе данных, это непроверенный код, поэтому вы захотите проверить, работает ли он, и хотите самостоятельно отладить любые другие проблемы, но в противном случае это должен быть хороший способ разделения и совместного использования кода. Если вы выполняете одно и то же в обоих сценариях, вы можете просто включить функцию email_user в отдельное включение.