Rosenmontag 2009: Marsch zum Karneval nach Beckum

18. Dezember 2008

Auch dieses Jahr gehts für alle Neubeckumer, Ennigerloher, Oelder, usw. (und evt. ja sogar Beckumer?) wieder zu Fuß mit Musik & Stimmung an der Hauptstraße nach ! (mehr…)

Fotografie

9. Dezember 2008

Sei fast zwei Jahren kann ich eine Nikon D40 mein Eigen nennen.

Noch etwas länger bin ich freier Fotograf bzw. “Party-Fotoscout” in der Onlinecommunity “Dooloao.net”; meine geschossenen lassen sich hier betrachten.

Diese und alle anderen verwalte ich online in meiner Picasa-Galerie.

Bericht: Halloweenparty war ein voller Erfolg!

1. November 2008

Die gestrige Halloweenparty war ein voller Erfolg! Auch wenn kurz mal die Musik weg war ;-)

Wichtig: Die folgen! Bitte später noch einmal vorbeischauen. Fotos online!

Wer hätte gedacht das es so gut wird? :-) Wir Veranstalter und auch die Führungspersonen des Veranstaltungszentrums sind begeistert! Zusätzlich halten wir den neuen Besucher-Rekord im ! (mehr…)

PHP-Webinterface für SMStrade.de

12. Oktober 2008

Momentan arbeite ich an einem -Webinterface für den SMS-Gateway und Sofortnachrichten-Anbieter .de.

Das Interface befindet sich im Entwicklungsstadium und wird bald kostenlos released. Trotzdem darf man gerne für die Entwicklung spenden.

Es sind folgende Features geplant: (mehr…)

Meine erfolgreiche Suche nach einem neuen Handy (Samsung SGH i900 Omnia)

6. Oktober 2008

Mein alter Handyvertrag läuft Ende November aus; Grund genug um sich nach etwas Neuem umzuschauen.

Nachdem ich meinem Handyvertrag die letzten zwei Jahre bei Debitel mit einem Nokia 6230i benutzt hatte, läuft der Vertrag nun Ende November aus. (mehr…)

Halloweenparty 2008 im Mix Oelde

25. September 2008

im Mix am 31. Oktober 2008. 5 Euro Eintritt mit Freigetränk. Öffentliche ! Ab 16 Jahre! » weitere Informationen

Wichtig: Ein kleiner Bericht von gestern steht zum durchlesen bereit ;-)

News vom 28. Oktober 2008

Zwei neue Fragen und zwei neue Antworten:

News vom 27. Oktober 2008

Seite wurde umstrukturiert: Hier findet ihr alle Informationen zur Party.

Wir Veranstalter sind schon sehr aufgeregt und können es kaum noch erwarten :-) Die Dekoration ist inzwischen bei uns angekommen und wartet seensüchtig darauf von uns angebracht zu werden xD

Bei WAF-Chat.de, die übrigens auch einen Fotoscout stellen, sind bereits über 120 Leute als “auf der erscheinend” eingetragen. Guckt man sich diese Liste an fällt ganz klar auf, das das weibliche Geschlecht öfters vertreten ist als das männliche.

Sollte man das nicht noch ändern? ;-) Eure Meinung in die Kommentare! Dort könnt ihr übrigens auch Musikwünsche äußern.

About

18. August 2008

FrankyOnline.de. So fing alles an.

Ich bin mir nicht (mehr?) sicher warum ich vor knapp fünf Jahren diesen Domainnamen für eine Portfolio-/Profilseite ausgewählt habe. Nun ist er aber nun mal da und bekannt; er steht auf zahlreichen Visitenkarten und zigfach im Netz und ist nicht mehr aus meinem Leben wegzudenken.

OK, zugegeben, das klingt einwenig krass. Als wenn ich was für’n “Suchti” oder so etwas wär’ ;-)
Aber nein, das stimmt nicht.

Und wer jetzt?

Der Mensch der sich hinter FrankyOnline.de verbirgt heißt Christian Franke. Ich bin 18 Jahre alt, männlich :-P und noch Schüler des Kopernikus Gymnasium Neubeckum. Dort besuche ich die Oberstufe in der momentan zwölften Klasse.

Ich hasse es eigentlich mich selbst zu beschreiben, trotzdem möchte ich es auf dieser Seite schnell (”einmal und nie wieder”) hinter mich bringen.

Die Domain nochmals

Um noch kurz auf den Domainnamen FrankyOnline.de zurückzukommen: Meine Freunde nennen mich Franky (wegen des Nachnamens nehme ich mal stark an) oder auch Frank Ypsilon oder was weiß ich. Gibt da bestimmt zahlreiche Variationen; dabei ist allerdings Franky der wohl am meist benutzte. Franky.de war leider schon weg. Was also dann?

FrankyOnline.de wurde mir als Vorschlag bei der Registrierung der Domain automatisch angeboten. Ich hätte nie gedacht, dass ich früher so naiv war und so etwas annehme :-D Aber so war es dann wohl ;-)

Und so ist also diese Seite entstanden. Jetzt schon in Version #5 (mitgezählt, ehrlich!) wurde sie nun am 4. August 2008 mithilfe von Wordpress (ist ja keine reine Bloggingsoftware sondern kann man auch sehr gut als CMS missbrauchen) der großen weiten Welt veröffentlicht.
Soviel also zum aktuellen Stand FrankyOnline.de.

Die Anfänge

Schon früh begann ich mich für Computer zu interessieren. Alles fing damit an, dass wir (meine Familie bzw. meine Eltern) im Jahr 1997, also vor rund elf Jahren - ich war sieben, einen neuen PC anschafften (was wir davor hatten weiß ich nicht).
Aus dem Discounter Aldi stammte er, da bin ich mir noch sicher. Mit starken 350 MHz (das war früher echt viel!) und einer riiiesigen 8GB - Festplatte und dem topaktuellen Betriebsystem Windows 98 bedeutete er mir für mich das Tor zur Computerwelt.

Am Anfang konnte ich nur das Computerspiel, welches wir extra für ihn kauften, Age of Empires I, starten und beenden.
Eines Tages fehlte dann, ich erinnere mich noch sehr gut, eine Verknüpfung zum Spiel auf dem Desktop. Mama & Papa waren nicht da, so musste ich (war ich süchtig?!) also selbst meinen Weg durch den Computerdschungel finden.
Und siehe da, nur ein Klick auf “Start”, “Programme” .. und da war schon das mir gut bekannte Age of Empires - Icon.
Der nachfolgende Klick war dann wohl mein erstes Erfolgserlebnis in Sachen “Computer” :-D

Die erste Homepage

So ist es also angefangen und nahm seinen Lauf…

Später kamen noch 56k - Modem und dann auch die erste Beepworld - Internetseite dazu. Vor 7 Jahren wollte ich natürlich für nichts Geld im Internet ausgeben. Auch nicht für einen Domainnamen (war zu dem Zeitpunkt wohl noch Franky.de frei? Ich ärgere mich :-D )

Die Beepwordseite.. schrille Farben, animierte GIFs wohin das Auge blickte. Ahh! :-D Und später wurde dann jeder noch so kleine freie Pixelbereich mit irgendwelchen vorgefertigten JavaScripts tapeziert. Natürlich zu diesem Zeitpunkt, mit ca. 12 Jahren, mit dem gebotenem und dankend erhaltenem WYSIWYG-Online-Java-Editor.

Und HTML kam

Trotzdem musste ich wegen des Einfügens der JavaScripts auch dauernd in den HTML-Bereich wechseln. Und ich begann mich dafür zu interessieren.

Gelernt habe ich HTML nicht durch Bücher, nein, alles online.
Es begann mit [wie hieß das Teil noch, es war so ein im CHM-Format mit Kapiteln und einer Selbstprüfung, weiß wer was ich meine?]. Später kam dann natürlich die HTML-Referenz überhaupt, selfHTML, dazu.

Nie habe ich einen anderen (nur-text-) Editor als den in Windows integrierten Notepadeditor benutzt. Seit ca. 3 Jahren benutze ich allerdings Notepad2 (wegen der Syntaxhervorhebung).

Durch zahlreiche Generatoren, die ich auch schon aus meiner Beepworldzeit kannte, insbesondere der Dauerstress - Generatoren, lernte ich nun auch CSS kennen. Gelernt habe ich es letztendlich allerdings durch selfHTML und CSS4you.de. Dabei stand mir das JEX-Treme Forum bzw. das Webstatt-Forum immer bei Fragen zur Hilfe.. danke ;-)
Ich fand es super die (früher immer soo tollen) Tabellenlayouts zu verschönern und trotz statischer HTML-Seiten ein mit nur einer Datei zu ändern.

Es wurde dynamisch: PHP

Mit dem ersten, auf dem mittlerweile schon gekauften Webspace, installiertem Gästebuch begann dann meine PHP Zeit. Diese Sprache erlernte ich vor allem mit dem Quakenet-PHP- und Schattenbaum. Dem zuletzt genanntem habe ich meine MySQL-Fähigkeiten zu verdanken. Zum Nachschlagen und als Referenzbuch benutze ich nur das englische Manual von PHP.net.
Übrigens: erst jetzt mit ca. 15 Jahren bekam ich meinen ersten eigenen Computer mit dem ich jetzt immer noch arbeite.

Nach und nach kamen dann noch weitere Dinge hinzu. Beispielsweise begann ich mich für htaccess, mod_rewrite und SEO zu interessieren. Nebenbei erstellte ich meine ersten Designs mit einer alten Fireworksversion (früher übrigens noch aus dem Hause Macromedia).

Nicht nur Windows

Langsam aber sicher stolperte ich nun in die Linuxwelten.. ich mietete mir meinen ersten vServer mit Debian Linux, guckte, probierte (deswegen auch stolpern) und lernte.

Nicht nur FrankyOnline.de

Meine ersten Projekte entstanden.
Zwischen h6p, einem kostenlosen und mit Punktesystem ausgestattetem Homepagehoster - natürlich alles selbst programmiert - und MultiPic, einem Bilderhoster mit vielen Features - z.B. Upload via FTP, E-Mail und Windows XP-Publisher - entstanden zahlreiche kleinere Projekte und private Homepages.

Malstunde

Auch entdeckte ich die Welt des Designs, und Webdesign wurden mir Begriffe.
Erste Versuche an Vektorgrafikprogrammen wie Adobe Illustrator führten erst nicht zum Erfolg (wäre auch zu schön gewesen :-P ) doch das kam nach zahlreichen weiteren Tests.

Ich entwarf meine ersten und mein erstes Logo. Parallel dazu entstanden immer neue FrankyOnline.de - Versionen.

Mehr und mehr…

Dann kam die Web 2.0 - Zeit. Zu dem in meiner HTML-Zeit gelerntem JavaScript kamen Untersprachen (gibt’s den Begriff? Ich glaube nicht, würde aber gut passen.) wie Ajax und XML (OK, wirklich keine Untersprache :-P ).

Ich lernte mit Frameworks wie Prototype in Javascript und Smarty in PHP umzugehen. Auch beschäftigte ich mich viel mit Wordpress; Blog-Ennigerloh.de war Schuld.

Und jetzt stehe ich hier. Habe seit dem 7. August wie gaaanz oben schon erwähnt jetzt die fünfte Version meiner Seite FrankyOnline.de veröffentlicht.

Was noch kommt weiß ich nicht. Gut ist aber noch lange nicht. Und das ist auch gut so ;-)

Ich wünsche dir oder euch (am Ende möchte ich den/die Leser hier wenigstens einmal persönlich ansprechen) alles Gute und eventuell ja noch einen schönen weiteren Besuch auf FrankyOnline.de.

Dein/Euer,
Christian Franky Franke

Neue Codeschnipsel: MySQL Dump via PHP & Teamspeak2 installieren

16. August 2008

Zwei neue bzw. alte sind nun auf FrankyOnline.de zu finden.

In “MySQL Datenbank exportieren wie in PHPmyAdmin” geht es um das exportieren von -Tabellen als SQL-Dump in .

Dagegen spielt in “Teamspeak 2 Server” installieren Linux eine entscheidene Rolle. Hier wird Neulingen gezeigt, wie man einen Teamspeak 2 Server auf seinem Rootserver installieren kann.

MySQL Datenbank exportieren wie in PHPmyAdmin (PHP)

15. August 2008

Einleitung

Oft möchte man eine -Datenbank exportieren - beispielsweise als Backup, sodass man diese später wieder (z.B. per mysql_query()) importieren kann. Diese Funktion exportiert komplette Tabellen mit Struktur und Inhalt.

Hinweis / WIchtig

aus dem Jahr 2005 (!). Aufgrund großer Nachfrage habe ihn wieder online gestellt.
Bitte beachte das es inzwischen evt. einfacher ist eine Datenbank zu exportieren bzw. sogar etwas am Script falsch ist.
Prüfe deswegen - und zwar bevor du das Script richig einsetzt - ob noch alles funktioniert und auch das Importieren klappt.

Die Funktion

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
// (c) 2005 by Franky
// http://FrankyOnline.de/
 
function parsefield($field, $typ){
  if($typ == 'integer') return $field;
  else{
    $field = addslashes($field);
    $field = str_replace("\t", "\\t", $field);
    $field = str_replace("\r", "\\r", $field);
    $field = str_replace("\n", "\\n", $field);
    return '\''.$field.'\'';
  }
}
 
function mysql_export_table($table, $connection=''){
  // Struktur
  $dump = "CREATE TABLE `".$table."` (\n";
 
  $types = array();
  $result = mysql_query('DESCRIBE '.$table, $connection);
  $count = mysql_num_rows($result);
 
  $i = 0;
  while($row = mysql_fetch_array($result)){
    $name = $row['Field'];
    $typ = ' '.$row['Type'];
 
    $fieldtypes[$name] = (!stristr($row['Type'], "ENUM") && ((stristr($row['Type'], "INT") || stristr($row['Type'], "FLOAT") || stristr($row['Type'], "DOUBLE") || stristr($row['Type'], "REAL") || stristr($row['Type'], "DECIMAL") || stristr($row['Type'], "NUMERIC") || stristr($row['Type'], "TIMESTAMP") || stristr($row['Type'], "YEAR"))) ? ("integer") : ("string"));
 
    if($row['Null'] == '') $null = ' NOT NULL';
    else $null = ' NULL';
 
    if($row['Default'] == '') $default = '';
    else $default = " DEFAULT '".$row['Default']."'";
 
    if($row['Extra'] == '') $extra = '';
    else $extra = ' '.$row['Extra'];
 
    $dump .= "  ".$name.$typ.$null.$default.$extra;
 
    $i++;
    if($i < $count) $dump .= ", \n";
  }
 
  $index = array();
  $result = mysql_query('SHOW KEYS FROM '.$table, $connection);
  while($row = mysql_fetch_array($result)){
    $keyname = $row['Key_name'];
    $comment = (isset($row['Comment'])) ? $row['Comment'] : '';
    $sub_part = (isset($row['Sub_part'])) ? $row['Sub_part'] : '';
 
    if($keyname != 'PRIMARY' && $row['Non_unique'] == 0) $keyname = 'UNIQUE|'.$keyname;
 
    if($comment == 'FULLTEXT') $keyname = 'FULLTEXT|'.$keyname;
 
    if(!isset($index[$keyname])) $index[$keyname] = array();
 
    if($sub_part > 1) $index[$keyname][] = $row['Column_name']."(".$sub_part.")";
    else $index[$keyname][] = $row['Column_name'];
  }
  mysql_free_result($result);
 
  foreach($index as $keyname => $columns){
    $dump .= ", \n";
    if($keyname == "PRIMARY") $dump .= "  PRIMARY KEY (";
    elseif(substr($keyname, 0, 6) == "UNIQUE") $dump .= "  UNIQUE ".substr($keyname, 7)." (";
    elseif(substr($keyname, 0, 8) == "FULLTEXT") $dump .= "  FULLTEXT ".substr($keyname, 9)." (";
    else $dump .= "  KEY ".$keyname." (";
 
    $dump .= implode($columns, ", ").')';
  }
 
  $dump .= "\n);\n\n";
 
 
 
  // Content
  $insert_tag = 0;
  $rowcount = 0;
  $result = mysql_query('SELECT * FROM '.$table, $connection);
  while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
    $values = '';
    foreach($row as $key => $field)
      if($values != '') $values .= ','.parsefield($field, $fieldtypes[$key]);
      else $values = parsefield($field, $fieldtypes[$key]);
 
    if($insert_tag == 0){
      $dump .= 'INSERT INTO '.$table.' VALUES ('.$values.')';
      $insert_tag = 1;    
    }else $dump .= ',('.$values.')';
 
    if($insert_tag == 1 && $rowcount == 500){
      $dump .= ";\n";
      $insert_tag = 0;
      $rowcount = 0;
    }
 
    $rowcount++;
  }
  mysql_free_result($result);
 
  if($insert_tag == 1) $dump .= ";\n";
 
  return $dump;
}
?>

Beispiel

Diese Beispiel exportiert alle Tabellen (nacheinander in einer Schleife) einer Datenbank. Zuerst wird eine Verbindung zur Datenbank hergestellt (Parameter ändern!) und anschließend der Dump ausgegeben.

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$mysqlconnect = mysql_connect('localhost', 'root', '');
$result = mysql_list_tables('datenbank', $mysqlconnect);
$num_tables = mysql_num_rows($result);
 
for($i=0;$i<$num_tables;$i++){
  $table = mysql_tablename($result, $i);
  echo mysql_export_table($table, $mysqlconnect);
}
 
mysql_free_result($result);
mysql_close($mysqlconnect);
?>

Eine Ausgabe könnte wie folgt aussehen:

1
2
3
4
5
6
7
8
9
10
CREATE TABLE `counter` (
  `datum` date NOT NULL default '0000-00-00',
  `visitors` int(5) NOT NULL default '0',
  PRIMARY KEY  (`datum`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
INSERT INTO `counter` VALUES ('2005-09-03', 25);
INSERT INTO `counter` VALUES ('2005-09-04', 48);
INSERT INTO `counter` VALUES ('2005-09-05', 31);
# ...

Fragen oder Probleme? Einfach schnell einen Kommentar schreiben.

Codeschnipselsektion mit einem Tutorial eröffnet

12. August 2008

In meiner Jex-Treme-Zeit schrieb ich früher (”als alles anfing mit mir & ”) im Jahr 2004 einen Tutorial über das Zippen mit PHP.

Da dieser immernoch auf Platz 1 bei der Suche nach “zippen mit php” in Google platziert ist und schon mehr als 7.500 Hits im o.g. Forum verzeichnet waren, kam mir die Idee hier auf FrankyOnline.de eine Sektion Codeschnipsel zu eröffnen und das dort neu zu publizieren / neu zu gestalteten (nicht neu zu schreiben - dazu kam ich bis jetzt noch nicht!).

Bald finden sich dort hoffentlich weitere Tutorials; bis jetzt ist’s aber nur der alte “Zippen mit PHP” (übrigens Anfang August 2004 [!] geschrieben und wie gesagt: noch nicht überarbeitet).