Mitgliederverwaltung im Verein

Wer einen Verein gründen möchte bzw. in einem Verein ist und dort die Mitglieder verwalten muss sollte sich einmal die Software Admidio anschauen. Dabei handelt es sich um eine webbasierte (geschrieben in PHP) Anwendung zur Mitgliederverwaltung. Dabei kann diese Software durch zusätzliche Module flexibel erweitert werden. Herunterladen kann man die Software unter http://www.admidio.org/.

Eigenen Planet betreiben

Ein Planet (wie z.B. unter planet.ubuntuusers.de) ist eine Seite welche verschiedene Blogs zu einem bestimmten Thema anzeigt. Möchte man so einen Planet selber betreiben so benötigt man dazu eine Software. Nachdem ich einige Sachen ausprobiert hatte, wie z.B. Planet PHP, Venus und Gregarius fiel meine Wahl dann doch auf WordPress. In Verbindung mit dem Plugin FeedWordPress eignet sich WordPress vorzüglich als Software für einen Planet. Wer sehen möchte wie das aussieht kann sich das ganze unter planet.invertika.org anschauen.

Land einer IP Adresse in PHP ermitteln

Um die IP Adresse des aufrufenden Hosts in PHP zu ermitteln reicht folgendes Skript:

$ip=getenv("REMOTE_ADDR");
echo "Ihre IP ist: " . $ip;

Möchte man nun auch das Land ermitteln wird die ganze Sache schwieriger. Die IP Adresse an sich sagt nämlich nichts über den Standort aus. Also brauchen wir Informationen welche die IP Adresse mit Standortinformationen verknüpft. Eine solche Tabelle können wir unter http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip .

Nachdem wir diese Datei heruntergeladen haben müssen wir sie in eine Datenbank importieren. Dazu müssen wir in der Datenbank erst eine neue Tabelle erstellen. Dies geschieht in phpMyAdmin mittels folgender SQL Anweisung:

CREATE TABLE `IPtoCountry` (
`IP_FROM` DOUBLE NOT NULL ,
`IP_TO` DOUBLE NOT NULL ,
`ISO3166-2` CHAR( 2 ) NOT NULL ,
`ISO3166-1` CHAR( 3 ) NOT NULL ,
`Name` VARCHAR( 255) NOT NULL
)

Danach kann die CSV Datei auch mittels phpMyAdmin in die Tabelle importiert werden. Dabei sollte darauf geachtet werden das das , (Komma) als Trenner eingestellt wird. Um das ganze dann zu nutzen benötigen wir noch eine Funktion welche die Datenbank abfragt und das ganze zurück gibt. Am Ende könnte das so aussehen:

 function IPtoCountry($IP)
{
$db_host="seeseekey.net";
$db_username="geheim";
$db_password="geheim";
$db_name="IpSelectDb";

$IP = sprintf("%u", ip2long($IP));

mysql_connect($db_host, $db_username, $db_password);
mysql_select_db($db_name);

$sql = "SELECT * FROM IPtoCountry WHERE IP_FROM <= $IP AND IP_TO >= $IP LIMIT 1";
$result = mysql_query($sql);

if (mysql_num_rows($result) == 0)
{
return "nicht bekannt";
}
else
{
$row = mysql_fetch_array($result);
return $row['Name'];
}
}

$ip = getenv("REMOTE_ADDR");
echo "Ihre IP ist: " . $ip . "
";
echo "Ihr Standort: " . IPtoCountry($ip);
?>

Die Variablen $db_host, $db_username, $db_password und $db_name müssen natürlich auf die richtigen Werte gesetzt werden. Wer das ganze in echt sehen möchte kann dies unter http://myip.jerilynn.net/ tun.

PHP und AJAX

Da ich mich ein bisschen mit PHP und AJAX beschäftigt habe und ich nach ein paar Codebeispielen gesucht habe bin ich auf die Seite http://www.w3schools.com/ bzw. auf dessen PHP Bereich welcher unter http://www.w3schools.com/PHP/ zu gestoßen. Die Seite bietet viele interessante Beispielcodes. Auf alle Fälle lohnenswert :)

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Ajax_(Programmierung)
http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP