Archivlink: javarea.de Forum > PHP, MySQL & CGI > abstrakter counter
Vollständigen Link anzeigen: javarea.de Forum > PHP, MySQL & CGI > abstrakter counter
Pages: [1]
2
3
... nächste »
... Letzte »
| geschrieben von mr-smile am 14.03.2006 - 20:31 |
ich will...
1mil. € nen porsche und ...
2 scripte
ein script, was wenn man die seite, in die es eingebunden ist, aufruft, zu der zahl, die in einer txt datei steht, 1nen dazuadiert.
dann will ich das ich diese zahl in eine seite einbinden kann.
vielen dank für die blumen sehr nett von euch... :-) |
| geschrieben von zippy am 14.03.2006 - 20:42 |
So liest man zB die Textdatei:
| PHP-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
<?
function read_txt()
{
$fp = fopen("pfadzum.txt","r");
if ($fp)
{
$content= "";
while (!feof($fp))
{
$content.=fgets($fp, 400); //400-in diesem Fall maximale Zeilenlänge
}
fclose($fp);
return $content;
}
else
return "Datei nicht gefunden";
}
?>
|
Uns so kamma se schreiben:
| PHP-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
|
<?
function write_txt($text)
{
$fp = fopen("pfadzum.txt","w");
if ($fp)
{
flock($fp,2);
fputs ($fp, "$text");
flock($fp,3);
fclose($fp);
}
else
{
echo "Datei wurde nicht zum Schreiben geöffnet";
}
}
?>
|
Die Textdatei muss alle nötigen Rechte erlauben.
Die Zahl:
| PHP-Quelltext | 1:
2:
3:
|
<?
$zahl=read_txt();
?>
|
Mit der tust du, was Du willst.
Dann wieder eintragen:
| PHP-Quelltext | 1:
2:
3:
|
<?
write_txt($neuezahl);
?>
|
Nachtrag: Das sind alte Schnipsel von mir, die ich fertig hatte. Bin nicht ganz sicher, ob die write_txt() nicht gar ne Datei herstellt, wenn keine da ist. Damit wär ich vorsichtig. Schau dir im Zweifelsfall die Beschreibung der verwendeten funktionen in phpnet an. |
| geschrieben von zippy am 14.03.2006 - 21:16 |
Keine Ahnung, warum der fatal error mit der undefined write_text() kommt.
Könnte sein, weil ich unten TEXT geschrieben habe, während die fuktion TXT heißt. Besser das mal aus...
Im Posting ahb ichs schon ausgebessert. |
| geschrieben von mr-smile am 14.03.2006 - 21:18 |
anzeige.php:
| PHP-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
|
<?
function read_txt()
{
$fp = fopen("5.txt","r");
if ($fp)
{
$content= "";
while (!feof($fp))
{
$content.=fgets($fp, 400); //400-in diesem Fall maximale Zeilenlänge
}
fclose($fp);
return $content;
}
else
return "Datei nicht gefunden";
}
?>
<body>
<?
$zahl=read_txt();
?>
<a href="zaeler.php">zum zähler</a>
</body>
|
zaeler.php:
| PHP-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
|
<?
function write_txt($text)
{
$fp = fopen("5.txt","w");
if ($fp)
{
flock($fp,2);
fputs ($fp, "$text");
flock($fp,3);
fclose($fp);
}
else
{
echo "Datei wurde nicht zum Schreiben geöffnet";
}
}
?>
<body>
<?
write_txt($neuezahl);
?>
<a href="anzeige.php">zum Aufruf</a>
</body>
|
habs jetzt gehändert...
gleich mal anschauen
PS: ich brauch unbedingt nen online editor, ftp nervt |
| geschrieben von zippy am 14.03.2006 - 21:20 |
| Steht eh schon oben. Die Funktion heißt write_txt, beim Aufruf hab ich erst irrtümlich write_text geschrieben. Wennstas abgeschrieben hast, dan auch den Fehler. |
| geschrieben von mr-smile am 14.03.2006 - 21:23 |
| die dateien sehen jetzt wie oben aus... |
| geschrieben von zippy am 14.03.2006 - 21:30 |
Könnte etwa so funzen:
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
| <?php
function read_txt()
{
$fp = fopen("5.txt","r");
if ($fp)
{
$content= "";
while (!feof($fp))
{
$content.=fgets($fp, 400); //400-in diesem Fall maximale Zeilenlänge
}
fclose($fp);
return $content;
}
else
return "Datei nicht gefunden";
}
function write_txt($text)
{
$fp = fopen("5.txt","w");
if ($fp)
{
flock($fp,2);
fputs ($fp, "$text");
flock($fp,3);
fclose($fp);
}
else
{
echo "Datei wurde nicht zum Schreiben geöffnet";
}
}
$zahl=read_txt();
$zahl++;
write_txt($zahl);
?>
<html><head><title>Counter</title></head><body>
Bisher aufgerufen: <?php echo $zahl; ?> mal
</body></html> |
Gerade ausprobiert. In der Datei "5.txt" muss ne Zahl stehen, die Datei hab ich auf 777 gechmoded, und bei jedem Aktualisieren wird eines mehr angezeigt. Funzt so. |
| geschrieben von mr-smile am 14.03.2006 - 21:37 |
ich will aber mit einer datei zählen, und dann in einer anderen anzeigen wie oft die zaelen aufgerufen wurde...
sorry wenn das nicht klar geworden ist.
hier die alles in einem datei.
ja es funzt so... aber leider nicht so wie ich will. aber ich glaube das script werde ich ale normalen counter einsetzten.
danke...
aber ist leider noch nicht das was ich suche |
| geschrieben von zippy am 14.03.2006 - 21:42 |
Kannst ja. Ist ja kein Prblem, den Text mit der read_txt() aus ner anderen Datei aufzurufen. Das oben ist einfach ne Demodatei, wies geht. Kannstas ohne weiteres zerreißen und aufteilen. Allerdings muss auch die Demodatei funzen, als Test sozusagen.
Die Seite, deren Aufrufe Du zählst, braucht BEIDE Funktionen, etwa wie die Demo. Die andere Seite braucht lediglich die read... |
| geschrieben von mr-smile am 14.03.2006 - 21:43 |
ja die demo datei geht.
dann werde ich das morgen mal in stücke reissen.
hier darfst den posche, 1mil.€ und die blumen behalten
DANKE |
| geschrieben von zippy am 14.03.2006 - 21:47 |
| Die Seite, deren Aufrufe Du zählst, braucht BEIDE Funktionen, etwa wie die Demo. Die andere Seite braucht lediglich die read. Die muss ja bloß lesen, wie oft usw... |
| geschrieben von zippy am 14.03.2006 - 22:10 |
Hab zwei Zeilen dazu geschrieben, mit denen nicht jedes Aktualisieren gezählt wird, sondern bloß die Aufrufe in einem jeweils neuen Fenster, also die echten Seitenbesuche. Immer, wenn Du die Datei in einem neuen Fenster aufrufst, steigt der Counter, und wenn er von Besuchern mehrmals angeklixt wird, steigt er nicht:
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
| <?php
session_start();
function read_txt()
{
$fp = fopen("5.txt","r");
if ($fp)
{
$content= "";
while (!feof($fp))
{
$content.=fgets($fp, 400); //400-in diesem Fall maximale Zeilenlänge
}
fclose($fp);
return $content;
}
else
return "Datei nicht gefunden";
exit();
}
function write_txt($text)
{
$fp = fopen("5.txt","w");
if ($fp)
{
flock($fp,2);
fputs ($fp, "$text");
flock($fp,3);
fclose($fp);
}
else
{
echo "Datei wurde nicht zum Schreiben geöffnet";
exit();
}
}
$zahl=read_txt();
if (!$_SESSION['counter'])
{
$zahl++;
write_txt($zahl);
}
$_SESSION['counter']="binschonda";
?>
<html><head><title>Counter</title></head><body>
Bisher aufgerufen: <?php echo $zahl; ?> mal
</body></html> |
|
| geschrieben von sobi am 15.03.2006 - 01:27 |
| der visitors dürfte dein problem lösen. ist mit reload sperre + geprüft. |
| geschrieben von mr-smile am 15.03.2006 - 21:36 |
danke euch nochmal, aber ich werde zippy´s erste versio nehmen...
schon allein deswegen, weil er mir es so gut erklärt hat.
PS: zippy mach dir mal als rang "noob-retter"
EDIT: weis irgendwer nen guten Online editor, möglichst mit passwort schutz ? ich krieg das mit htaccess net hin... danke |
|