I need help redirecting to a new web page from a called PHP function. My situation:
I have a short input form on an SHTML page with a “submit” button. Clicking the submit button calls PHP function “SendVideoRequest” that edits the form data and builds and sends the data to me in an email. The code is working just fine (pertinent code from calling page below):
[code]
Page Title [/code]Currently, after sending the email, the PHP function displays an alert to the effect “Form data has been submitted.” I want to change this so that instead of sending the alert, control is transferred to a new SHTML page. I’ve tried the “header/Location” command as shown below, but it throws an error. I’ve tried putting in “ob_start() - ob_end_flush” in the function also, to no avail. Why won’t “header/Location” work in this scenario? Any suggestions on a different approach?
Function “SendVideoRequest” code:
[php]<?php
$toName = ‘’;
$subject = $_REQUEST[‘emailSubject’];
$fromName = $_REQUEST[‘custName’];
$fromAddress = $_REQUEST[‘emailAddressFrom’];
$videoID = $_REQUEST[‘videoID’];
$preroll = $_REQUEST[‘preroll’];
$postroll = $_REQUEST[‘postroll’];
$toAddress = ‘[email protected]’;
$bodyText = stripslashes($_REQUEST[‘emailBody’]);
$bodyTextHTML = $bodyText;
$bodyHTML;
$linkTargets = array();
$linkTargets[] = ‘(http://www.myurl.com)’;
$linkTargets[] = ‘(http://myurl.com)’;
$linkTargets[] = ‘(www.myurl.com)’;
$linkTargets[] = ‘(myurl.com)’;
$linkPre = ’ ';
$linkPost = ‘’;
$tLinkString = “”;
$tLinkTarget = “”;
$bodyTextHTML = ereg_replace(implode('|', $linkTargets), $linkPre . 'http://www.myurl.com' . $linkPost, $bodyTextHTML);
$bodyTextHTML = str_replace("\n", '<br />' . "\n", $bodyTextHTML);
if (strlen($fromName) && strlen($fromAddress) && strlen($videoID) && strlen($preroll) && strlen($postroll)) {
$bodyHTML = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"><link rel="stylesheet" type="text/css" href="http://www.myurl.com/pwstylemail.css"></head><body bgcolor="#ffffff" text="#000000"><div class="emailContentDIV">' . $bodyTextHTML . '</div></body></html>';
SendEmail($toName, $toAddress, $fromName, $fromAddress, $subject, $bodyText, $bodyHTML);
header('Location: http://www.myurl.com/testit.shtml');
exit();
} else {
WriteCommand("alert('All fields must contain valid data.');");
}
?>[/php]