Hi.
Ich habe einen PHP Couner.
Er besteht aus einer counter.php und im Ordner /images sind die Zahlen.
Im Ordner der counter.php ist auch noch eine count.txt Datei, die zählt wieviele Leute auf der Seite waren.
Die counter.php Datei ist einwandfrei und vorallem fehlerfrei.
Ich habe jedoch jetzt das Problem, dass ich den Counter nicht in die Website einfügen kann. Wenn ich direkt in den Browser meineseite.de/counter/counter.php eingebe erscheinen die Zalen und es wird auch alles gezählt und funktioniert einwandfrei.
Ich will den Counter jedoch auf meiner Seite (PHP4; CMS=e107)
einbauen.
Deshalb habe ich ein Custom Menü gemacht und als Text eingegeben:
<?php include "counter/counter.php"; ?>
Jedoch passiert auf der Seite absolut nichts. Es erscheint kein neues Fenster wo der Counter oder so drinnen ist.
Kann mir da jemand helfen?
Nun, entweder ist der Pfad falsch (vielleicht hast du einen Fehler gemacht bei der Relativen/Statischen Pfadangabe, oder deine Counter.php hat bei sich einen Fehler.
Dh. Wenn du die Counter.php aufrufst stimmt der Relative Pfad zur Counter.txt vielleicht, aber sobald du die counter.php in deine Index.php einfügst darfst du nicht mehr von der Position der Counter.php ausgehen, sondern musst in der Counter.php die Pfadangabe von Index.php eintippen.
(Ich hoffe es war verständlich, ansonsten kann ichs mit einem etwas umständlichen Beispiel erklären )
Die Klammern sind bei allen include Befehlen optional. Hier hast du den Fehler gemacht, das Semikolon vor der abschließenden Klammer zu setzen, achte bitte darauf, fehlerfreien Code zu posten, da es für Neulinge sonst verwirrend werden kann.
Liegt deine Index Datei ebenfalls in meineadresse.de/ oder z.B. unter meineadresse.de/seite/
Wenn der Counter hier liegt,
meineadresse.de/counter/counter.php
meineadresse.de/counter/count.txt aber der include von hier stammt,
meineadresse.de/seite/index.php dann passiert beim einfügen der count.txt das:
include "meineadresse.de/seite/counter/count.txt";
Wenn du den include Pfad in der counter.php änderst (../counter/count.txt) sollte es funktionieren.
../ geht ein Verzeichniss zurück, versuche das bei dir anzupassen.
Hier wird man zu schnell geholfen für meine lahmen Finger^^
Original geschrieben von mitaki Die Klammern sind bei allen include Befehlen optional. Hier hast du den Fehler gemacht, das Semikolon vor der abschließenden Klammer zu setzen, achte bitte darauf, fehlerfreien Code zu posten, da es für Neulinge sonst verwirrend werden kann.
Liegt deine Index Datei ebenfalls in meineadresse.de/ oder z.B. unter meineadresse.de/seite/
Wenn der Counter hier liegt,
meineadresse.de/counter/counter.php
meineadresse.de/counter/count.txt aber der include von hier stammt,
meineadresse.de/seite/index.php dann passiert beim einfügen der count.txt das:
include "meineadresse.de/seite/counter/count.txt";
Wenn du den include Pfad in der counter.php änderst (../counter/count.txt) sollte es funktionieren.
../ geht ein Verzeichniss zurück, versuche das bei dir anzupassen.
Hier wird man zu schnell geholfen für meine lahmen Finger^^
...
Ich denke, was du geschrieben hast wird mir am meisten helfen.
Die anderen Sachen, funktionieren zwar auch, aber immer mit kleineren Fehlern oder einfach nicht schön, z.B das es einen weißen Hinergrund gibt und so etwas.
Zu deinem Vorschlag.
Also bei mir liegt die index.php unter meinedomain.de also meinedomain.de/index.php .
Die counter.php liegt unter meinedomain.de/counter/counter.php
was genau muss ich jetzt machen um den include Befehl nutzen zu können?
Btw. Hast du ICQ oder MSN?
Original geschrieben von Bermuda
Zu deinem Vorschlag.
Also bei mir liegt die index.php unter meinedomain.de also meinedomain.de/index.php .
Die counter.php liegt unter meinedomain.de/counter/counter.php
was genau muss ich jetzt machen um den include Befehl nutzen zu können?
Bermuda
...
Es ist noch wichtig zu erfahren wo die Counter.txt liegt. Ich gehe jetzt einfach mal aus, dass diese sich im selben Ordner befindet wie Counter.php
Dann musst du in die Counter.php gehen und dort deinen fopen() suchen und den Pfad wie folgt anpassen.
Die Counter.php kannst du wie folgt in die Index.php einbinden:
Dann sollte eigentlich alles laufen
dadies Code ist zwar richtig, aber vielleicht verstehst du es mit meinem Text wieder besser (nichts für ungut) ^^
Es sollte reichen den include Befehl in der counter.php (welche die count.txt included) hierauf zu ändern:
Die Änderungen für die fopen() Funktionen, wie Latency sie beschrieb gehören auch dazu, der Code stimmt auch.
Wenn noch Probleme auftreten sollten, dann gebe ich dir morgen meine ICQ Nummer.
So, also im Moment ist es immernoch wie folgt, dass die index.php unter domain.de/index.php ist.
Desweiteren editiere ich lieber nicht ide Index.php, da eigentlich der Counter über ein Custom Menü, das selber integriert wird.
Der Counter ist unter domain/counter/counter.php die count.txt ist unter domain/counter/count.txt die images unter domain/counter/images
So, dann poste ich jetzt einfach mal die counter.php
wenn ihr mir sagt, was ich ändern muss um die counter.php unter domain.de/ zu setzen, so dass ich den include Befehl benutzen kann wäre ich euch sehr dankbar.
Ich werde in roter Farbe einzeichnen, was ich denke verändert weden muss.
<?php
//path to the count.txt count storage file
$counter_file = "http://rpgxp.de/counter/count.txt oder counter/count.txt" "count.txt";
//open the file for reading
if(!($fp = fopen($counter_file , "r"))) die ("cannot open file");
//store the first 24 bytes of data from the file into $counter
$counter = (int)fread($fp, 24);
//close the file
fclose($fp);
//increment $counter by 1
$counter++;
//open the counter file for writing
$fp = fopen($counter_file , "w");
//write the new $counter value into the file
fwrite($fp, $counter);
//close the file
fclose($fp);
//number images are stored in the images directory
//and are numbered from 0.gif to 9.gif
//loop through the values of $counter and
//use the strlen function to check the length of $counter
for ($i = 0 ;$i < strlen($counter) ; $i++)
{
//the <img src> tag
$imgsrc = SubStr($counter,$i ,1);
echo "<a href=\"http://www.notathing.com/downloads.php\" target=\"_blank\"><http://rpgxp.de/counter/images> <img src=\"images/" . $imgsrc . ".gif\" border = \"0\"></a>";
}
?>
Original geschrieben von Latency So sollte der Code eigentlich stimmen. Jedoch weiß ich nicht warum du <http://rpgxp.de/counter/images> mitten im Code stehen hast
...
Okay...da blicke ich auch nicht durch und als ich den Code kopiert habe, die alte counter.php ersetzt habe und nach domain.de hingefügt hatte, und gestartet hatte kam auch gleich ein Fehler...
Kannst du nicht einfach meinen Code editieren?
Btw. Ist doch egal ob ich den vollen Pfad schreibe also http://rpgxp.de blablabla oder einfach /counter/images.
Kommt aufs gleiche raus...oder?
Gut, vielen Dank.
Hat gut funmktioniert wenn ich es jetzt in den Browser eintippe.
Aber die include Funktion funktioniert, weshalb auch immer immernoch nicht.
Welchen include Befehl soll ich denn jetzt benutzen um den Counter anzuschauen. Nur mal als Info, dass du ihn dir auch mal anschauen kannst unter http://rpgxp.de/counter.php
Dieses muss ich jetzt irgendwie einfügen.
Original geschrieben von Bermuda Gut, vielen Dank.
Hat gut funmktioniert wenn ich es jetzt in den Browser eintippe.
Aber die include Funktion funktioniert, weshalb auch immer immernoch nicht.
Welchen include Befehl soll ich denn jetzt benutzen um den Counter anzuschauen. Nur mal als Info, dass du ihn dir auch mal anschauen kannst unter http://rpgxp.de/counter.php
Dieses muss ich jetzt irgendwie einfügen.
Bermuda
...
Das Einfügen in die Index.php ist ein Kinderspiel. Einfach an irgend eine x-beliebige Stelle in der index.php folgenden Code schreiben:
Vorraussetzung ist aber dass die Counter.php weiter unter diesem Link erreichbar bleibt: http://rpgxp.de/counter.php
Das habe ich schon verstanden, nur schau mal auf die Seite www.rpgxp.de dort gibt es einzelne Fenster, die habe ich alle, besodners auf der rechten Seite per Custom Menü gemacht.
Deshalb kann ich ja nicht irgendwo einfach <?php include("counter.php"); ?> dies eintragen.
Da ich es ja auch in so einem Fenster rechts unten haben will.
Btw. Es gibt da noch etwas, die Hauptseite eigentlich wo auch automatisch die Domain rpgxp.de hingeführt wird heit rpgxp.de/news.php und ist nicht die index.php Datei.
Die index.php Datei enthält diesen Code:
Original geschrieben von Bermuda
Das habe ich schon verstanden, nur schau mal auf die Seite www.rpgxp.de dort gibt es einzelne Fenster, die habe ich alle, besodners auf der rechten Seite per Custom Menü gemacht.
Deshalb kann ich ja nicht irgendwo einfach <?php include("counter.php"); ?> dies eintragen.
Da ich es ja auch in so einem Fenster rechts unten haben will.
Bermuda
...
Na das kann ja heiter werden....
Lass mich raten, von der stammt keine Zeile Code auf der Seite? Warscheinlich hast du ein WPS oder CMS verwendet und damit die Seite zusammengeschustert.
Nun, das erschwert die ganze Sache etwas. Es ist sicherlich möglich die Templates so weit anzupassen den Counter irgendwo anzeigen zu lassen, und es sicherlich auch kein Beinbruch für jemanden der mit dem System vertraut ist, aber hier und jetzt kann ich dir nicht helfen, da solltest du dir lieber einen fähigen Programmierer für das Project besorgen, denn an solchen Sachen wirst du immer wieder scheiter. Auser du fängst an HTML, CSS, PHP usw. zu pauken.
Aber wenn du sagstest, dass du die anderen Menüs auch per Custom Menü angelegt hast dann müsste ein weiteres Menü doch auch möglich sein oder? Und als Inhalt dieses Menüs trägst du einfach den PHP Code von oben ein
Ich habe im ersten Post schon geschrieben, dass der Code nicht von mir stammt und ich ein cms von e107 benutze...warum sollte ich eins coden, wenn dass was die haben fast perfekt ist.
Mit HTML habe ich absolut keine Probleme, PHP kann ich nicht proggen aber Sachen um ändern.
Genau deshalb habe ich ja auch schon hermgeschaut in den einzelnen PHP Dateien, jedoch nirgends könnte ich den Befehl passend einbetten.
Ich werds jetzt warscheinlich doch per iframe machen müssen, anders gehts nicht, ich habe nämlich mal ein Custom Menü PHP Datei geöffnet, der Befehl wird halt nur als Text anerkannt und wird nicht ausgeführt.
Naja, wenn dir noch etwas einfällt, kannst es ja posten.
Ok, dann pass mal op, wir versuchen was anderes.
Und zwar scheißen wir auf den Schnickschnack mit den externen Bildern die eingebunden werden und erzeugen mit PHP selbst ein Bild welches man auch als ganz gewöhnliches Bild handhaben kann.
Wenn dein Host nun also Image-Funktionen bietet (was auf einer Linuxkiste und PHP 4.3.1 gar nicht mal so unüblich ist), dürfte dies eine recht optimale Lösung für dich darstellen.
Und zwar ersetz mal den Code in deiner counter.php-Datei durch diesen:
Diese counter.php-Datei kannst du nun in deine Seite als Bilddatei einbinden. Einfach per <img src="counter.php" width="70" height="13">. Sonst nix. Kein zusätzlicher Include. Keine zusätzlichen 0-9.gif's mehr.
Ich hab dir den Code ausdokumentiert damit du verstehen kannst was Sache ist und ihn ggf. selbst für dich anpassen kannst.
Hier zum Anschauen mit roter statt grauer Schrift:
Look, funzt sogar hier im Forum.
BTW: Das Dingen könnte noch eine Reloadsperre gebrauchen:
Erzähl obs geklappt hat.
Endlich hats funktioniert!
Vielen Dank!
Was ich jetzt noch wissen muss ist, ob ich auch meine Zahlen dafür benutzen kann.
Oder ob ich die Zahlen auch größer machen kann.
Desweiteren müsstest du mir die Reloadsperre in den anderen einbauen, da ich es ja nicht in die news.php einbauen kann.
Oder wie sol ich es machen?