Script:
Bekeken items script
Omschrijving/functies:
Als men een pagina bekijkt moet het id in een cookie. Bij de volgende pagina moet het id erbij in de cookie.
Op een overzicht pagina moeten de id's uit de cookie gehaald worden en dan moet alle dubbele id's eruit gehaald worden zodat elk id maar 1 keer voorkomt.
Het gaat enkel om de cookie te zetten --> id erin --> op de overzicht cookies eruit en elk id maar 1 keer. De opmaak en het script eromheen maak ik zelf.
Demo: verplicht
http://www.hotelspecials.nl (bezoek aantal hotelpagina's en linksonder verschijnen de bekeken hotels)
Prijs:
Mail je prijs met PM of vermeld je prijs + levertijd in dit topic.
- Bekeken items script
-
1792 × bekeken sinds 21-11-2009, 18:43 #1
Bekeken items script
-
In de schijnwerper
-
21-11-2009, 18:47 #2
- Berichten
- 162
- Lid sinds
- 15 Jaar
Je bedoelt dat hij moet controleren of dat ip adres er de laatste -- seconden al is geweest om te voorkomen dat er zinlose views bij komen??
Dat kan je ook gewoon via een check doen!
-
21-11-2009, 18:55 #3
- Berichten
- 419
- Lid sinds
- 16 Jaar
Nee dat bedoel ik niet. Ik wil een overzicht pagina maken met daarop de bezochte pagina's op mijn website. Als je de bovenstaande website bekijkt en je bezoekt aantal hotels en dan klik je linksonder op de link bekeken hotels.
-
21-11-2009, 19:31 #4
- Berichten
- 517
- Lid sinds
- 17 Jaar
view_item.php
Code:<?php $itemID = 2; $currCookie = $_COOKIE["last_viewed"]; setcookie("last_viewed", $currCookie . "," . $itemID); ?>
last_viewed.php
Code:<?php $getLastViewed = $_COOKIE["last_viewed"]; // 3,1,1 $items = explode($getLastViewed, ","); foreach($items as $item) { mysql_query("SELECT * FROM items WHERE id = '" . $item . "'"); } ?>
Zoiets?Laatst aangepast door Thijs Penny : 21-11-2009 om 19:38
-
22-11-2009, 08:26 #5
- Berichten
- 419
- Lid sinds
- 16 Jaar
Ja idd zoiets! Maar dan iets met een filter zodat alle dubbele id's (bijvoorbeeld 2 x id 10) maar 1 x vermeld wordt.
-
22-11-2009, 08:32 #6
- Berichten
- 517
- Lid sinds
- 17 Jaar
Code:<?php $getLastViewed = $_COOKIE["last_viewed"]; // 3,1,1 $items = explode($getLastViewed, ","); $itemsUnique = array_unique($items); foreach($itemsUnique as $item) { mysql_query("SELECT * FROM items WHERE id = '" . $item . "'"); } ?>
-
22-11-2009, 08:56 #7
- Berichten
- 935
- Lid sinds
- 17 Jaar
goede keuze Thijs
-
22-11-2009, 09:00 #8
- Berichten
- 419
- Lid sinds
- 16 Jaar
Thijs V. bedankt voor je reactie op deze vroege zondagmorgen!
Ik kom er niet helemaal uit.
Ik heb dit bovenaan mijn pagina (boven start_session();)
Code:if(isset($_GET["id"]) && $_GET["id"] != "0") { $itemID = 22; $currCookie = $_COOKIE["last_viewed"]; setcookie("last_viewed", $currCookie . "," . $itemID); }
Als ik dan naar de view pagina ga en ik doe het volgende:
Code:$test = $_COOKIE['last_viewed']; echo "waarde = $test ";
-
22-11-2009, 09:21 #9
- Berichten
- 517
- Lid sinds
- 17 Jaar
boven je pagina
PHP Code:<?php
$id = $_GET['id'];
if(isset($id) && !empty($id)) {
$itemID = 22;
if(isset($currCookie)) {
$currCookie = $_COOKIE["last_viewed"];
}
setcookie("last_viewed", $currCookie . "," . $itemID);
}
?>
PHP Code:<?php
$test = $_COOKIE['last_viewed'];
echo "waarde: " . $test;
?>
session_start(); is bij cookies niet nodig. Indien je dit toch gebruikt (icm sessies dus), moet dit altijd bovenaan.Laatst aangepast door Thijs Penny : 22-11-2009 om 09:40
-
22-11-2009, 09:41 #10
- Berichten
- 935
- Lid sinds
- 17 Jaar
en altijd session_start() bovenaan laten staan! gouden regel om session te laten werken......
-
22-11-2009, 10:17 #11
- Berichten
- 517
- Lid sinds
- 17 Jaar
Indien je er niet uitkomt kan je me altijd toevoegen op MSN, zal even mijn adres doorsturen via PM.
-
22-11-2009, 10:58 #12
- Berichten
- 419
- Lid sinds
- 16 Jaar
Bedankt voor je aanbod, maar ik heb geen msn.
Het lukt me toch niet. Ik heb alles in 1 script gezet (test.php). Als ik www.blabla.nl/test.php?id=5 doe zou het na een refresh toch moeten werken. Ik heb dit nu als code:
Code:<?php //connectie DB require("$_SERVER[DOCUMENT_ROOT]/connect.php"); //Bekeken id's $id = $_GET['id']; if(isset($id) && !empty($id)) { $itemID = $id; if(isset($currCookie)) { $currCookie = $_COOKIE["last_viewed"]; } setcookie("last_viewed", $currCookie . "," . $itemID); } ?> <?php $getLastViewed = $_COOKIE["last_viewed"]; $items = explode($getLastViewed, ","); foreach($items as $item) { $qry2 = mysql_query("SELECT * FROM hotel WHERE hotel_id = '" . $item . "'"); while($r2 = mysql_fetch_assoc($qry2)) { $naam = $r2['naam']; echo "$naam"; } } ?>
-
22-11-2009, 13:07 #13
- Berichten
- 517
- Lid sinds
- 17 Jaar
Heb het eventjes lokaal opgelost. Fout zat hem in de explode, had de twee parameters omgedraaid. Alles werkt nu naar behoren neem ik aan.
Klik eerst op onderstaande links, zodat er enkele items in de cookie komen:
http://tpdev.nl/try.php?id=15
http://tpdev.nl/try.php?id=28
http://tpdev.nl/try.php?id=2
http://tpdev.nl/try.php?id=45
http://tpdev.nl/try.php?id=8
http://tpdev.nl/try.php?id=6
http://tpdev.nl/try.php?id=9
Ga hierna naar: http://tpdev.nl/try.php
Je zal zien dat de laatste 5 items waar je heengaat worden getoond.
Source: http://tpdev.nl/try.phps
-
22-11-2009, 14:57 #14
- Berichten
- 419
- Lid sinds
- 16 Jaar
Bedankt voor je hulp! Het script werkt zo inderdaad goed. Ik heb nu nog enkel 1 probleem.
De id's worden niet goed in de cookie gezet, maar ook weer wel.
Een raar iets, ik zal het proberen zo goed mogelijk te omschrijven:
Als ik www.blabla.nl/hotel.php?id=3 doe werkt het goed. Als ik (omdat de urls herschreven worden) www.blabla.nl/hotel/3/hotelnaam.html doe, dan werkt het niet.
Als ik direct onder:
Code:setcookie("last_viewed", $currCookie . "," . $itemID);
of
Code:setcookie("last_viewed", $itemID);
het volgende plak:Code:echo "$_COOKIE['last_viewed']";
Code:echo "$_COOKIE['last_viewed']";
Wat zou het probleem kunnen zijn?
-
22-11-2009, 15:11 #15
- Berichten
- 517
- Lid sinds
- 17 Jaar
Komt waarschijnlijk door het herschrijven met .htaccess of een dergelijke mogelijkheid. Helaas heb ik daar geen ervaring mee en kan ik je helaas niet helpen met dat probleem. Wellicht heeft iemand anders hier wel ervaring mee?
Let er trouwens op dat je een variabele niet tussen quotes zet.
PHP Code:<?php
echo $_COOKIE['last_viewed'];
?>
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic