2012-02-23 47 views
0

我在这里要做的是发送一封电子邮件给销售人员,通知他们他们的客户已经查看过Google文档演示文稿。
查询的Num = val是我用来从数据库中获取实际的Google文档的URL并将其填充到表单中的序列号。重定向发生在表单数据处理之前

我的问题是,页面重定向检索到的数据之前,并最终将默认为站点,nitrofill.com.index

的gdform.php文件头重定向,工作正常如果我不尝试在页面加载时处理表单。继承人的代码:

<?php 

$sn=$_GET['num']; 
echo $sn; 

mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.'); 
mysql_select_db($dbname); 
$selectSQL = "select * from `Presentations` where `serialnum` ='" . $sn ."'" ; 

$result = mysql_query($selectSQL) or die(mysql_error()); 
$row = mysql_fetch_array($result, MYSQL_BOTH); 


?> 

<script type="text/javascript"> 
function myfunc() { 
var frm = document.getElementById("notice"); 
frm.submit(); 
} 
window.onload = myfunc; 
</script> 

<title>Nitrofill Document</title></head> 
<body> 
<form id="notice" action="http://m3sglobal.com/gdform.php" method="post"> 
    <input type="hidden" name="subject" value="<?php echo (urldecode($row['recipient'])) . " has viewed the document you sent them."; ?>" /> 
<input type="hidden" name="redirect" value="<?php echo ((urldecode($row['docurl']))); ?>"/> 
<label>Email:</label><input type="text" name="email" value="<?php echo (urldecode($row['tracker'])); ?>"/> 
<label>Comments:</label><textarea name="comments" cols="40" rows="5"> 
Document Viewed:<?php echo ((urldecode($row['docurl']))); ?> 

When Accessed:<?php echo ((urldecode($row['last_accessed']))); ?> 
</textarea> 
<input type="submit" name="submit"/> 
</form> 

的gdform.php不重定向这样的:

while (list ($key, $val) = each ($query_vars)) { 
    fputs($fp,"<GDFORM_VARIABLE NAME=$key START>\n"); 
    fputs($fp,"$val\n"); 
    fputs($fp,"<GDFORM_VARIABLE NAME=$key END>\n"); 
    if ($key == "redirect") { $landing_page = $val;} 
    } 
    fclose($fp); 
    if ($landing_page != ""){ 
    header("Location: " . $landing_page); 
    } else { 
    header("Location: http://".$_SERVER["HTTP_HOST"]."/"); 
    } 

为寻找谢谢!

回答

0

HTML中的代码是自上而下执行的。只要您访问该JavaScript代码块,即使您在页面上呈现表单之前,您也会立即提交。

将您的JS代码移动到页面的底部,或者在DOM准备就绪后执行它。

+0

是的,那并没有这样做。出于某种原因,gdform.php不再从第一页获取查询字符串。我打破了一些东西,但还没有弄清楚。它看起来像$ query_vars被重置,无论如何,这总是会使这个默认返回到HTTP_HOST。我试着评论这一点,它一直工作。然后它再次开始回到HTTP_HOST,即使该行被注释掉了。 – 2012-02-24 01:29:45

+0

$ request_method = $ _SERVER [“REQUEST_METHOD”]; if($ request_method ==“GET”){ $ query_vars = $ _GET; ($ request_method ==“POST”){ $ query_vars = $ _POST; } reset($ query_vars); $ t = date(“U”); – 2012-02-24 01:30:07

+0

我认为问题出在服务器端。你的表单看起来不错。 – 2012-02-24 01:52:31