I'm implementing 3D secure. It requires a form to be auto submitted inside of an iframe, so that the response can show a bank username/password box within said iframe.
<form id="3D_form" target="3D_iframe" action="<?php echo $acsurl; ?>" method="post">
<input type="hidden" name="PaReq" value="<?php echo $pareq; ?>" />
<input type="hidden" name="MD" value="<?php echo $md; ?>" />
<input type="hidden" name="TermUrl" value="<?php echo $termurl; ?>" />
</form>
<iframe name="3D_iframe" width="100%" height="400" frameborder="0" src="<?php echo $acsurl; ?>"></iframe>
Once the user enters their username/password a success code is posted to a URL I also supply to the original iframe post (TermUrl).
Problem is, the TermUrl renders a page with my websites theme/template WITHIN the iframe, so I get a page within a page if that makes sense?
I'm using Joomla. My TermUrl is a function within a controller like:
http://www.mywebsite.com/index.php?option=com_mycontroller&task=mycontroller.callback
Any idea how I can either render a BLANK webpage within the iframe, or better yet, just re-render the entire page WITHOUT an iframe...? Currently I have to reload the page using Javascript from my callback function:
function callback() {
echo "<!DOCTYPE html>";
echo "<head>";
echo "<title>Form submitted</title>";
echo "<script type='text/javascript'>window.parent.location = 'http://mywebsite.com/index.php?option=com_mycontroller&view=myview'</script>";
echo "</head>";
echo "<body></body></html>";
}
Add die;
at the end of your function in controller. I guess this will work out and wont open Iframe in and Iframe