Gå til innhold

problem med teller :(


Anbefalte innlegg

Videoannonse
Annonse

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.

Lenke til kommentar

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å......?

Lenke til kommentar

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.

Lenke til kommentar
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:

Lenke til kommentar

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 ????????
Lenke til kommentar
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:

Lenke til kommentar

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
Lenke til kommentar
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?

Lenke til kommentar

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:

Lenke til kommentar

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...

Lenke til kommentar

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...