[Tutorial]Kleine Dynamische Foren Signatur in PHP

@promi

ja gut kann ich bei deinem projekt schon verstehen, wenn man da kein opensource gebrauchen will aber schlimm fänd ich es auch net :wink:

Wie auch immer ich bastel da gerad auch was :wink: aber nur für mich privat…

@Pit freut mich wenn zu was nütze war :wink:

Komm irgendwie nicht weiter…

Hier meine Dateien als .rar:
rapidshare.com/files/124497380/dynamic.rar

Hier im Ordner:
keksautomat.kilu.de/sig/

Quellcode:
keksautomat.kilu.de/sig/sig.txt

Gruss :confused:

Ps: Ich kann grad nichts auf meinem FTP Server hier hochladen, siehe: viewtopic.php?f=6&t=3020

Gruss²

Blödes windows, schreibt manchmal die dateiendungen groß. benenne die png.PNG in png.png um dann ist das problem behoben(zeile 6 im Quelltext)

Wäre hilfreich wenn jemand weis wie man das wieder abstellen kann.

mfg

[quote=“kla_kal”]Blödes windows, schreibt manchmal die dateiendungen groß. benenne die png.PNG in png.png um dann ist das problem behoben(zeile 6 im Quelltext)

Wäre hilfreich wenn jemand weis wie man das wieder abstellen kann.

mfg[/quote]

Herzlichen Dank, nun funktioniert es. :wink: Muss nur noch bissl mit den Richtungen üben. *gg

Gruss

Hi,

also mir ist da jetzt eine Idee gekommen wie man es ermöglichen kann den eigenen Online-Status in die Signatur mit einzubinden.

Und zwar folgendes, jemand ist so freundlich und schreibt eine kleines Programm, dass alle 5 min. automatisch eine PHP-Datei auf dem Webserver aufruft. Die PHP-Datei schreibt dann irgendwohin nen Timestamp und in der Signatur überprüft man dann halt ob der Timestamp länger als 5 min zurückliegt oder nicht. Das Programm hängt man dann in den Autostart, und schon hat man eine online-offline anzeige.

Da ich leider ausser PHP noch keine andere programmiersprache beherrsche, kann ich das Programm nicht selbst schreiben, aber vielleicht findet sich ja jemand der bereit das ganze zu realisieren. Wo ich helfen kann, werde ich natürlich helfen.

mfg

unter Linux kann ich das machen :wink:

Ich hab da aber auch eine Idee: Die Signatur wird vom Benutzer eig. jedesmal aufgerufen, wenn er im Forum etwas schreibt…da kann man eine Super “Ich bin im Forum off-/online” Anzeige machen :wink:

Dafür gibt es ja den “online” button der bei Autor ist. Ausser man will es natürlich in anderen Foren verwenden.

Kenn mich ja nicht mit Anwendungs-Programmierung aus, aber ist es nicht z.B. in C so, dass man es programmiert und dann auf LINUX und Windows compliert? Also dass es dann auf beiden Systemen läuft?

mfg

leider funktionieren Windows-Sockets ganz anders als die von Linux…und die Anwendung besteht ja im Endeffekt fast nur aus einem Socket…

Also ich bin gerade dabei mir die C doku durchzulesen, vllt bring ich es ja selbst auf Windows hin, falls sich kein anderer Findet. Welche Sprache nutzt du denn?

C(++)

Sorry, aber ich hab ein kleines Problem mit der Signatur.
Ich habe alles eingetragen, wie es sich gehört, aber es kommt immer folgende Meldung wenn ich meine ‚sig.png‘ oder ‚sig.php‘ öffnen will:

Hier die Dateien:
PHP Datei:
files21.bplaced.net/sig.php
PNG Datei:
files21.bplaced.net/sig.png
Font Datei:
files21.bplaced.net/files/octin_vintage_free.ttf
.htaccess Datei:

[quote]RewriteEngine On
RewriteRule sig.png sig.php[/quote]
( befindet sich im Stammverzeichnis ( gleich wie ‚sig.php‘ und ‚sig.png‘ ) )
Und hier der Quellcode von meiner PHP Datei:

[quote]<? header("Content-type: image/png") ?>
$img = imagecreatefrompng(„http://files21.bplaced.net/sig.png“);
$white = imagecolorallocate($img,255,255,255);
$black = imagecolorallocate($img,0,0,0);
$red = imagecolorallocate($img,255,0,0);
$blue = imagecolorallocate($img,0,0,255);
// Auslesen der Browser
if (ereg( ‚MSIE‘,$_SERVER[HTTP_USER_AGENT])) {
if (strstr($_SERVER[HTTP_USER_AGENT],‚MSIE 5.0‘)) {
$browser = „Internet Explorer 5“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT],‚MSIE 5.5‘)) {
$browser = „Internet Explorer 5.5“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT],‚MSIE 6.0‘)) {
$browser = „Internet Explorer 6“;
} else {
$browser = „Internet Explorer“;
}
} elseif (ereg( ‚Opera‘,$_SERVER[HTTP_USER_AGENT])) {
$browser = „Opera“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „Firefox“)) {
$browser = „Firefox“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „Safari“)) {
$browser = „Safari“;
} elseif (ereg(„Lynx“, $_SERVER[„HTTP_USER_AGENT“])) {
$browser = „Lynx“;
} elseif(ereg(„WebTV“, $_SERVER[„HTTP_USER_AGENT“])) {
$browser = „WebTV“;
} elseif(ereg(„Konqueror“, $_SERVER[„HTTP_USER_AGENT“])) {
$browser = „Konqueror“;
} elseif (ereg( ‚Mozilla/([0-9].[0-9]{1,2})‘,$_SERVER[HTTP_USER_AGENT])) {
$browser = „Mozilla“;
} else {
$browser = „Unknown“;
}
// Auslesen der Betriebssysteme
if (strstr($_SERVER[HTTP_USER_AGENT], „Windows 95“)) {
$os = „Windows 95“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „Windows 98“)) {
$os = „Windows 98“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „NT 4.0“)) {
$os = „Windows NT“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „NT 5.0“)) {
$os = „Windows 2000“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „NT 5.1“)) {
$os = „Windows XP“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „Win“)) {
$os = „Windows“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „Mac“)) {
$os = „MacOS“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „Linux“)) {
$os = „Linux“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „FreeBSD“)) {
$os = „FreeBSD“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „SunOS“)) {
$os = „SunOS“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „IRIX“)) {
$os = „IRIX“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „BeOS“)) {
$os = „BeOS“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „OS/2“)) {
$os = „OS/2“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „AIX“)) {
$os = „AIX“;
} elseif (strstr($_SERVER[HTTP_USER_AGENT], „Unix“)) {
$os = „Unix“;
} else {
$os = „Unbekanntes System“;
}
// IP bestimmen und Host auslesen
$ip = getenv(„REMOTE_ADDR“);
$host = gethostbyaddr($ip);
imagettftext($img, 12, 0, 15, 45, $white, „http://files21.bplaced.net/files/octin_vintage_free.ttf“, "Dein OS ist: ");
imagettftext($img, 12, 0, 200, 45, $white, „http://files21.bplaced.net/files/octin_vintage_free.ttf“, „“. $os);

imagettftext($img, 12, 0, 15, 60, $white, „http://files21.bplaced.net/files/octin_vintage_free.ttf“, "Dein Browser ist: ");
imagettftext($img, 12, 0, 200, 60, $white, „http://files21.bplaced.net/files/octin_vintage_free.ttf“, „“. $browser);

imagettftext($img, 12, 0, 15, 75, $white, „http://files21.bplaced.net/files/octin_vintage_free.ttf“, "Deine IP-Adresse: ");
imagettftext($img, 12, 0, 200, 75, $white, „http://files21.bplaced.net/files/octin_vintage_free.ttf“, „“. $ip);

imagettftext($img, 12, 0, 15, 90, $white, „http://files21.bplaced.net/files/octin_vintage_free.ttf“, "Dein Host ist: ");
imagettftext($img, 12, 0, 200, 105, $white, „http://files21.bplaced.net/files/octin_vintage_free.ttf“, „“. $host);

imagepng($img);
[/quote]

Was habe ich falsch gemacht??

Du musst Zeile 3 als letzte Zeile nehmen :wink:

mit dem Internetexplorer hättest du gesehen, dass es den großteil des Quelltextes ausgibt.

Meinst du mit ‚Zeile 3‘ das ( was ich eher net glaube ) :

?
Weil das ist Zeile 3. XD.

Genau das meine ich, denn du beendest damit php, und das solltest du am Ende tun. Schon mal was von probiern geht über studiern gehört :wink3:

mfg

es hat alles gleich nach dem ersten mal durchlesen super geklappt. GROßes Lob
aber nun möchte ich gerne wissen wie ich das mache mit dem guten abend guten morgen und so habe alle 12 seiten durchgelesen aber nichts gefunden

zur online anzeige ist es möglich das man mit der php datei kontrolliert ob bei dem benutzer profil die online grafik () vorhanden ist und somit den status zu erkennen ?? :sunglasses:

schade war ja nur eine frage
kannst du mir bei dem mit gute nacht guten morgen usw. weiterhelfen

$jetzt = time();

$datum = date(“d.m.Y”,$jetzt);
$uhrzeit = date(“H:i”,$jetzt);
$stunde = date(“H”,$jetzt);

damit hast datum und uhrzeit
und dann halt nur noch ne if schleife für den text

if ($stunde >= “6” )
{$text = “Guten Morgen”; }
elseif ($stunde >= “12” )
{$text = “mittach”;}

usw

if ($stunde >= “20” )
{$text = “!!Dankeschön!!”; }

werd es gleich probieren

da passt etwas nicht er schreibt mir nämlich guten morgen
muss man die zeit nicht begrenzen größer als 6 Uhr kleiner als 12 Uhr

ja glaub schon

weiß aber nicht ob das mit “6” <= $stunde <= “12” geht glaub nicht

kann auch auf meine sig mit begrüßungstext nicht zugreifen weil FTP grad tot ist :frowning:

vllt so

($stunde > “6” && $stunde < “12”)