[PHP] Emailadresse auf korrektheit prüfen / validieren

Hallo zusammen,

fast auf jeder Webseite gibt es ein Feld wo der Besucher seine Emailadresse eingeben soll. Ob in einem Kontaktformular, für die Anmeldung bei einem Newsletter oder für die Anmeldung zu einem Mitgliederbereich. Es gibt Anwendungen wo dies nötig ist.

Wir müssen in jedem Fall die Emailadresse prüfen. Ob Sie vom Aufbau her korrekt ist (nicht das der User ausversehen die Felder verwechselt hat und hier eine Internetadresse eingegeben hat) und wie können prüfen ob es die dazugehörige Domain überhaupt gibt. Schreibfehler in der Emailadresse können wir jedoch leider nicht prüfen… bzw. dies nur mit einem Aufwand der sich nicht mehr rentiert.

Hier eine einfache Funktion zum prüfen der Emailadresse:

function mailCheck($email) { 
	return preg_match("/^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-.]+.([a-zA-Z]{2,4})$/", $email); 
}

Bei dieser Funktion wird lediglich geprüft ob der Syntax der Emailadresse korrekt ist. Das heißt ob das “@”-Zeichen an der richtigen Stelle ist, ob eine TLD vorhanden ist. Ob die Domain vorhanden ist wird hier noch nicht geprüft.

Hier nun eine erweiterte Funktion:

function mailcheckDNS($mail) { 
	$email = htmlspecialchars($mail); 
	$r = false; 
	if(preg_match('/(.*?)@(.*?).(w){2,6}/i', $email)) { 
		$split = explode('@', $email); 
		$split2 = explode('.', $split[1]); 
		if(preg_match('/([a-z]){3,64}/i', $split2[0])) { 
			if(preg_match('/([a-z0-9!"$&/()?~#+.:_-]+){1,64}[^@]/i', $split[0])) { 
				$MXCheck = getmxrr($split[1], $mxhosts); 
				if(!empty($MXCheck)) { 
					$r = true; 
				} 
			} 
		} 
	} 
	return $r; 
}

Diese überprüft nun zusätzlich ob die Domain überhaupt existiert indem sie versucht diese zu erreichen. Ist dies möglich dann fällt die Überprüfung positiv aus, wenn nicht dann negativ.

Es gibt keinen 100%igen Emailcheck, aber was man prüfen kann das sollte man auch. Rechtschreibfehler kann man einfach nicht prüfen. Dafür könnten man z.B. den User die Emailadresse 2 mal eingeben lassen, zur Sicherheit.

Gruß
Gordon


Hinweis: Die Verwendung meiner Codeschnipsel erfolgt auf eigene Gefahr! Ich übernehme auch keine Garantie auf Funktionstüchtigkeit (jeder Server ist anders konfiguriert. Bei Problemen können Sie hier aber gern einen Kommentar schreiben und wir suchen eine Lösung. ;)

Küssen nicht vor anderen Leuten…

Grüß Gott,

heute bin ich mal wieder um eine Erfahrung reicher geworden. Naja, eigentlich wusste ich es ja schon aus meinen Streifzügen durch diverse Webseiten…

In der Philippinischen Kultur wird es nicht gern gesehen (bzw. nicht gemacht) vor anderen Leuten Zärtlichkeiten auszutauschen. Besonders Küssen. Händchenhalten ist aber drin. :) Aber Küssen geht gar nicht. Das gilt als Respektlos. :o

Das ist dann doch schon etwas anders wie in Deutschland und wenn man gerade so ein bisl frisch Verliebt ist auch ein wenig… schlecht. :) Da würde man ja am liebsten immer und überall die Lippen aufeinander pressen *lach* Aber es gibt ja Mittel und Wege… unser Weg führte uns dann in einen kleinen Park auf eine Parkbank in einer dunklen Ecke… :D

Ist auch mal was neues… fast ein kleines Abenteuer… sich zum Küssen in eine einsame Ecke verziehen zu müssen. In Deutschland tut man das vielleicht wenn man noch ganz andere Sachen im Kopf hat. Hier schon allein um sich zu Küssen und sich vielleicht ein bisschen mehr zu Streicheln als nur mal eben über den Arm streifen… rein zufällig natürlich.

Wobei ich auch sagen muss das ich gerade gelesen habe das in den Philippinen zum Valentinstag dazu aufgerufen wurde sich nicht in der Öffentlichkeit zu Küssen. Also müssen es wohl doch einige tun… oder ein paar mehr. Keine Ahnung, ich kann euch nur meine persönlichen Erfahrungen weitergeben. Vielleicht ist aus auch nur innerhalb des Freundes und Bekanntenkreises “nicht erlaubt”… ich werde es vielleicht rausfinden :)

Sobald ich was neues haben werde ich es euch wissen lassen… wird sicher nicht lange dauern :)

Sonnige Grüße
Gordon

[PHP] IP-Adresse anzeigen / herausfinden

Hallo zusammen,

heute zeige ich euch wie man ganz einfach die IP-Adresse seines Besuchers rausfindet. Wozu soll das gut sein? Zum Beispiel wenn man dem Besucher diese anzeigen möchte. Aber viel mehr um sie zu speichern. Denn bei Missbrauch kann man damit den Besucher identifizieren… meistens jedenfalls. Gut, eigentlich tut dies schon der Webserver in seinen Logfiles… aber manchmal ist doppelt besser.

Also wie geht das nun… ganz einfach. Sie steht nämlich in einer Server-Variable:

<?php echo “Ihre aktuelle IP-Adresse ist: <b>”.$_SERVER[“REMOTE_ADDR”].”</b>”; ?>

Was heißt das jetzt? “echo” gibt etwas aus… nämlich “Ihre aktuelle IP-Adresse ist:” und “$_SERVER[“REMOTE_ADDR”]” ist die Variable in der die IP des Besuchers gespeichert ist. Diese ist nicht 100% zuverlässig, also verlassen Sie sich bitte nicht darauf. Kommt ein Besucher über einen Proxy so wird hier die IP des Proxy-Servers gespeichert. Aber in der mehrheit ist es wirklich die richtige IP des Besuchers.

Gruß
Gordon


Hinweis: Die Verwendung meiner Codeschnipsel erfolgt auf eigene Gefahr! Ich übernehme auch keine Garantie auf Funktionstüchtigkeit (jeder Server ist anders konfiguriert. Bei Problemen können Sie hier aber gern einen Kommentar schreiben und wir suchen eine Lösung. ;)

Immobilienmakler – www.immobilien-zypern.com

www.immobilien-zypern.com ist die neue Homepage von Kaimar Consultants Ltd (Immobilienmakler) aus Limassol / Zypern. Die Webseite wurde zu dem Zweck erstellt auch deutschen Menschen die Möglichkeit zu geben sich über den Immobilienmarkt auf Zypern (Schwerpunkt Limassol und Umgebung) zu erkundigen… natürlich in der deutschen Sprache.

Dr. Kai Wacker, einer der Gründer von Kaimar, ist selbst ursprünglich aus Deutschland und einer der wenigen Deutschsprechenden Immobilienmakler auf Zypern. Zusammen mit seinem Partner haben Sie eine langjährige Erfahrung auf dem zyprischen Immobilienmarkt. Dies kann Ihnen, wenn sie selbst noch nicht mit dem zypriotischen Land und dessen System vertraut sind, sehr zu Hilfe kommen.

Aus persönlicher Erfahrung, mit den Gründern von Kaimar, kann ich nur positives über die beiden Inhaber berichten. Sie sind sehr zuverlässig, hilfsbereit (auch über das Immobilienthema hinaus) und professionell!

Zur Seite.

Die Seite ist mit Absicht klein und übersichtlich gehalten. Es geht primär natürlich um die Präsentation der aktuellen Immobilienangebote im Bestand von Kaimar und Informationen zur schnellen und direkten Kontaktaufnahme. Der Besucher soll nicht von Millionen Informationen erschlagen werden sondern schnell und zügig an die gewünschten Informationen gelangen.
Einzig darüber hinaus ist ein News-System integriert worden um Besucher über alle wichtigen Informationen zu informieren. Eine kleine Linkliste mit Webseiten auf denen der Besucher und Zypern-Interessent weiterführende Informationen findet und eine kurze Vorstellung der Firma.

Das Immobiliensystem besteht aus 2 Komponenten. Dem Frontend und dem Backend… wie bei jedem CMS zu finden ist. Das Frontend ist für den Besucher / Interessenten und soll Ihm helfen die gewünschten Informationen zu finden und anzuzeigen. Dazu steht ihm eine Suchmaske, zur Eingrenzung der Suchergebnisse zur Verfügung. Weiterhin eine Übersichtsseite in dem alle gefundenen Objekte in einer Übersichtlichen Liste angezeigt werden und die Detailseiten, in denen er alle Informationen zu einem gewünschten Objekt angezeigt bekommt.
Das Backend besteht nur aus den notwendigsten Teilen. Verwaltung des News-Systems, Downloadverwaltung und dem Herzstück des Systems – die Objektverwaltung. Diese ist hier wohl etwas besonders. Da Kaimar mehrere Webseiten betreibt wurde hier ein besonderes System eingebaut. Es handelt sich lediglich um ein Importsystem mit dem alle Objekte über eine einzige Datei gepflegt werden. Damit verringert sich der Wartungsaufwand auf gleich null.

Das Grunddesign stammt von einer Webseite die freie Designs anbietet. Es wurde von mir vom Layout und Grafiken angepasst.

Link zu Webseite: www.immobilien-zypern.com

[PHP] Einbinden von zusätzlichen Dateien in das Script (include)

Hallo,

heute möchte ich euch zeigen wie man externe / zusätzliche Dateien in ein Script einbindet.

Der große Vorteil von PHP (gegenüber z.B. HTML) ist, das man nicht alles in eine Datei quetschen muss. Besonders wenn das Script mal etwas größer und komplizierter wird, ist es von großem Vorteil bestimmte Elemente auszulagern. So behält man die Übersicht und nur so ist es möglich Objektorientiert zu arbeiten. Haben wir zum Bespiel eine Funktion die wir öfter brauchen so können wir diese in eine extra Datei schreiben und aus jedem beliebigen Script aus aufrufen.

Doch wie funktioniert das? Ganz einfach mit dem “include()”-Befehl. Es gibt dabei Grundlegend 2 verschiedene Befehle. “include()” und “include_once()”. Mit dem ersten Befehl kann man eine bestimmte Datei so oft man möchte in einem Script einbinden. Der zweite lässt die Einbindung einer bestimmten Datei in einem Script nur ein einziges mal zu, sollte ein zweites mal versucht werden die Datei zu includen gibt es einen Fehler. Was ist nun wann gut?

Schreiben wir z.B. folgende PHP-Datei:
<?php
session_start();
?>

So darf diese nur ein einziges mal in einem Script eingebunden werden, da es sonst einen Fehler gibt. Um auszuschließen das die Datei ausversehen noch ein weiteres mal aufgerufen wird benutzen wir “include_once()”.

Haben wir aber ein Logo (Bild) in eine externe Datei ausgelagert dann kann es durchaus möglich sein das wir dieses Logo an mehreren Stellen in einem Script einbinden wollen und müssen. Dann kommt “include()” zum einsatz.
Grundsatzlich ist meine Empfehlung immer include_once() zu benutzen, sofern die Datei nicht unbedingt mehrfach eingebunden werden muss. Damit ist man immer auf der sicheren Seite.

Oft sehe ich Scripte die Menüstrukturen mit “include” realisieren und dabei einen entscheidenen Fehler machen. Daher möchte ich hier kurz darauf eingehen.
Menüstrukturen mit include zu realisieren ist im grunde eine super sache, ich selbst arbeite oft damit. Aber wie schon erwähnt, immer auf die Sicherheit achten!
Also wie funktioniert es? Hier erst einmal das Beispiel wie man es NICHT machen sollte:

<?php
include($_GET[“seite”]);
?>

Was passiert hier… die Seite wird z.B. mit http://www.testdomain.de/index.php?seite=start.php aufgerufen. Das Script liest den übergebenen Wert “seite” aus und bindet diese Datei einfach in das Script ein. Das wars. Funktioniert prima werden jetzt einige sagen. Stimmt, tut es… aber was ist wenn ich jetzt folgendes Aufrufe: http://www.testdomain.de/index.php?seite=./.htaccess
Dann bekommt er, unter umständen, Informationen zu gesicht die Ihn nichts angehen. Und das wäre noch der harmloseste Fall. Hacker können damit richtig böse sachen machen!

Also gestallten wir unser Script sicherer:

<?php
if ($_GET[“seite”] == “start”) {
include_once(“start.php”);
} else {
include_once(“errorseite.php”);
}
?>

Was ist jetzt? Wir überprüfen erst einmal was in der übergebenen Variable “start” steht. Steht dort “start” drin, dann includen wir die Seite “start.php”… diese könnte aber auch “muster.html” heißen… der Besucher unserer Seite hat darin keinen Einblick mehr und wir könnten sogar ein bisschen tricksen um unsere Dateien zu verschleiern… und ein bisschen rate ich sogar dazu. ;)
Ist der Übergebene wert aber nicht “start” (also nicht von uns deklariert) dann geben wir einfach eine vordefinierte “errorseite.php” aus. Es interessiert uns nicht mehr ob da nun Müll in der Variable steht. Und sollte jetzt noch mal einer http://www.testdomain.de/index.php?seite=http://www.google.de aufrufen, dann landet er auf unserer Errorseite und fertig.

Also bitte, zu Ihrer eigenen Sicherheit, niemals die erste Version verwenden. Sicher, sie ist einfacher zu Handhaben… aber nicht nur für Sie ;)

Das Thema “include()” ist noch ein wenig umfangreicher. Aber das würde jetzt den Rahmen hier sprengen. Ich denke die Grundzüge sollten hier erklärt sein und vielleicht greife ich das Thema noch mal auf. Später.

Gruß
Gordon


Hinweis: Die Verwendung meiner Codeschnipsel erfolgt auf eigene Gefahr! Ich übernehme auch keine Garantie auf Funktionstüchtigkeit (jeder Server ist anders konfiguriert. Bei Problemen können Sie hier aber gern einen Kommentar schreiben und wir suchen eine Lösung. ;)

[PHP] Einfacher Datei-Counter

Hallo zusammen,

heute bauen wir uns einen einfachen Counter der seine Daten in einer Datei speichert. Das Prinzip ist einfach. Das Script wird beim Aufruf der Seite gestartet, öffnet eine Datei und holt den aktuellen Zählerstand, erhöht ihn um 1, gibt diesen aus und speichert den neuen (alten Stand + 1) wieder zurück in die Datei.

Und so wird es gemacht.

Als erstes der PHP-Tag, ohne den Bekanntlich nichts geht.
<?php
Dann wird der Dateiname an eine Variable übergeben (man könnte es auch direkt an den Befehl übergeben, aber so finde ich es dynamischer).
$dateiname = “counter.txt”;
Dann wird mit dem “fopen”-Befehl die Datei geöffnet. Der Parameter “r+” bedeutet hierbei das die Datei zum Lesen (read) geöffnet werden soll… das “+” heißt, wenn die Datei nicht vorhanden ist soll versucht werden sie anzulegen (Schreibrechte vorausgesetzt). Das Handle wird der Variable “$datei” übergeben.
$datei = fopen($dateiname,”r+”);
Der Dateiinhalt wird ausgelesen und an die Variable “$zaehler” übergeben, beschränkt auf 10 Zeichen. Das sollte für einen Zähler wohl reichen, wenn nicht einfach erhöhen.
$zaehler = fgets($datei, 10);
Nun wird geprüft ob überhaupt schon etwas in der Datei steht oder ob sie evtl. neu angelegt wurde. Wenn der String leer ist, dann muss er mit “0” gefüllt werden da andernfalls der nachfolgende Befehl fehlschlägt und einen Fehler verursacht.
if($zaehler == “”) {
$zaehler = 0;
}

Nun müssen wir den Counter um 1 erhöhen… sonst wäre es ja kein Counter. :) PHP macht und das zählen einfach… einfach “++” an eine Variable (mit Zahl im Inhalt) anhängen und schon wird die Zahl in der Variable um 1 erhöht. Funktioniert auch andersrum mit “–” = Zahl minus 1.
$zaehler++;
Der beste Counter nützt nix wenn er nicht auch ausgegeben wird ;) Daher hier eine die Ausgabe, kurz und schmerzlos:

echo “Du bist der “.$zaehler.” Besucher.”;
Nun müssen wir den neuen Wert natürlich auch wieder in die Datei schreiben. Vorher müssen wir den alten Wert aber löschen und den Dateizeiger auf den Anfang der Datei setzen. Das geschieht mit “rewind”:
rewind($datei);
Dann den neuen Wert mit “fwrite” in die Datei schreiben:
fwrite($datei, $zaehler);
Und natürlich Datei schließen nicht vergessen.

fclose($datei);
Zum Abschluss unseres kleinen Scriptes den PHP-Tag wieder schließen…
?>
… und fertig sind wir schon. Einfach und wirkungsvoll. Für größere Projekte zwar nicht sinnvoll… aber für den Privatgebrauch sicher zumindest ein Anfang

Gruß
Gordon


Hinweis: Die Verwendung meiner Codeschnipsel erfolgt auf eigene Gefahr! Ich übernehme auch keine Garantie auf Funktionstüchtigkeit (jeder Server ist anders konfiguriert. Bei Problemen können Sie hier aber gern einen Kommentar schreiben und wir suchen eine Lösung. ;)

[PHP] Eine einfache Datenbankverbindung und -abfrage

Hallo zusammen,

heute zeige ich euch wie man eine einfache Verbindung zu einer MySQL-Datenbank herstellt und eine Abfrage macht.

Erstellt eine leere Datei und speichert sie (z.B.) als “db.php”. Nun fügt folgende Zeilen in die Datei ein:

Erst einmal den PHP-Tag… sonst werden die PHP-Befehle nicht für voll genommen:
<?PHP
Dann werden die folgenden Variablen definiert, damit PHP weiß wo die Datenbank ist und mit welchen Daten er eine Verbindung dazu aufbauen soll.
Wo ist die Datenbank? Hostname oder IP
$db_server = ‘localhost’;
Der Datenbankname (ein Server kann ja mehrere Datenbanken verwalten.)
$db_name = ‘datenbankname’;
Der Benutzername der zugriff auf diese Datenbank hat:
$db_user = ‘benutzer’;
Und das zugehörige Passwort des Benutzers:
$db_passwort = ‘passwort’;

Nun stellen wir, über den “mysql_connect”-Befehl eine Verbindung zur Datenbank her.
$db = @ mysql_connect ( $db_server, $db_user, $db_passwort );
Wurden alle Daten richtig eingegeben dann sollte jetzt die Verbindung stehen. Sie ist dauerhaft bis sie durch “mysql_close()” wieder geschlossen wird. So muss nicht bei jeder Abfrage eine neue Verbindung aufgebaut werden.

Da wir nun die Verbindung haben können wir jetzt unsere Abfrage starten. Dazu müssen wir der Datenbank sagen was wir machen wollen. Natürlich geschieht dies in der Sprache die unsere MySQL-Datenbank auch versteht. Wir möchten jetzt einfach mal alle Datensätze aus der Tabelle “user” ausgegeben haben. Die Abfrage dazu sieht wie folgt aus:
$sql = ‘SELECT * FROM `user`’;
Und diese Abfrage übergeben wir jetzt an MySQL, mit dem Befehl “mysql_db_query”:
$result = mysql_db_query ( $db_name, $sql );

Nun sind die Ergebnisse in der Variable “$result” gespeichert, in einem Array. Damit wir diese nun auch “sehen” können geben wir sie einfach unformatiert aus:
while ( $row = mysql_fetch_row ( $result ) )
{
echo $row[0] . ‘<br>’;
echo $row[1] . ‘<br>’;
….
}

“mysql_fetch_row” übergibt ein Array (bestehend aus einem Datensatz) aus einer Abfrage in die Variable “$row”. So können wir es sichtbar machen.
Zu guter letzt schließen wir jetzt die Datenbankverbindung wieder:
mysql_close();

Und natürlich auch den PHP-Tag.
?>

Und das wars auch schon. Mehr ist nicht nötig. Naütlich war das jetzt ein simples Beispiel… aber eine erste Datenbankabfrage ;)

Gruß
Gordon


Hinweis: Die Verwendung meiner Codeschnipsel erfolgt auf eigene Gefahr! Ich übernehme auch keine Garantie auf Funktionstüchtigkeit (jeder Server ist anders konfiguriert. Bei Problemen können Sie hier aber gern einen Kommentar schreiben und wir suchen eine Lösung. ;)

Zypriotische Taufe und sonstige aktivitäten am Wochenende

Hallo zusammen,

da bin ich mal wieder :) Und endlich auch mal wieder mit ein paar Neuigkeiten. Naja, nicht soo viel… aber ein bisl :)

So langsam habe ich mich hier so ein bisschen eingelebt. Ok, das schon eine weile… aber so langsam kommt hier ein gewisser Rhytmus rein. :) In der woche ist ja eh arbeiten angesagt, samstag dann einkaufen und Wohnungsputz, abends Cindy abholen und bis Sonntag abend überwiegend im Bett verbringen *lach* Sonntag abend dann Telefonmeetings mit meinen Lieben daheim.

Ach von Cindy habe ich euch noch gar nichts erzählt. Dann wird das wohl ein längerer Artikel :)
Cindy ist eine junge Dame die ich hier “zufällig” kennengelernt habe… :D Nein, ganz so zufällig nicht. Sie arbeitet bei unserer Buchhalterin als “Mädchen für alles” und kommt hier ab und zu vorbei und Bügelt die wäsche von unseren Mädels. Dadurch habe ich Sie kennengelernt. Sie ist Philippinerin und sehr süß. :)
Wir haben uns ein paar mal in der Stadt getroffen und ein bisschen erzählt. Naja, wie das halt so ist bei den ersten Treffen. :) Gut, die kommunikation fällt noch ein bisschen karg aus… angesichts meiner Englischkentnisse… aber es hilft mir sehr mit ihr zu reden… dann ist nur Englisch möglich und nix mit ausweichen auf Deutsch :D
Leider hat sie durch ihre Arbeit hier nur wenig zeit. Wir können uns nur Sonntag treffen bzw. seitdem sie auch hier Schläft hole ich Sie Samstag abend ab und bringe Sie Sonntag abend wieder nach Hause. Trotzdem finde ich es ganz schön wenig zeit… bin halt nen verwöhnter Eurpäer *lach* Aber ist echt so… die Unterschiede zwischen den Kulturen sind schon ganz gut spürbar.

Durch diese neue… “Bekanntschaft” habe ich mich etwas mit der Philippinischen Kultur, dem Land und den Sitten und Gebräuchen beschäftigt und ein wenig im Netz gestöbert. Natürlich findet man erst einmal Millionen von Webseiten die davor warnen wie Schlimm es dort doch ist, Terror und Bombenanschläge, Krankheiten, wie die Mädchen sich an Touristen ranschmeißen – klar gibts das und nicht umsonst gibts diese Bumsbomber nach Asien – und so weiter. Aber bevor ich das erste mal auf Zypern war kannte ich es auch nur von irgendwelchen Schauergeschichten… die sicherlich auch Wahr sind, das will ich gar nicht bestreiten… dennoch gibts auch andere Seiten. Über die findet man leider weniger etwas.
Dann habe ich eine Seite von einem Pärchen aus Deutschland gefunden – Sie Philippinerin und Er Deutscher – und habe dort die Seiten von oben bis unten gelesen. (http://www.philippinen-info.net) Auch ein wenig Emailkontakt haben wir aufgenommen… vielleicht finden wir Zeit uns mal mehr Auszutauschen.
Jedenfalls ist es schon ein großer Unterschied zwischen den Kulturen. Wenn ich z.B. jemanden Treffe dann gebe ich ihm zur Begrüßung die Hand. Ist für mich ganz normal. In den Philippinen tut man das eher nicht (wusste ich leider nicht bei unserem ersten Treffen – Pfettnapf :) ). Dort begrüßt man sich einfach mit einem Lächeln oder mit den Augen (z.B. Zwinkern). Es gibt auch nicht wirklich ein “Nein” auf den Philippinen – soweit ich das Verstanden habe. Man ist immer auf das wohl des anderen bedacht. … Das ist natürlich nur das was ich gelesen habe. Aber auch mit Cindy ist es irgendwie, bisher, ein wenig anderer Umgang als mit Europäischen Menschen. Ich spreche das jetzt in der allgemeinheit. Sicher ist jeder Mensch individuell und man kann es nicht Verallgemeinern… noch dazu das ich zu wenig Vergleichsmöglichkeiten habe. Definitv kann ich aber sagen das es überaus interessant ist andere Kulturen zu erleben. :)

Aber zurück nach Zypern. :)
Wie schon gesagt, wir verstehen uns super und ich denke Sie ist genauso Neugierig wie ich. *lach* Ist für uns beide halt das erste mal mit einem Menschen vom anderen Ende der Erde.
Besonders süß fand ich Sonntag meinen Paps. Als ich ihm sagte das ich nun vielleicht – noch sind wir ja mehr oder weniger beim kennenlernen – mit einer Philippinerin zusammen bin meinte er – nach kurzem nachdenken – “Das ist super! Aber ich kann mich ja gar nicht mit Ihr unterhalten!?!” :D Sweet, or? Na mal schauen. Wer weiß wann wir mal zusammen nach Deutschland kommen. Vielleicht kann Sie bis dahin ein bisl Deutsch oder zumindest ich besser Englisch zum übersetzen. *lach* Irgendwie ist im moment alles recht interessant und ich kann gar nicht so Neugierig sein wie ich neue Dinge vermittelt kriege :)

So kam es dann auch das wir Sonntag, beide, bei ihrer Nachbarin zur Taufe (Baptism) des Kindes eingeladen waren. Extra um 7 aufgestanden – an nem Sonntag wohlgemerkt :) – um noch in aller Gemütlichkeit nen Kaffee zu trinken und uns nacheinander im Bad zurecht zu machen… ich hatte gehofft das sie länger braucht als ich … leider war ich wieder langsamer. Also das ist nicht negativ gemeint… aber ich brauche meist länger im Bad als die Frauen *lach*
Irgendwann gegen halb 10 waren wir dann beide Ausgehfein und haben uns aufgemacht zum Hause der Familie. Den Weg kannte ich ja mittlerweile :) Dort Angekommen war noch nicht viel los. Die beiden Kids waren da, der Bruder von Nora und 2 Freundinnen. Alle waren gleich total nett und haben mich freundlich begrüßt. Mit Händeschütteln und ohne :D Und natürlich wurde erstmal gefeixed zwischen den Damen – sie haben mich ja das erste mal gesehen und, wie ich später erfahren habe, wusste ihre Freundin nichtmal was von mir. Sie wunderte sich wohl nur immer warum Cindy Sonntags nie Zeit hatte in den letzten Wochen. :)
Nach und nach trudelten dann immer mehr Leute ein. Bekannte und Verwandte… Dazu muss ich noch sagen das Nora Philippinerin ist und ihr Mann ist Zypriot. Aber es gab noch mehr Nationen. Ein Freund ist Inder, ein Irkaer kam nachher noch mit seiner, natürlich Philippinischen, Freundin :) (Bei der Feier waren dann ca. 10 Nationen anwesend, wir haben gezählt :D )
Als dann alle Anwesend waren sind wir los. Ca. halb 11. – By the way, in den Philippinen ist es geradezu unhöflich Pünktlich zu einem Termin zu kommen. Ne Stunde später ist wohl angebracht. :D Nur zu geschäftlichen Treffen ist Pünktlichkeit angesagt! Privat nicht. – So sind wir dann in Kollone zu einer kleinen Kirche in einem Nachbarort gefahren. Das erste mal das ich aus Limassol rausgefahren bin (also als Fahrer). Und die haben gut gas gegeben :)
Die Kirche war echt niedlich. Ich gucke mal das ich die Fotos noch kriege, dann stelle ich sie hier ein. Bei der Kirche hat es dann noch mal ca. ne halbe Stunde gedauert bis es losging. Zwischenzeitlich sind noch mehr Leute eingetroffen und so waren wir dann ca. 30 Leute. Einige Zyprioten, einige Philippiner, ein Iraker, ein Inder und ein Deutscher *grins*
Dann ging es los. Mein erstes mal in einer Kirche – also so richtig wo auch was gemacht wird und nicht nur zum gucken – und das bei einer zypriotischen Taufe. Der Priester hat aus seinem Büchlein vogelesen, natürlich auf Griechisch… und ich konnte es am gerede hören das ich nicht der einzige war der nix Verstand :D Dann wurde das Kind ausgezogen und in einen großen “Kelch” gesteckt/gesetzt… whatever… ich konnte es leider nicht so genau sehen. Und noch ein bisschen Wasser hier und da. Eigentlich nicht sehr specktakulär… ich meine die Zeremonie dauerte eine Stunde, aber viel mehr gibts da nicht drüber zu erzählen. Meist hat irgendwer etwas Vorgelesen, oder gesungen oder beides und nach einer halben Stunde hatte der kurze dann auch keine Lust mehr und Brüllte unaufhörlich. :) Naja, für das Kind war es sicher nicht angenehm… wer weiß wie kalt das Wasser war.
Ich fand es alles in allem sehr interessant.

Nach der Taufe machte sich die Autokollone auf in Richtung Strand, wo das Restaurant war. Aus 3 Autos waren nun schon um die 10 geworden. Am Strand angekommen war es ein bisschen überwältigend. Ich kannte den Strand schon aus dem letzten Jahr. Aber heute war richtig heftiger Wellengang und die Sonne scheinte. Es war wunderschön. Das Restaurant ist direkt am Strand und mit viel Glas so das man rausschauen kann.

Wir waren mit die ersten dort. Es standen 2 große Tischreihen im Restaurant und gob geschätzt würde ich sagen das dort locker 200 Leute an die Tische gepasst haben/hätten. Sie waren zum Schluss nicht alle Belegt… sind wohl nicht alle Gäste erschienen.
Wie schon erwähnt, wir waren ca. 10 Nationen dort. Philippiner, Zyprioten, Inder, Iraker, Deutsche, Engländer, Ägypter und bei 2-3 Leuten waren wir uns nicht ganz sicher. Die eine Frau sah sehr Mexikanisch aus und eine Chinesisch. Es war echt toll.
Ach ja, ich hatte vorher mal geschaut was man so holen könnte. Ich meine wenn ich schon unbekannter weise eingeladen bin dann möchte ich wenigstens was kleines Schenken zum dank. Also Samstag rein ins Kaufhaus und ab in die Spielzeugabteilung… da gabs ne Menge aber ich hatte keinen Plan was davon zu nem 1 1/2 Jährigen Jungen passt. Dafür habe ich in der Klamottenabteilung was total süßes gesehen. Einen Pullover mit Hose. Auf dem Pullover stand “Don’t touch me, i’m sleeping”. Das fand ich klasse und ich hoffe es passt *lach*. … Und hier – bzw. in den Philippinen – ist es wohl so das man nicht einfach auf der Party ankommt und das Geschenk überreicht. Man behält es bei sich und irgendwann heißt es dann “jetzt” und alle gehen zum Paar (dessen Kind getauft wurde) und … naja, hier war es so, man musste erst beim Taufpaten vorbei… dort gabs einen Handshake und er hat dir seinerseits ein kleines Geschenk überreicht (ich hab noch nicht mal reingeschaut, ich glaub eine Süßigkeit) und die Damen haben zusätzlich einen kleinen Bilderrahmen bekommen, dann standen Vater und Taufkind (auf Vaters arm) und hier auch einen Handshake und kurz Kind knuddeln :) und dann Stand die Mutter da… ihr hat mein seinerseits sein Präsent/Geschenk übergeben und es gab ein Küsschen auf die Wange (bei Cindy und mir sogar noch nen Foto :D ).
Eigentlich, soweit ich es gelesen habe, ist es in den Philippinen üblich, wenn man etwas Geschenkt bekommt (z.B. zum Geburtstag oder anderen anlässen), das Geschenk nicht gleicha auszupacken und damit zu warten bis man wieder allein ist. Und beim nächsten Treffen bedankt man sich dann nochmal für das Geschenk. Damit kann keiner sehen was der andere Geschenkt hat und nicht sagen “ohh guck mal der ist aber knauserig” bzw. “der muss ja geld haben”… es soll nicht um das materielle gehen sondern um… das geschenk an sich halt. Find ich klasse.
Dann ging die Party weiter. Alle um mich herrum waren am quaseln und ich hab kein Wort verstanden. Außer jemand kam mal auf die Idee enlisch zu reden… dann habe ich zumindest teilweise was verstanden. Aber Tagalog (die Philippinische Sprache) ist süß, aber für mich wie Chinesisch. :)

Naja, und irgendwann gegen halb4 / 4 haben wir uns dann verabschiedet. Wir waren mit die ersten, ich weiß gar nicht wieso. Ich wäre gern noch geblieben. :D

So, leider ists nun schon spät. Die Tage mal mehr. :)

Liebe Grüße
Gordon

Problem mit dem Email-Versand bei WordPress

Hallo zusammen,

ich habe das Problem schon seid Tagen im Auge… aber irgendwie nie die Zeit gefunden. Heut hat es mich dann aber genervt. Der ein oder andere kennt das Problem vielleicht… Es wird ein Kommentar zu einem Artikel abgegeben und kurze Zeit später bekommt man eine Email vom MAILER DAEMON mit dem Betreff “failure notice”.

Nein, das ist weder Spam noch wird ihr Server als Spamschleuder missbraucht. Das ganze hat einen simplen Hintergrund. Sobal ein nicht Registrierter User einen Kommentar schreibt (oder auch bei div. anderen Aktionen) schickt WordPress automatisch eine Email an den Administrator (Seitenbetreiber). Das dumme dabei ist nur das diese Emailadresse anscheinend nicht vorgegeben werden kann und sie sich somit wir folgt zusammensetzt: “[email protected]” + Domainname. Zum Beispiel “[email protected]”.
Existiert diese Emailadresse nun real gar nicht dann gibt es, unter umständen, eben den obigen Fehler da der Empfänger prüft ob die Absenderadresse wirklich existiert… tut Sie das nicht dann verweigert er schlichtweg die Annahme. Das registriert der Absenderserver und schickt ihnen obige Email die Sie einfach darüber informiert das die Email nicht zugestellt werden konnte. :( Blöd. Noch blöder ist das diese “[email protected]…” Emailadresse im Script verankert ist und nicht so einfach geändert werden kann. Warum auch immer. Besonders da man im Adminbereich eine Admin-Emailadresse angegeben hat bzw. angeben kann.

Das nächste Problem was ich hatte ist das WordPress emails nur per mail() verschickt. Normalerweise sollte das kein Problem darstellen, bei mir schon.

Ich habe gerade, mal wieder, 2 Stunden in den Eingeweiden von Worpress rumgefummelt bis alles funktioniert hat. Dabei habe ich mir nicht jeden Schritt gemerkt und kann daher hier leider auch keine Detailierte Anleitung geben wie Sie das abstellen können.

Wenn es nur um Problem mit der “[email protected]…” Adresse geht dann können Sie folgendes Probieren:

Schritt 1)

Öffnen Sie die “./wp-config.php” mit einem Editor und fügen Sie nach allen anderen Werten die folgenden Zeilen hinzu:
//email
define (‘STD_MAIL’, ‘***‘);

Ersetzen Sie die 3 Sternchen mit ihrer Emailadresse. Diese Variable setzen wir in der wp-config.php damit wir diese Emailadresse später schnell ändern können und nicht wieder in den Code müssen.

Schritt 2)

Öffnen Sie die Datei “./wp-admin/includes/upgrade.php” mit einem Editor und suchen Sie nach der Zeichenkette “[email protected]” (ca. Zeile 118). Die Zeile sollte wie folgt aussehen…
$message_headers = ‘From: “‘ . $blog_title . ‘” <[email protected]’ . $_SERVER…
… ändern Sie diese nun wie folgt ab…
$message_headers = ‘From: “‘ . $blog_title . ‘” <‘ . STD_MAIL . ‘>’;

Schritt 3)

Öffnen Sie die Datei “./wp-includes/pluggable.php” mit einem Editor und suchen Sie nach der Zeichenkette “[email protected]”… Treffer 1 ca. bei Zeile 350 und ändern Sie diese wie folgt (die originalzeilen habe ich leider nicht mehr):
$from_email = STD_MAIL;
und Treffer 2 ca. bei Zeile 896:
$wp_email = STD_MAIL;

Das sollte es gewesen sein. Einfach mal ausprobieren. Falls ich etwas vergessen habe, schreibt bitte einen Kommentar hier im Artikel.

Zum Umstellen von Mail() auf SMTP kann ich leider noch weniger sagen. Nur das es einem nicht einfach gemacht wird. Auch hier könnte man im Adminbereich eine weiche einbauen… hat man aber leider nicht. Warum auch immer. Also wieder ab in den Code.

In der Datei “./wp-includes/pluggable.php” nach der Zeile “$phpmailer->IsMail();” suchen (ca. Zeile 377). Das ändern in $phpmailer->IsSMTP();. Dann gehts in die “./wp-includes/class-phpmailer.php”. Hier sind in der Datei weit oben die Variablen. Einige sind belegt und andere leer. Hier müssen Sie die SMTP VARIABLES mit ihren Werten ausfüllen. Dabei am besten gleich noch mal die $Mailer auf “smtp” setzen.
Weiter unten im Script die Funktion “CreateHeader” suchen und die folgende Zeile ändern:
if($this->Mailer != “mail”)
in
//if($this->Mailer != “mail”)
Also einfach auskommentieren. Sonst hat die Email keinen Betreff. Warum das da überhaupt drin ist frage ich mich… aber ok. Man muss nicht alles wissen, hauptsache es funktioniert.

Damit sollte auch der SMTP-Versand funktionieren.

Gruß
Gordon


Hinweis: Die verwendung meiner Codeschnipsel erfolgt auf eigene Gefahr! Ich übernehme auch keine Garantie auf Funktionstüchtigkeit (jeder Server ist anders konfiguriert. Bei Problemen können Sie hier aber gern einen Kommentar schreiben und wir suchen eine Lösung. ;)

[PHP] Bilddaten auslesen wie Breite, Höhe und Typ

Hallo,

PHP stellt, wie so oft, eine kleine Funktion bereit um einfach an diese Daten zu gelangen. Aber wozu braucht man das Ueberhaupt? Ganz einfach. Z.B. kann man damit die Bilddimensionen des IMG-Tags fuellen. Oder man kann damit die Dimensionen eines Image-Popups an Javascript uebergeben. Oder den MIME vorgeben. Es gibt sehr viele Anwendunsmoeglichkeiten fuer diese Funktion.

Hier ist sie:

<span class="methodname"><strong><strong>getimagesize</strong></strong></span> ( <span class="methodparam"><span class="type">string</span> <tt class="parameter">$filename</tt></span> [, <span class="methodparam"><span class="type">array</span> <tt class="parameter reference">&$imageinfo</tt></span> ] )

Und hier ein kurzes Beispiel.

<?php $img = "picture.jpg"; $iA = getimagesize($img); echo "Bildbreite: ".$iA[0]."<br>"; echo "Bildhöhe: ".$iA[1]."<br>"; echo "Imagetype: ".$iA[2]."<br>"; //JPG, GIF, etc. echo "IMG-Tag String: ".$iA[3]; //zur verwendung von IMG-Tags ?>

Gruß
Gordon


Hinweis: Die Verwendung meiner Codeschnipsel erfolgt auf eigene Gefahr! Ich übernehme auch keine Garantie auf Funktionstüchtigkeit (jeder Server ist anders konfiguriert. Bei Problemen können Sie hier aber gern einen Kommentar schreiben und wir suchen eine Lösung. ;)