最近写了下英文搜索的小偷,为了让蜘蛛更好的享受链接的乐趣,因此使用了入库处理,将最近的搜索写入到mysql中,同时在首页调用这些查询数据,就可以达到网站地图的效果,但是弊端也出现了了,那就是重复记录的问题。
创新互联:成立于2013年为各行业开拓出企业自己的“网站建设”服务,为上1000+公司企业提供了专业的网站设计、成都网站设计、网页设计和网站推广服务, 按需搭建网站由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。
在网上找到一段实例,经过修改发现可行,现将代码公布如下:
$link=mysql_connect(‘localhost’,’root’,’1234’);
//得到MySQL数据库连接
$username=$_GET["name"];
//得到从客户端表单传过来的数据
$q="select
*
from
usertable
where
user_name='$username'";
mysql_query("SET
NAMES
gb2312");
//避免出现中文乱码
$rs
=
mysql_query($q,
$link);
//查询数据库
$num_rows
=
mysql_num_rows($rs);
//得到查询结果的总行数
if($num_rows==0)
//
烈火网
liehuo点虐
欢迎复制,拒绝恶意采集
liehuo点虐
{
$exec="insert
into
student
(user_name)
values
($username)";
mysql_query("SET
NAMES
gb2312");
mysql_query($exec,
$link);
//若没有此用户则将数据插入到数据库(注册用户)
echo
"用户注册成功!";
}
else
{
echo
"该用户名已存在,请重新选择用户名!";
}
?
每次进入提交的页面,给一个session,为了避免重复,session的key可以是随机的。
在表单填写页面
?php
session_start(); // 启用session
$time = time();
$key = 'sess_' . $time; // 根据时间生成一个随机的session key
$_SESSION[$key] = $time; // 设置session的值
?
!--{通过隐藏表单将 session 的 key传递到服务端处理}--
input type="hidden" name="session_key" value="?php echo $time;?" /
处理页面
?php
session_start(); // 启用session
$key = $_POST['session_key'];
if(!$key || $_SESSION[$key] != substr($key, 5)){
// 如果没有传 session_key 参数
// 或者 session_key 参数值截断 sess_后的数字 与 session参数值不匹配
unset($_SESSION[$key]); // 删除 session 值
// 然后考虑是否要提示错误,或者转入另一个页面
exit(); // 终止页面代码执行
}
// 下面进行数据写操作
// 数据操作完成后,删除session
unset($_SESSION[$key]);
// 后续操作
?
$########################
一个页面也是一样的,我给你的只是一个思维,
具体如何实现,你要根据自己的实际情况去处理
很多东西都不是通用的
另外,不管多少个页面,必然包含两个部分,一部分是表单填写,一部分是数据处理,这个跟多少个页面无关~~就看你是否能够理解这段代码的意义,如果不理解的话,嵌套进去也没啥用,能够理解的话,或许你能够找出更适合自己的解决方案
你可以这样,你有一张ip_code表格,你加一个字段为state,你每次取的时候把state标为1,而没取得为0,那么每次拿都是去拿为0的。
将关于mysql函数 全部改成mssql前缀
$sqlwhere = "select * from $dbzh where ……";//具体哪些字段重复,在where后面加上条件即可
$result = mssql_query($sqlwhere);
$num = mssql_num_rows($result);
if ($num == 0){
//新增操作
}
只要查询它的ID是否存在,如果存在的话,就重复了,如果不存在的话,就说明没重复
mssql_get_last_message 函数是做什么用的