كمك counter for php

arashpino

Member
با سلام...
اقا من 6 تا صفحه دارم كه ميخوام براش counter بذارم.
يك سرچي كردم يك اسكريپت گرفتم از hotscript كه با ديتا كار ميكنه.ولي مشكل دارم.اخه راستشم بخواي زياد برنامه نويسي با php بلد نيستم.ولي من كدهاي اين اسكريپت رو ميذارم شايد يكي هم مثل من پبدا بشه به دردش بخوره البته اگه شما هم لطف كنيد و مشكل منو بگيد.
اول از اينكه اين آقا گفته اين فايل رو در روت سرور كپي كنيد.
فايل counter.php :
کد:
  <?php
if (file_exists("database/counter.txt"))
{
$file=file("database/counter.txt");
//YOU HAVE TO UPDATE THIS PART IF YOU WANT TO ADD A NEW FILE. RESPECT THE ORDER OF COUNTER.TXT 
switch ($title)
{
 case "Home":
 $value=0;
 break;
 case "Faq":
 $value=1;
 break;
 case "Products":
 $value=2;
 break;
 case "Reviews":
 $value=3;
 break;
 case "History":
 $value=4;
 break;
 case "Links":
 $value=5;
 break;
 case "Whatsnew":
 $value=6;
 break;
 case "page1":
 $value=7;
 break;
 case "page2":
 $value=8;
 break;
 case "page3":
 $value=9;
 break;
 case "page4":
 $value=10;
 break;
 break;
 case "page5":
 $value=11;
 break;
}
$update=$file["$value"]+1;
$size=count($file);
for ($i=0;$i<"$size";$i++)
{
 $filestamp=$file["$i"];
 $trimmed=trim($filestamp);
 $filetemp=fopen("database/$i.temp","w");
 fputs($filetemp,$trimmed); //crea dei file chiamati 0,1,2.temp... contenenti il valore $filestamp
 fclose($filetemp);
}
$fileread=fopen("database/$value.temp","r");
$val=fgets($fileread, 1024);
$newvalue=$val+1;
print "This page has been loaded <b>$newvalue</b> times."; //stampa il nuovo valore
fclose($fileread);
$filewrite=fopen("database/$value.temp","w");
fputs($filewrite,$newvalue);
fclose($filewrite);

//inizializza $oldvalue[] e ci scrive dentro i valori
$oldvalue=array();
for ($j=0;$j<"$size";$j++)
{
 $tempo=fopen("database/$j.temp","r"); //legge ad uno ad uno i valori updatati nei file temporanei
 $oldvalue[$j]=fgets($tempo, 1024);
 fclose ($tempo);
 unlink("database/$j.temp"); //cancella i files temporanei
}

//crea un file $upvalues nella forma $oldvalue[0]\n$oldvalue[1]\n...
$oldvalue[$value]="$newvalue -$title";
$upvalues="";
foreach($oldvalue as $val)
$upvalues .=$val ."\n";

//scrive in counter.txt i valori in righe diverse
unlink("database/counter.txt"); //cancella il file
$counterupp=fopen("database/counter.txt","w");
fputs ($counterupp,$upvalues);
fclose ($counterupp);
}
else
{
 print"The counter hasn't been initialized";
}
?>

بعد گفته که درهر صفحه ای که میخواید counter داشته باشيد اين كد رو بنويسيد:
کد:
<?php $title="NAME"; include "counter.php"; ?>

به جاي NAME هم آدرس صفحه رو اينطوري بنويسيد: مثلا music.php .
بعد گفته كه اين ديتا بيس رو اديت ميكني. اينم فايل ديتا بيسش كه counter.text:
کد:
0 -Home
0 -Faq
0 -Products
0 -Reviews
0 -Hystory
0 -Links
0 -Whatsnew
0 -page1
0 -page2
0 -page3
0 -page4
0 -page5
بعد گفته این کارها رم تو counter.php انجام ميدي:
کد:
switch ($title)
{
 case "NAME":
 $value=0;
 break;
البته گفته كه به جاي NAME بازهم آدرس صفحه رو بذار.بعدي ديتا رو باهمون پسوند text ايمپورت كن.
منم ميخوام كه وقتي درست بشه يك كدي در همون صفحه يا صفحه ديگه بنويسم كه آمار بازديدها رو بنويسه(نشون بده).
ولي حالا مشكل دارم:
1. اصلا ديتا بيس رو ايمپورت نميكنه( من گفتم وارد نيستم كه بدونم ديتا بيس رو بايد چطوري نوشت من فقط بلدم ديتا رو حاظر و آماده ايمپورت كنم.مثل phpbb و phpnuke كه نصب كردم.
اينم توضيح كامل خودش كه شايد من بيسواد كه زبانم خوب نيست يك جاش رو متوجه نشده باشم.:

CCcounter.php is under GPL license.
You can modify, copy and redistribute these files, but you have
to mention the source (Cicoandcico co.).

-----------------------< Instructions >------------------------
1)
Place counter.php in your root directory. Include in your pages
the following line where you want the count to be displayed.

<?php $title="NAME"; include "counter.php"; ?>

NAME is the page title (like index.php, or index, or
Main-page... whatever you want).


2)
Edit the file database/counter.txt with these titles. Here's an
example:

0 -Home
0 -Faq
0 -Products
0 -Reviews
0 -Hystory
0 -Links
0 -Whatsnew
0 -page1
0 -page2
0 -page3
0 -page4
0 -page5
...

you have to remember the order, as it is necessary in step 3.


3)
Edit counter.php this way:

switch ($title)
{
case "NAME":
$value=0;
break;
...
...

Where NAME is again the page title. You can add as many pages you
want.
IMPORTANT: THE ORDER MUST BE THE SAME OF THAT USED IN IHE DATABASE
FILE!

Open one of your pages and enjoy our script

اينم من ميگم :D : با تشكر از همه دوستاني كه كمك مي كنند ....مرسي
 

miladmovie

Active Member
تا اونجاي كه من دارم مي بينم اين كانتر اصلا با ديتابي خاصي كار نمي كنه يعني داره با فايل كار مي كنه
 

arashpino

Member
خوب ميشه لطف كنيد بگيد با همين فايل هم چگونه ميشه ازش كار كشيد؟
 

arashpino

Member
يعني واقعا كسي نميدونه چطوري ميشه با php براي صفحات وب كنتور گذاشت؟؟؟
 

miladmovie

Active Member
راسش رو بخواهي هيچكي نمي ياد با فايل ها دست پنجه نرم بكنه چون واقعا بي خود هستن!!!!!


وقتي مي توني يك query بدي به ديتابيس تا يك كار رو برات انجام بده چرا بياي با فايل كار بكني؟
 

arashpino

Member
سلام آقاساراللهممنون. خب اول كه اصلا ديتا بيس رو نميسازه و بعدش بدون ديتا بيس هم هيچي نشون نميده..
 

sarallah

Member
عزيز جان اين اسكريپت اصلا ديتا بيس نداره كه بافايلها كار ميكنه
اگه هيچ خطايي نميده احتمالا گزارش خطاش غير فعال هستش (هاست)
و چون اين برنامه قراره كه تو فايل بنويسه و ازش بخونه شما بايد اجازه دسترسي كامل به اون فايل بدي
با تشكر
ثارالله
 

جدیدترین ارسال ها

بالا