对于我的网站,我想在页面中间为首次访问者创建一个链接,使用PHP说“首次点击此处”。
答案 0 :(得分:5)
理论上你可以用cookie来做,但除了要求他们注册一个帐户并在他们第一次登录时向他们显示消息时,没有保证能够检测到“第一次访问者”。
原因是cookie可能会从浏览器中清除,人们可能会更改计算机/浏览器,cookie最终会过期,并且取决于您的目标是什么,最终会让现有用户感到厌烦,假设他们是新用户。
无论如何,够了。您的代码可能如下所示:
<?php
// Top of the page, before sending out ANY output to the page.
$user_is_first_timer = !isset( $_COOKIE["FirstTimer"] );
// Set the cookie so that the message doesn't show again
setcookie( "FirstTimer", 1, strtotime( '+1 year' ) );
?>
<H1>hi!</h1><br>
<!-- Put this anywhere on your page. -->
<?php if( $user_is_first_timer ): ?>
Hello there! you're a first time user!.
<?php endif; ?>
干杯!
答案 1 :(得分:0)
有一个在“点击”上创建cookie的功能,并提示没有cookie的每个人。
答案 2 :(得分:0)
if(isset($_GET['firsttimer'])){
// ok, lets set the cookie
setcookie('firsttimer','something',strtotime('+1 year'),'/');
$_COOKIE['firsttimer']='something'; // cookie is delayed, so we do this fix
}
if(!isset($_COOKIE['firsttimer']){
// if cookie ain't set, show link
echo '<a href="?firsttimer">First time, click here</a>';
}else{
// not firsttimer
echo 'Welcome back!';
}
答案 3 :(得分:0)
<?php
// this might go best in the new visitor file
setcookie('visited','yes', 0x7FFFFFFF); // expires at the 2038 problem point
// ... snip ...
if (isset($_COOKIE['visited'])):
?>
<a href="foo.php">New Visitor? Click here!</a>
<?php
endif;
// ... snip ...