I am working on sending message from HTML form with the following PHP code for its functionality:
<?php
phpinfo();
error_reporting(-1);
ini_set('display_errors', 'On');
set_error_handler("var_dump");
function ShutdownHandler() {
if (is_array($error = error_get_last())) {
return (call_user_func_array('ErrorHandler', $error));
};
return (TRUE);
};
register_shutdown_function('ShutdownHandler');
function ErrorHandler($type, $message, $file, $line) {
$_ERRORS = Array(0x0001 => 'E_ERROR', 0x0002 => 'E_WARNING', 0x0004 => 'E_PARSE', 0x0008 => 'E_NOTICE', 0x0010 => 'E_CORE_ERROR', 0x0020 => 'E_CORE_WARNING', 0x0040 => 'E_COMPILE_ERROR', 0x0080 => 'E_COMPILE_WARNING', 0x0100 => 'E_USER_ERROR', 0x0200 => 'E_USER_WARNING', 0x0400 => 'E_USER_NOTICE', 0x0800 => 'E_STRICT', 0x1000 => 'E_RECOVERABLE_ERROR', 0x2000 => 'E_DEPRECATED', 0x4000 => 'E_USER_DEPRECATED');
if (!@is_string($name = @array_search($type, @array_flip($_ERRORS)))) {
$name = 'E_UNKNOWN';
};
return (print (@sprintf("%s Error in file \xBB%s\xAB at line %d: %s\n", $name, @basename($file), $line, $message)));
};
$old_error_handler = set_error_handler("ErrorHandler");
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name =$_POST['name'];
echo $name;
$email =$_POST['email'];
echo $email;
$message = $_POST['message'];
echo $message;
$subject = $_POST['subject'];
echo $subject;
$fromaddress = "From: abhinavkishorem9@gmail.com";
$toaddress='to:'.$email;
if (mail($toaddress, $subject, $message,$toaddress )) {
echo "Sent";
} else {
echo "Failed";
}
}
?>
Bottlenecks/Problems: The thing is I put the information in the form, and everytime I get the message "Failed". I have looked for this in Google about this. I thought it might be due to bad request error and tried to look into it in Code Project for solutions from fellow programmers. But this bottleneck/problem still persists.
What I have tried:
The thing is I put the information in the form, and everytime I get the message "Failed". I have looked for this in Google about this. I thought it might be due to bad request error and tried to look into it in Code Project for solutions from fellow programmers. But this bottleneck/problem still persists.
I used filter_var to sanitize email, message and subject in order to remove any illegal character from these values to remove the failed issue.
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
$message = filter_var($message, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$subject = filter_var($subject, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$from = "From: abhinavkishorem9@gmail.com";
$to='to:'.$email;
Bottlenecks/Problems: It is exactly not showing me whether the data is sanitized or not. It is still showing "Failed".