The shortcodes only run if they are used in the WordPress environment. It appears you are using the shortcode in a page that the WordPress’s engine has not been loaded.
Also, always store your data in a variable and then return the value instead of using echo
:
function sac_form() {
$data="
<html>
<head></head>
<body>
<form>
<table>
<tr><td>Name</td><td><input type="text" name="Name"></td></tr>
<tr><td>Email</td><td><input type="text" name="Email"></td></tr>
<tr><td>Subject</td><td><input type="text" name="subject"></td></tr>
<tr><td>Message</td><td><textarea rows="4" cols="50"></textarea></td></tr>
<tr><td><input type="submit" name="submit" value="Submit"></td></tr>
</table>
</form>
</body>
</html>";
return $data;
}
add_shortcode( 'short_code', 'sac_form' );