Gå til innhold

problem med teller :(


Anbefalte innlegg

Videoannonse
Annonse
Skrevet

Det finnes mange måter å løse dette på. Dersom du ikke kan mye programmering så er det enkleste å gå til www.hotscripts.com å laste ned en teller. Der kan du få avanserte tellere med grafer ol.

 

Ellers må du skrive noe som hindrer den fra å oppdateres. Opprett f.eks. en session som heter $_SESSION['registrert'], og sett denne til true så fort brukeren er telt. Dersom denne variabelen er like true så skal tellerene ikke oppdateres.

Skrevet

En annen kjapp mulighet er å sette en cookie. Hver nettleser blir da telt kun 1 gang, (hvis du ikke har kort expire tid, som gjør cookien ugyldig).

 

Metoden fra ???????? er jo ganske grei, og ikke vanskelig å implementere heller.

Skrevet

ok da veger jeg å bruke metoden som ???????? sa.

 

mine koder lyder slik:

 

counter.php

<?php 

$viewss = file("counterlog.txt"); 

$views = $viewss[0]; $views++;

$fp = fopen("counterlog.txt", "w"); 

fwrite($fp, $views); 

fclose($fp); 

print $views;

?>

 

og en counterlog.txt som inneholder tallene og chmodda til 777.

 

jeg skriver:

<?php

include ("counter.php");

?>

der jeg skal ha telleren....

 

hva må jeg forandre på......?

Skrevet

Dette er noe vi er litt i mot på PHP delen av forumet, å slavekode for andre. Grunnen til dette er at det ofte er en del ting en må ta hensyn til.

 

Pass på at

<?php

include ("counter.php");

?>

kommer før all output (før alle html koder).

 

 

<?php

session_start();

$viewss = file("counterlog.txt");

if(!isset($_SESSION['teller'])){

$fp = fopen("counterlog.txt", "w");

$write = fwrite($fp, $viewss[0]++);

fclose($fp);

if($write){

$_SESSION['teller'] = true;

}

}

?>

 

Bruk da:

<?= $views[0] ?>

for å vise antall besøkende.

 

Merk: koden er skrevet direkte her og er ikke testet. Din kode er heller ikke forbedret.

Skrevet
Dette er noe vi er litt i mot på PHP delen av forumet, å slavekode for andre. Grunnen til dette er at det ofte er en del ting en må ta hensyn til.

vil ikke si at du trenkte å skrive en ny kode til meg......

så du kunne bare sagt hva jeg skulle ha forandret.....

mente ikke det spørsmålet slik :no:

 

men alikevel.... koden din fungerte på akuratt samme måte som den gamle.... hva er galt? :cry:

Skrevet (endret)

Prøv denne:

 

<?php 
session_start();

$views = file("counterlog.txt"); 
$views = $views[0];

if(!isset($_SESSION['teller'])){

$views++;
$fp = fopen("counterlog.txt", "w"); 
$write = fwrite($fp, $views); 
fclose($fp); 

if($write){
 $_SESSION['teller'] = true;
}

}
?>

 

<?= $views ?>

Endret av ????????
Skrevet
Prøv denne:

 

<?php 
session_start();

$views = file("counterlog.txt"); 
$views = $views[0];

if(!isset($_SESSION['teller'])){

$views++;
$fp = fopen("counterlog.txt", "w"); 
$write = fwrite($fp, $views); 
fclose($fp); 

if($write){
 $_SESSION['teller'] = true;
}

}
?>

 

<?= $views ?>

skal jeg lime inn

<?= $views ?>

der jeg vil at telleren skal være??

og skrive:

?php 
session_start();

$views = file("counterlog.txt"); 
$views = $views[0];

if(!isset($_SESSION['teller'])){

$views++;
$fp = fopen("counterlog.txt", "w"); 
$write = fwrite($fp, $views); 
fclose($fp); 

if($write){
$_SESSION['teller'] = true;
}

}
?>

i counter.php ?

 

er ingen php guru, men forbedrer meg sakte men sikkert :yes:

Skrevet (endret)

Jeg ser (eller så) at han har et includescript som bruker $side/$_GET['side'].

 

Om jeg leste rett så mente du at du ikke vil legge til i telleren for hver gang noen reloader siden din sant?

 

Prøv noe sånn:

if (!isset($_GET['side'])) {
// her legger du inn det som skrive til fila.
}

 

Dette kan du legge i toppen av fila :)

 

Edit: så jeg hadde skrevet gjestebok :blush:

Endret av smoothie
Skrevet
jo, men når du trykker på en link, så blir $_GET['side'] satt, ergo telleren vil ikke bli oppdatert

Skjønner fortsatt ikke hva du mener, på den måten vil ikke brukere bli telt dersom de kommer direkte inn på en under side hvor GET er satt. I tillegg så vil de fotsatt telles to ganger om de trykker oppdater på hovedsiden.

 

Forklar gjerne hva du mener?

Skrevet

kan noen fortelle meg hvorfor det står:

Notice: Undefined index: side in /mnt/home3/c/ch/chs89/public_html/test2/index.php on line 15

på toppen av siden når jeg går inn?gjorde jo ikke det i går..... har ikke forandret på noe utenom telleren....

LINK

Skrevet

hehe.....

følte meg litt ute igjen :dontgetit:

scriptet? kodene til index.php??? er her:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="style.css" type="text/css" rel="stylesheet">
</head>
<body>
<div align="center">

<table width="800" cellspacing="1" cellpadding="0">	<tr>
 <td height="100" colspan="3"><? include("header.php"); ?></td>
</tr>
<tr>
 <td width="184" valign="top"><? include("meny.php"); ?></td>
 <td width="427" valign="top" valign="right" style="border-left-width:1px; border-left-style:dashed; border-left-color:#000000; border-right-width:1px; border-right-style:dashed; border-right-color:#000000; border-bottom-width:1px; border-bottom-style:dashed; border-bottom-color:#000000;"><?php
$side = $_GET['side'];
if (!empty($side)) {
include "$side.php";
} else {
include "hoved.php";
}
?></td>
 <td width="184" valign="top"><? include("menyleft.php"); ?></td>
</tr>
<tr>
 <td colspan="3"><? include("footer.php"); ?></td>
</tr>
</table>

</div>
</body>
</html>

 

var det riktig?

håper det :thumbup:

Skrevet

aaaaaarg!

fikk et annet problem!

i explorer så teller telleren en gang når man trykker på en link, selv om den er i iframes... det skjer ikke i opera.... men de fleste som lester siden bruker nok explorer siden de ikke kan noe om data og explorer er med xp...

hva må jeg gjore da?

for at telleren bare skal telle en gang per besøker...

Skrevet (endret)

ingen som vet hva jeg må gjøre??

og hvorfor skjer det bare i explorer?

 

EDIT: går det f.eks ann å få telleren til bare å telle på en spesiell addresse?

Endret av chs89

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...