我有一个网站。如果有人发帖询问,请转到感谢页面 www.legasy.com/thankyou/这个网址就是这样的。当我分析网站管理员工具时,它显示出比谢谢更多的感谢。
填写表单字段,验证并将该值插入表中。它会去感谢你的页面。但如果有人输入网址,就不应该去感谢页面了。我能为此做些什么?
贝娄是我的代码
HTML
<form>
<table>
<tr><td>Name</td>
<td><input type="text" name="buyer_name" id="buyer_name" size="31" value="" /></td>
</tr>
<tr> <td>Email</td>
<td><input type="text" name="buyer_email" id="buyer_email" size="31" value="" /></td>
</tr>
<tr> <td>Contact No</td>
<td> <input type="text" name="buyer_mobile" id="buyer_mobile" size="31" value=""/></td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">
<div id="post_enquiry"><img src="./images/for_more_det_click.gif" onclick="postBuyerEnquiry();" style="cursor:pointer;"/></div>
</td>
</tr>
</table>
</form>
的Javascript
<script type="text/javascript" src="../scripts/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
function postBuyerEnquiry()
{
var nametxt = document.getElementById('buyer_name').value;
var emailtxt = document.getElementById('buyer_email').value;
var phonetxt = document.getElementById('buyer_mobile').value;
output ="text";
if(nametxt=='')
{
alert("Please Enter Your Name");
return false;
}
else if(emailtxt=='')
{
alert("Please Enter Your Mail Id");
return false;
}
else if(phonetxt=='')
{
alert("Please Enter Phone Number");
return false;
}
process = 'loadEvent';
output = 'text';
url = "test4.php";
$.get(
url,
{'act':'SBQF',
'name':nametxt,
'email':emailtxt,
'phone':phonetxt,
},
function(responseText)
{
window.location.href = '/legasy.com/thankyou/';
},
"html"
);
}
PHP
<?php
if ( !empty($_POST['act']) )
{
$act = formatstring($_POST['act']);
}
switch( $act )
{
case "SBQF":
$strName = $_GET['name'];
$strEmail = $_GET['email'];
$strPhone = $_GET['phone'];
//Inserting values into the database
exit;
break;
}
?>
或
如果有人输入网址(www.legasy.com/thankyou/),则需要转到错误页面
答案 0 :(得分:2)
else
else { // Give this here
process = 'loadEvent';
output = 'text';
url = "test4.php";
$.get(
url,
{'act':'SBQF',
'name':nametxt,
'email':emailtxt,
'phone':phonetxt,
},
function(responseText)
{
window.location.href = '/legasy.com/thankyou/';
},
"html"
);
return false;
}
在任何时候,这都会被执行。另外,在else部分的末尾也给出return false;
!
如果您希望用户不直接访问www.legasy.com/thankyou/
页面,您可以设置session
。你做成功的那一刻,你可以这样设置一个会话。
session_start();
if (condition on success)
$_SESSION["thankyou"] = true;
在www.legasy.com/thankyou/
页面中
session_start();
if (!isset($_SESSION["thankyou"]) && $_SESSION["thankyou"] != true)
{
header('Location: /error/');
die();
}
答案 1 :(得分:1)
我会考虑在$_SESSION
页面上使用thankyou
值。这样,如果有人在没有$_SESSION['visited']
的情况下手动输入网址(访问只是一个辅助值,您不必使用它),您可以使用header()
将它们重定向到您需要的任何位置
答案 2 :(得分:0)
if ( !empty($_POST['act']) )
{
$act = formatstring($_POST['act']);
}
else {
header('Location: www.legacy.com/error');
}
请注意,有人仍然可以通过欺骗POST值来转到thankyou
页面。