首页 \ 问答 \ 使用Cookie检查是否有人访问了某个页面(Using Cookies to check if someone has visited a page)

使用Cookie检查是否有人访问了某个页面(Using Cookies to check if someone has visited a page)

当用户访问我有一个页面时:

setcookie("firstvisit", time()+3600);

在一个函数文件中,它包含在我拥有的每个页面的标题中:

if(isset($_COOKIE['firstvisit'])) {
$run = mysql_query("UPDATE `table` SET `firstvisit` = 1 WHERE `id` = '".$_SESSION['uid']."'");
setcookie("firstvisit", time()-3600);

如果我这样做(并且它可以工作),这意味着每次用户点击该页面时脚本都会运行。 有没有其他方法可以实现这一目标?


When a user visits one page I have:

setcookie("firstvisit", time()+3600);

In a functions file which is included in the header of every page I have:

if(isset($_COOKIE['firstvisit'])) {
$run = mysql_query("UPDATE `table` SET `firstvisit` = 1 WHERE `id` = '".$_SESSION['uid']."'");
setcookie("firstvisit", time()-3600);

If I do it like this (and it works) it means the script will run every time the user clicks on that page. Is there any other way to accomplish this?


原文:https://stackoverflow.com/questions/18776716
更新时间:2023-11-01 22:11

最满意答案

你在这个字符串中有两种类型的引号,所以在整个事情中使用三个引号

>>> x = '''tail -n+2 ./*/*.tsv|cat|awk 'BEGIN{FS="\t"};{split($10,arr,"-")}{print arr[1]}'|sort|uniq -c'''
>>> x
'tail -n+2 ./*/*.tsv|cat|awk \'BEGIN{FS="\t"};{split($10,arr,"-")}{print arr[1]}\'|sort|uniq -c'

You have both types of quotes in that string, so use triple quotes around the whole thing

>>> x = '''tail -n+2 ./*/*.tsv|cat|awk 'BEGIN{FS="\t"};{split($10,arr,"-")}{print arr[1]}'|sort|uniq -c'''
>>> x
'tail -n+2 ./*/*.tsv|cat|awk \'BEGIN{FS="\t"};{split($10,arr,"-")}{print arr[1]}\'|sort|uniq -c'

相关问答

更多
  • 只是补充一点,你可能最好使用PyAwk:pyawk.sourceforge.net另外,如果你正在使用子进程,问题是你的命令应该被拆分。 请参阅,子进程的工作方式与os.system略有不同。 子过程要求cmd是字符串,而不是列表。 例如, `os.system('''awk 'BEGIN {FS="\t";OFS="\n"} {a[$1]=a[$1] OFS $2 FS $3 FS $4} END {for (i in a) {print i a[i]}}' 2_lcsorted.txt > 2_loc ...
  • IIRC XCUIApplication是XCTest框架提供的一个函数,因此它是您正在调试的程序中的一个函数。 因此,您可以使用SBTarget或SBFrame上的“EvaluateExpression”API调用它,就像调用任何其他函数一样。 评估表达式的结果将在SBValue中返回给您,您可以使用它打印该表达式或其他任何内容。 注意,除非你需要支持一个非常旧的Xcode(6.x),否则使用新形式的python命令会更方便: def command_function(debugger, command, ...
  • 如果你不能使用子进程模块,最好的办法是用Python重新编写你的AWK脚本。 为此,文件输入模块是一个很棒的过渡工具,它具有类似AWK的感觉。 If you can't use the subprocess module, the best bet is to recode your AWK script in Python. To that end, the fileinput module is a great transition tool with and AWK-like feel.
  • 尝试执行它作为原始字符串。 我在cmd_3的开头添加了"r" 例如: cmd_3= r'''cat temp_1.cat | awk -F '[=]' '{printf("%s,",$2);} END {printf("\n");}' ''' call(cmd_3, shell=True) Try executing it as raw string. I have added "r" at the start of cmd_3 Ex: cmd_3= r'''cat temp_1.cat | awk -F ...
  • 放下你的shell=True并使COMMAND成为一个列表: COMMAND = ["sox", fileOut, filename + ".wav"] subprocess.call(COMMAND) Drop your shell=True and make COMMAND a list: COMMAND = ["sox", fileOut, filename + ".wav"] subprocess.call(COMMAND)
  • 你在这个字符串中有两种类型的引号,所以在整个事情中使用三个引号 >>> x = '''tail -n+2 ./*/*.tsv|cat|awk 'BEGIN{FS="\t"};{split($10,arr,"-")}{print arr[1]}'|sort|uniq -c''' >>> x 'tail -n+2 ./*/*.tsv|cat|awk \'BEGIN{FS="\t"};{split($10,arr,"-")}{print arr[1]}\'|sort|uniq -c' You have both ...
  • awk变量FILENAME给出了正在处理的当前文件的名称(如果是stdin,则为' - ')。 但是,这在BEGIN块中不可用,但您可以使用ARGV [1](假设您只传递一个文件名): #!/bin/awk -f BEGIN { cmd = "./myscript.py '\"%s20s\"' " ARGV[1] print cmd cmd | getline var print var } 我用于测试的python脚本(py3)是: #!/usr/bin ...
  • 尝试通过ssh运行带有复杂引号的命令总是很棘手,因为它经历了远程主机上额外的令牌扩展级别。 也就是说,如果你运行: ssh anotherhost awk '{print "hello", $1}' myfile 在远程主机上得到标记: argv[0] = awk argv[1] = {print argv[2] = hello, argv[3] = } argv[4] = myfile 这几乎从来都不是你想要的。 在命令行中,您需要执行如下所示的操作: ssh anotherhost "awk 'FN ...
  • 连接你的2个文件只会做你想要的(在切换ARGV [2]之后它不被视为文件): BEGIN { ip = ARGV[2] split(ip, octets, ".") for (i = 1; i <= 4; i++) { dec += octets[i] * 256 ** (4 - i) } ARGV[2] = "" ARGC-- } BEGIN{ FS=","; } { if ($4 == dec){ prin ...
  • 你的一个括号是在错误的地方。 尝试: dear = commands.getoutput('''awk '{print $0}' /home/angad/Desktop/Python_result/%s/%s''' % (genotype,filename)) 或者更好的是: cmd_str = '''awk '{print $0}' /home/angad/Desktop/Python_result/%s/%s''' % (genotype,filename) dear = commands.getou ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)