Jump to content
Sign in to follow this  
addaminsane

Can I show an element on first page view only?

Recommended Posts

Hi, im trying to go back to basic html and php sites in order to expand the limitations i've created by solely using premade cms's.I have a simple question.I need advice or guidance for displaying an html based element on the first time a visitor views a page, but not on recurring views.This doesn't need to be permanent.If further explanation of what i'm hoping to find info for is need let me know.Im looking for the most efficient way to do this with php or whatever works the best. I'm guessing once i know the foundation for it, i can then do whatever html element i want, such as a simple placed div or an immediate lightbox popup. The important thing is for it to not be happening over and over in the time frame that a user is looking at different pages.Thanks.

Share this post


Link to post
Share on other sites

Please clarify:1. A user should see the thing once and, ideally, never ever see it again. That's a cookie solution. If you also have a login system, then it's a database/file solution.2. A user should see the thing once while they are browsing NOW, but when they come back tomorrow, they should also see it once, but once only. That is most easily a sessions solution, but it could also be a normal cookie solution.

Share this post


Link to post
Share on other sites
Please clarify:1. A user should see the thing once and, ideally, never ever see it again. That's a cookie solution. If you also have a login system, then it's a database/file solution.2. A user should see the thing once while they are browsing NOW, but when they come back tomorrow, they should also see it once, but once only. That is most easily a sessions solution, but it could also be a normal cookie solution.
thank you for your reply. I guess idealy, they would only see it once similar to a cookie that lasts like 2 days or something. It will definitely not be a login thing.I definitely don't want to throw any cookie flags that would get the site in trouble. If a cookie solution is the best way to do it, i would love to here about how i can go about this in the most efficient way solely for displaying an html based element such as a div position.I don't need info about how to do it with a div obviously, just guidance on how to do the cookie foundation you mentioned. Also note, that each page could have its own cookie i guess rather than sitewide...i obviously am oblivious.Thanks Alot! Edited by Poker Webmaster

Share this post


Link to post
Share on other sites
Setting cookies in PHP is easy, and reading them is even easier. I think your process would be like this:Check the cookie.If it's set, don't output the HTML for the div-thing.If it is not set, output the HTML and set the cookie

Share this post


Link to post
Share on other sites

thank you for the resource, i honestly tried reading it to the best of my ability and figuring it out. maybe i can trouble you to help me with this example.On a page i want to output this on the first visit from an ip and the cookie will remain on the users computer for 10 days.

<div id="sample>< php include ("/includes/sample.php") ?> </div>

thanks for the help

Setting cookies in PHP is easy, and reading them is even easier. I think your process would be like this:Check the cookie.If it's set, don't output the HTML for the div-thing.If it is not set, output the HTML and set the cookie

Share this post


Link to post
Share on other sites

Well, just think of what the step involved are to get that to happen, cookie aside.First, you want to check if the cookie is set on the user's side. If it is set, then don't show something. If it isn't set, then show something, and set the cookie so it won't show for next time (until it expires). One option is have this method set a flag so that all your "calculations" are done at the beginning of the page, and then later in your document you can just do something like this:

if(showSomething){  //show the something};

but for now, just try and get the basic control structure set up where you would be checking for the cookie, and then making the decisions based on that. For now, don't worry about making it. Just now that when you set a cookie, you call it a name, and that's the name you need to look for when checking. this is from that page that DD linked you to. It should be enough to get you through the checking logic and from there we can figure out how to set a cookie.

The value of the cookie. This value is stored on the clients computer; do not store sensitive information. Assuming the name is 'cookiename', this value is retrieved through $_COOKIE['cookiename']
if you're feeling inspired, there's a basic example of setting/getting a cookie on that page as well.
<?php$value = 'something from somewhere';setcookie("TestCookie", $value);setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);?>...<?php// Print an individual cookieecho $_COOKIE["TestCookie"];echo $HTTP_COOKIE_VARS["TestCookie"];// Another way to debug/test is to view all cookiesprint_r($_COOKIE);?>

Edited by thescientist

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×