<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>phptoast.de</title>
	
	<link>http://www.phptoast.de</link>
	<description>Mehr als nur eine Scheibe Brot</description>
	<lastBuildDate>Tue, 22 Jun 2010 22:29:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/phptoast" /><feedburner:info uri="phptoast" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>Sieht aus wie immer</title>
		<link>http://www.phptoast.de/sieht-aus-wie-immer/413/</link>
		<comments>http://www.phptoast.de/sieht-aus-wie-immer/413/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 22:24:24 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=413</guid>
		<description><![CDATA[Da ich in letzter Zeit viel mit WordPress zu tun hatte, dachte ich mir &#8220;Schau doch mal wieder auf deinen Blog! Sieht aus wie immer&#8230; &#8230;tot halt! So lange ist es dann auch nicht her, dass ich meinen letzten Beitrag hier geschrieben habe, schließlich war das erst im Januar. Das Blöde nur, dass war in [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich in letzter Zeit viel mit WordPress zu tun hatte, dachte ich mir &#8220;Schau doch mal wieder auf deinen Blog! Sieht aus wie immer&#8230;</p>
<blockquote><p><strong>&#8230;tot halt!</strong></p></blockquote>
<p>So lange ist es dann auch nicht her, dass ich meinen letzten Beitrag hier geschrieben habe, schließlich war das erst im Januar. Das Blöde nur, dass war in 2009! Aus diesem Grund habe ich in mein Template noch ein genaues Datum hinzugefügt. War ja klar, dass die kleine Änderung im Template, dann eine Art Kettenreaktion hervorgerufen hat und ich auf einmal das Bedürfnis verspürte WordPress auf 3.0 zu aktualisieren. Und wenn ich schonmal da bin, dann kann ich ja auch gleich mal einen Beitrag hinterlassen.</p>
<p>Es wäre irgendwie schade, wenn hier nichts Neues passieren würde, denn ich finde die Domain und das Design der Seite saumäßig cool. Ich draf das sagen, hab das Design ja schließlich nicht selbst gemacht, sondern der gute <a href="http://www.grafiktoast.de">Enrico</a>. Ich bin am überlegen ob ich in zukünftig hier wieder schreiben soll?! Ich denke aber schon&#8230; Wenn ich mir meine alten Artikel so ansehen, dann merke ich erst wie viel man in 1-2 Jahren dazu lernen kann. Für den ein oder anderen Artikel könnte ich mich auch ein wenig schämen. Aber das tue ich nicht, denn man lernt ja nie aus.</p>
<p>Momentan realisiere ich Projekte mit dem Zend Framework, deshalb wird hierzu bestimmt der ein oder andere Artikel von mir kommen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/sieht-aus-wie-immer/413/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Pagination</title>
		<link>http://www.phptoast.de/css-pagination/375/</link>
		<comments>http://www.phptoast.de/css-pagination/375/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 16:56:11 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Blätterfunktion]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Pagination]]></category>
		<category><![CDATA[Paging]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=375</guid>
		<description><![CDATA[Der Begriff Pagination bedeutet Seitennummerierung und kommt bei der Programmierung bei Listen zum Einsatz, bei denen so viele Einträge vorhanden sind, dass das Anzeigen auf einer Seite zu lange dauern würde. Um so eine Blätterfunktion für seine Ergebnisliste einbauen zu können, dem empfehle ich das Plugin Pagination für jQuery. Darum dreht es sich auch hier [...]]]></description>
			<content:encoded><![CDATA[<p>Der Begriff Pagination bedeutet Seitennummerierung und kommt bei der Programmierung bei Listen zum Einsatz, bei denen so viele Einträge vorhanden sind, dass das Anzeigen auf einer Seite zu lange dauern würde.</p>
<p>Um so eine Blätterfunktion für seine Ergebnisliste <span id="more-375"></span>einbauen zu können, dem empfehle ich das Plugin <a href="http://plugins.jquery.com/project/pagination">Pagination</a> für jQuery. Darum dreht es sich auch hier in diesem Beitrag, genauer gesagt, um die CSS für dieses Plugin.</p>
<p>Nachfolgend habe ich eine Liste aufgestellt mit verschiedenen CSS Formatierung die ich im Netz finden konnte:</p>
<div class="br"></div>
<link rel="stylesheet" type="text/css" href="http://www.phptoast.de/demos/jquery/plugins/pagination/original.css">
<link rel="stylesheet" type="text/css" href="http://www.phptoast.de/demos/jquery/plugins/pagination/flickr.css">
<link rel="stylesheet" type="text/css" href="http://www.phptoast.de/demos/jquery/plugins/pagination/digg.css">
<link rel="stylesheet" type="text/css" href="http://www.phptoast.de/demos/jquery/plugins/pagination/yahoo.css">
<div class="demobox"><strong>Original Pagination</strong> <a href="http://www.phptoast.de/demos/jquery/plugins/pagination/original.css" target="blank">CSS Download</a>
<div class="br"></div>
<div id="original" class="pagination"><span class="current prev">Prev</span><span class="current">1</span><a href="#">2</a><a href="#">3</a><a href="#">4</a><a href="#">5</a><a href="#">6</a><a href="#">7</a><a href="#">8</a><span>&#8230;</span><a href="#">29</a><a href="#">30</a><a class="next" href="#">Next</a></div>
<p>&nbsp;</p></div>
<div class="br"></div>
<div class="demobox"><strong>Flickr Pagination:</strong> <a href="http://www.phptoast.de/demos/jquery/plugins/pagination/flickr.css" target="blank">CSS Download</a>
<div class="br"></div>
<div id="flickr" class="pagination"><span class="current prev">&lt; Zurück</span><span class="current">1</span><a href="#">2</a><a href="#">3</a><a href="#">4</a><a href="#">5</a><a href="#">6</a><a href="#">7</a><a href="#">8</a><span>&#8230;</span><a href="#">29</a><a href="#">30</a><a class="next" href="#">Weiter &gt;</a></div>
<p>&nbsp;</p></div>
<div class="br"></div>
<div class="demobox"><strong>Digg Pagination:</strong> <a href="http://www.phptoast.de/demos/jquery/plugins/pagination/digg.css" target="blank">CSS Download</a>
<div class="br"></div>
<div id="digg" class="pagination"><span class="current prev">&laquo; Previous</span><span class="current">1</span><a href="#">2</a><a href="#">3</a><a href="#">4</a><a href="#">5</a><a href="#">6</a><a href="#">7</a><a href="#">8</a><span>&#8230;</span><a href="#">29</a><a href="#">30</a><a class="next" href="#">Next &raquo;</a></div>
<p>&nbsp;</p></div>
<div class="br"></div>
<div class="demobox"><strong>Yahoo Pagination:</strong> <a href="http://www.phptoast.de/demos/jquery/plugins/pagination/yahoo.css" target="blank">CSS Download</a>
<div class="br"></div>
<div id="yahoo" class="pagination"><span class="current prev">&lt; Zur&uuml;ck</span><span class="current">1</span><a href="#">2</a><a href="#">3</a><a href="#">4</a><a href="#">5</a><a href="#">6</a><a href="#">7</a><a href="#">8</a><span>&#8230;</span><a href="#">29</a><a href="#">30</a><a class="next" href="#">Weitere &gt;</a></div>
<p>&nbsp;</p></div>
<p>Weitere Styles werde ich in den nächsten Tagen noch nachreichen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/css-pagination/375/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passwort generieren</title>
		<link>http://www.phptoast.de/passwort-generieren/367/</link>
		<comments>http://www.phptoast.de/passwort-generieren/367/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 12:10:20 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Codeschnipsel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[Passwort generieren]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=367</guid>
		<description><![CDATA[Es gibt auch Funktionen die wahrscheinlich jeder Programmierer schon einmal benutzt hat. Dazu gehört zweifelsohne die des Passwort generierens. Meine Funktion zum erstellen eines Passwortes mit PHP sieht so aus: function passwort_generieren($laenge){ $chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"; for($i=0;$i&#60;$laenge;$i++) { $num = rand() % strlen($chars); $tmp = substr($chars, $num, 1); $pass .= $tmp; } return $pass; } [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt auch Funktionen die wahrscheinlich jeder Programmierer schon einmal benutzt hat. Dazu gehört zweifelsohne die des Passwort generierens. Meine Funktion zum erstellen eines Passwortes mit PHP sieht so aus:</p>
<pre class="php" name="code">function passwort_generieren($laenge){
	$chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
			  abcdefghijklmnopqrstuvwxyz";
	for($i=0;$i&lt;$laenge;$i++) {
		$num   = rand() % strlen($chars);
		$tmp   = substr($chars, $num, 1);
		$pass .= $tmp;
	}
	return $pass;
}</pre>
<p>Würde mich mal interessieren, ob da jemand einen ganz anderen Ansatz hat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/passwort-generieren/367/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Vorauswahl eines Multiple Select</title>
		<link>http://www.phptoast.de/vorauswahl-eines-multiple-select/363/</link>
		<comments>http://www.phptoast.de/vorauswahl-eines-multiple-select/363/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 00:21:08 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Codeschnipsel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Checkboxen]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[Multiple Select]]></category>
		<category><![CDATA[Vorauswahl]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=363</guid>
		<description><![CDATA[Es kommt ja des Öfteren vor, dass mein bei einem Formular ein Multiple Select mit übergeben möchte. Wenn man im zweiten Schritt die Daten z. B. zur Fehlerkorrektur ausgibt und diese dann auch wieder anzeigen muss, dann sollte die Vorauswahl des Multiple Select auch vorhanden sein. Für diesen Fall habe ich eine kleine Funktion geschrieben. [...]]]></description>
			<content:encoded><![CDATA[<p>Es kommt ja des Öfteren vor, dass mein bei einem Formular ein Multiple Select mit übergeben möchte. Wenn man im zweiten Schritt die Daten z. B. zur Fehlerkorrektur ausgibt und diese dann auch wieder anzeigen muss, dann sollte die Vorauswahl des Multiple Select auch vorhanden sein. Für diesen Fall habe ich eine kleine Funktion geschrieben.</p>
<pre name="code" class="php">function mark($id,$arr){
	if(isset($arr)){
		if(in_array($id,$arr)){
			return "selected";
		}
	}
}</pre>
<p>So kann die Funktion im Einsatz aussehen:<span id="more-363"></span></p>
<pre name="code" class="php">$my_arr=array("2","3","6");
echo "&lt;select name='opt' size='10' multiple&gt;";
	for($i=0;$i&lt;10;$i++){
		echo "&lt;option value='".$i."' ".mark($i,$my_arr)."&gt;".$i."&lt;/option&gt;";
	}
echo "&lt;/select&gt;";</pre>
<p>Diese Funktion kann man natürlich auch auf Checkboxen anwenden, da diese ja auch eine Art multiple Auswahl sind und in einem Array gespeichert werden. Mann muss die Funktion nur in der Ausgabe ändern, denn bei Checkboxen sollte da natürclich &#8220;checked&#8221; statt &#8220;selected&#8221; stehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/vorauswahl-eines-multiple-select/363/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tabellenzeilen mit unterschiedlicher Farbe darstellen</title>
		<link>http://www.phptoast.de/tabellenzeilen-mit-unterschiedlicher-farbe-darstellen/359/</link>
		<comments>http://www.phptoast.de/tabellenzeilen-mit-unterschiedlicher-farbe-darstellen/359/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 23:05:12 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Codeschnipsel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[abwechselnde Hintergrundfarben]]></category>
		<category><![CDATA[Farbe]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[Tabellenzeilen]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=359</guid>
		<description><![CDATA[Um Tabellenzeilen gut voneinaneder abzutrennen verwende ich gerne abwechselnde Hintergrundfarben. Hierfür hab ich eine kleine Funktion geschrieben die das für mich erledigt. function back_color($row){ if($row%2=="0"){ $ret="class='farbe1'"; }else{ $ret="class='farbe2'"; } return $ret; } Ein passendes Beispiel dazu könnte dann in etwa so aussehen: echo "&#60;table width='100%'&#62;"; for($i=0;$i&#60;10;$i++){ echo "&#60;tr ".back_color($i)."&#62;&#60;td&#62;Zeile&#60;/td&#62;&#60;/tr&#62;"; } echo "&#60;/table&#62;";]]></description>
			<content:encoded><![CDATA[<p>Um Tabellenzeilen gut voneinaneder abzutrennen verwende ich gerne abwechselnde Hintergrundfarben. Hierfür hab ich eine kleine Funktion geschrieben die das für mich erledigt.</p>
<pre name="code" class="php">function back_color($row){
	if($row%2=="0"){
		$ret="class='farbe1'";
	}else{
		$ret="class='farbe2'";
	}
	return $ret;
}</pre>
<p>Ein passendes Beispiel <span id="more-359"></span>dazu könnte dann in etwa so aussehen:</p>
<pre name="code" class="php">echo "&lt;table width='100%'&gt;";
	for($i=0;$i&lt;10;$i++){
		echo "&lt;tr ".back_color($i)."&gt;&lt;td&gt;Zeile&lt;/td&gt;&lt;/tr&gt;";
	}
echo "&lt;/table&gt;";</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/tabellenzeilen-mit-unterschiedlicher-farbe-darstellen/359/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL float Bug</title>
		<link>http://www.phptoast.de/mysql-float-bug/349/</link>
		<comments>http://www.phptoast.de/mysql-float-bug/349/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 10:38:38 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Format]]></category>
		<category><![CDATA[MySQL float Bug]]></category>
		<category><![CDATA[Nachkommastellen]]></category>
		<category><![CDATA[SQL-Statement]]></category>
		<category><![CDATA[Zahlen]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=349</guid>
		<description><![CDATA[Neulich ist mir etwas Merkwürdiges aufgefallen als ich eine Zahl mit 2 Nachkommastellen in eine Spalte meiner Datenbank einfügen wollte, die auf das Format &#8220;float&#8221; eingestellt war. Der eingefügte Wert entsprach nicht dem Wert den ich eigentlich eingegeben hatte. Dies ist ja eigentlich auch normal, da float die Zahlen entweder auf- oder abrundet, wenn die [...]]]></description>
			<content:encoded><![CDATA[<p>Neulich ist mir etwas Merkwürdiges aufgefallen als ich eine Zahl mit 2 Nachkommastellen in eine Spalte meiner Datenbank einfügen wollte, die auf das Format &#8220;float&#8221; eingestellt war. Der eingefügte Wert entsprach nicht dem Wert den ich eigentlich eingegeben hatte.</p>
<p><span id="more-349"></span>Dies ist ja eigentlich auch normal, da float die Zahlen entweder auf- oder abrundet, wenn die Zahl länger ist als sie sein darf. Wenn ich aber innerhalb der vorgegebenen Länge bleibe, dann sollte er auch den eingefügten Wert übernehmen.</p>
<p>Damit Ihr das Problem selbst nachvollziehen könnt, habe ich das SQL-Statement nachfolgend aufgeführt. Dort seht Ihr den Unterschied zwischen &#8220;decimal&#8221; und &#8220;float&#8221;:</p>
<pre name="code" class="sql">CREATE TABLE IF NOT EXISTS `test` (
  `wert_decimal` decimal(12,2) NOT NULL,
  `wert_float` float(12,2) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `test` (`wert_decimal`, `wert_float`) VALUES
(764250.90, 764251.90),
(764250.80, 764251.80),
(764250.60, 764251.60)</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/mysql-float-bug/349/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP World Kongress 2008 in München</title>
		<link>http://www.phptoast.de/php-world-kongress-2008-in-muenchen/335/</link>
		<comments>http://www.phptoast.de/php-world-kongress-2008-in-muenchen/335/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 11:14:34 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=335</guid>
		<description><![CDATA[Am 24. und 25. November 2008 findet in München der PHP World Kongress statt. Er richtet sich an alle Entwickler von Web-Applikationen, Content- und Online-Manager, Agenturen und Webmaster. Themenbereiche: Tag 1 Professionell Programmieren mit Frameworks Workshop: eZ Components Workshop: Zend Framework Workshop: FLOW3 Tag 2 Keynote: PHP im Enterprise-Bereich Ajax mit PHP Tests für PHP-Webanwendungen [...]]]></description>
			<content:encoded><![CDATA[<p>Am 24. und 25. November 2008 findet in München der PHP World Kongress statt.<br />
Er richtet sich an alle Entwickler von Web-Applikationen, Content- und Online-Manager, Agenturen und Webmaster.</p>
<p>Themenbereiche:</p>
<ul>
<li>Tag 1
<ul>
<li>Professionell Programmieren mit Frameworks</li>
<li>Workshop: eZ Components</li>
<li>Workshop: Zend Framework</li>
<li>Workshop: FLOW3</li>
</ul>
</li>
<li>Tag 2
<ul>
<li>Keynote: PHP im Enterprise-Bereich</li>
<li>Ajax mit PHP</li>
<li>Tests für PHP-Webanwendungen</li>
<li>PHP Design Patterns</li>
<li>Entwicklung und Vermarktung von Open-Source-Applikationen</li>
<li>Silverlight und PHP</li>
<li>PHP 6 – The Next Generation</li>
</ul>
</li>
</ul>
<p><strong>Weiterführende Links:</strong><br />
<a href="http://www.phpworld-kongress.de/">PHP World Kongress</a><br />
<a href="http://www.phpworld-kongress.de/referenten.php">PHP World Kongress &#8211; Referenten</a></p>
<p><strong>Blogs zum Thema:</strong><br />
<a href="http://www.php-developer-blog.de/">php-developer-blog.de</a><a href="http://www.phpug-wuerzburg.de/2008/08/05/php-world-kongress-am-2425-november-2008-in-munchen/"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/php-world-kongress-2008-in-muenchen/335/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Runde Ecken mit CSS und jQuery</title>
		<link>http://www.phptoast.de/runde-ecken-mit-css-und-jquery/290/</link>
		<comments>http://www.phptoast.de/runde-ecken-mit-css-und-jquery/290/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 21:20:10 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Layout]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=290</guid>
		<description><![CDATA[Um richtig feine und saubere Ecken bei Contentboxen darzustellen empfiehlt es sich diese mit Grafiken zu machen. In den folgenden Beispielen erkläre ich die verschiedenen Techniken um runde Ecken darzustellen. Als Erstes benötigt Ihr folgende 8 Grafiken. 1. Runde Ecken mit einer Tabelle Im ersten Beispiel erstelle ich eine Contentbox mit einer Tabelle, was dann [...]]]></description>
			<content:encoded><![CDATA[<p>Um richtig feine und saubere Ecken bei Contentboxen darzustellen empfiehlt es sich diese mit Grafiken zu machen. In den folgenden Beispielen erkläre ich die verschiedenen Techniken um runde Ecken darzustellen. Als Erstes benötigt Ihr folgende <a href="http://www.phptoast.de/wp-content/uploads/2008/08/bilder-runde-ecken.rar">8 Grafiken</a>.</p>
<p><span id="more-290"></span><br />
<strong>1. Runde Ecken mit einer Tabelle</strong><br />
Im ersten Beispiel erstelle ich eine Contentbox mit einer Tabelle, was dann wie folgt aussieht:</p>
<pre name="code" class="html">&lt;table border="0" cellpadding="0" cellspacing="0" width="500"&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;img src="images/ol.jpg" width="12" height="12"&gt;&lt;/td&gt;
		&lt;td background="images/o.jpg" valign="top" width="476"&gt;&lt;/td&gt;
		&lt;td&gt;&lt;img src="images/or.jpg" width="12"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td background="images/l.jpg"&gt;&amp;nbsp;&lt;/td&gt;
		&lt;td bgcolor="#e5e2da" valign="top"&gt;
		INHALT
		&lt;/td&gt;
		&lt;td background="images/r.jpg"&gt;&amp;nbsp;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;img src="images/ul.jpg" height="12"&gt;&lt;/td&gt;
		&lt;td background="images/u.jpg"&gt;&lt;/td&gt;
		&lt;td&gt;&lt;img src="images/ur.jpg"&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;</pre>
<p>Das Beispiel funktioniert einwandfrei, ist aber auf Grund der Tabellenstruktur nicht gerade Suchmaschinenfreundlich. Der HTML-Code wird einfach zu lang und außerdem sind Tabellen nicht mehr so in.</p>
<p><strong>2. Runde Ecken mit DIV Layern</strong><br />
In meinem zweiten Beispiel mache ich genau die gleiche Contentbox, nur besteht diese nicht aus einer Tabelle, sondern aus DIV Layern. Das sieht dann so aus:</p>
<pre name="code" class="html">&lt;div id="box"&gt;
	&lt;div class="l"&gt;
		&lt;div class="r"&gt;
			&lt;div class="o"&gt;
				&lt;div class="u"&gt;
					&lt;div class="ol"&gt;
						&lt;div class="or"&gt;
							&lt;div class="ul"&gt;
								&lt;div class="ur"&gt;
									&lt;div class="mitte"&gt;INHALT&lt;/div&gt;
								&lt;/div&gt;
							&lt;/div&gt;
						&lt;/div&gt;
					&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</pre>
<p>In eure CSS Datei müsst Ihr dann noch die Formatierung für die DIV`s reinlegen.<br />
Hier die CSS dazu:</p>
<pre name="code" class="css">
&lt;style&gt;
#box .l {
background: url(images/l.jpg) repeat-y;
background-color:#E5E2DA;
}
#box .r {
background: url(images/r.jpg) repeat-y right;
}
#box .o {
background: url(images/o.jpg) repeat-x;
}
#box .u {
background: url(images/u.jpg) bottom repeat-x;
height:100%;
}
#box .ol {
background: url(images/ol.jpg) left top no-repeat;
}
#box .or {
background: url(images/or.jpg) right top no-repeat;
}
#box .ul {
background: url(images/ul.jpg) left bottom no-repeat;
}
#box .ur {
background: url(images/ur.jpg) right bottom no-repeat;
}
#box .mitte {
padding: 12px;
}
#box {
width: 500px;
}
&lt;/style&gt;</pre>
<p>Da lässt sich mit DIV`s gegenüber der Tabelle schon einiges an Code einsparen.</p>
<p><strong>3. Runde Ecken mit DIV Layern und per jQuery Nachgeladen</strong><br />
Wer es jetzt noch SEO-freundlicher haben möchte der kann das zweite Beispiel verwenden, aber lädt die DIV erst später per Javascript in das DOM nach. Dies ermöglicht uns jQuery auf eine ganz simple Weise:</p>
<p>Als Erstes erstellen wir ein DIV und weisen ihm die Klasse <strong>toasty</strong> zu:</p>
<pre name="code" class="html">&lt;div class="toasty"&gt;INHALT&lt;/div&gt;</pre>
<p>Dannach binden wir die CSS-Formatierung aus Beispiel 2 in unsere CSS Datei ein.<br />
Dann fehlt nur noch das nachladen der DIV Layer.</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"
src="http://www.phptoast.de/demos/jquery/jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
	$(document).ready(function(){
		$(".toasty").wrap('&lt;div id="box"&gt;&lt;div class="l"&gt;
		&lt;div class="r"&gt;&lt;div class="o"&gt;&lt;div class="u"&gt;
		&lt;div class="ol"&gt;&lt;div class="or"&gt;&lt;div class="ul"&gt;
		&lt;div class="ur"&gt;&lt;div class="mitte"&gt;&lt;/div&gt;&lt;/div&gt;
		&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;');
	});
&lt;/script&gt;</pre>
<p>Ich selbst bevorzuge die 3. Variante, da sie einfach super suchmaschinenfreundlich ist, weil für Google und Co. letztendlich nur das eine DIV im Quelltext steht. Ihr könnt lediglich im Firefox nachsehen, wie die DIV Layer in den Quelltext nachgeladen werden. Dazu müsst Ihr die ganze Seite oder eben nur das betroffene DIV markieren und dann über die rechte Maustaste &#8220;Auswahl-Quelltext anzeigen&#8221; auswählen.</p>
<p>Alle 3 Beispiele könnt Ihr auch online ansehen: <a href="http://www.phptoast.de/demos/jquery/runde-ecken/">Runde Ecken Demo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/runde-ecken-mit-css-und-jquery/290/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Was programmiere ich selbst und was nicht?</title>
		<link>http://www.phptoast.de/was-programmiere-ich-selbst-und-was-nicht/254/</link>
		<comments>http://www.phptoast.de/was-programmiere-ich-selbst-und-was-nicht/254/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 21:45:30 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=254</guid>
		<description><![CDATA[Bei jedem neuen Projekt das ich programmiere stellt sich mir immer wieder die selbe Frage: Was programmiere ich selbst und was nicht? Generell lassen sich hierzu 3 Kategorien bilden. Fremdprogrammierung Zu diesem Bereich zähle ich alle Anwendungen die schon komplett fertig programmiert sind und nur noch installiert und ggf. konfiguriert werden müssen. Bei diesen Anwendungen [...]]]></description>
			<content:encoded><![CDATA[<p>Bei jedem neuen Projekt das ich programmiere stellt sich mir immer wieder die selbe Frage:<br />
Was programmiere ich selbst und was nicht? Generell lassen sich hierzu 3 Kategorien bilden.</p>
<p><span id="more-254"></span></p>
<p><strong>Fremdprogrammierung</strong><br />
Zu diesem Bereich zähle ich alle Anwendungen die schon komplett fertig programmiert sind und nur noch installiert und ggf. konfiguriert werden müssen. Bei diesen Anwendungen kann man noch meistens über CSS und Templates optische Anpassungen vornehmen. Durch verschiedene Plugins lässt sich zusätzlich der Funktionsumfang der eigentlichen Anwendung beliebig erweitern. Hier mal ein Paar Beispiele:</p>
<ul>
<li>Blogsoftware wie <a href="http://wordpress-deutschland.org/">WordPress</a></li>
<li>Forensoftware, z. B. <a href="http://www.vbulletin.com/">vBulletin</a></li>
<li>CMS (<a href="http://en.wikipedia.org/wiki/List_of_Content_Management_Systems">Content-Management-Systeme</a>)</li>
</ul>
<p>Setzte ich einen neuen Blog oder ein Forum auf, dann würde ich nie auf die Idee kommen und mir eine eigene Blog- oder Forensoftware zu programmieren. Dafür gibt es ja schließlich WordPress und VBulletin. Diese sind wahrscheinlich auch so sehr beliebt, da sie in ihrem Design voll individuell anpassbar sind, zudem sind die meisten sehr intuitiv und einfach zu bedienen. Gerade bei Anfängern die keine Programmier- oder HTML-Kenntnisse haben, bieten sich diese Anwendungen ganz gut an.</p>
<p><strong>Programmbibliotheken</strong><br />
PEAR, PHP Klassen oder diverse Javascript Libraries gibt es jede Menge. Wenn man es weiß, wie man mit diesen umzugehen hat und auch richtig kombiniert bzw. einsetzt, dann können sie eine perfekte Ergänzung zur eigenen Programmierung sein. Durch die Verwendung von Programmbibliotheken kann man extrem viel Zeit sparen und muss sich nicht in jeden Bereich neu einarbeiten. Wie schon in meinem Artikel zum Thema &#8220;<a href="http://www.phptoast.de/e-mails-versenden-mit-php/233/">E-Mails versenden mit PHP</a>&#8221; erwähnt, ist die Klasse &#8220;phpmailer&#8221; einer der Klassen die ich in fast jedem Projekt verwende, zumindest in den Projekte bei denen ich E-Mails vesenden muss. Es gibt auch noch jede Menge andere gute Klassen, auf die ich aber in einem anderen Artikel eingehen möchte.</p>
<p>Programmbibliotheken wie z. B. <a href="http://www.prototypejs.org/">Prototype</a> mit <a href="http://script.aculo.us/">script.aculo.us</a> sind auch bei anderen bekannteren Seiten beliebt, wie z. B.:</p>
<ul>
<li><a href="http://www.kicker.de/">Kicker.de</a></li>
<li><a href="http://www.xing.com/">Xing.com</a></li>
<li><a href="http://www.gulli.com/">Gulli.com</a></li>
</ul>
<p><strong>Eigene Programmierung</strong><br />
Es kommt wahrscheinlich nur sehr selten vor, das Webanwendungen von A-Z selbst programmiert werden, zumindest war das bei mir selten der Fall. Es gibt immer wieder den ein oder anderen Codeschnipsel, den man von jemand Anderes verwendet.</p>
<p>Für mich zählt im Endeffekt nur das Endprodukt, egal wie man dort hin kommt. Warum soll ich auch etwas selbst programmieren, wenn es etwas schon in genau dieser Form gibt, wie ich es brauche.</p>
<p>Denn eins hab ich in den letzten Jahren gelernt:</p>
<blockquote><p>Ein guter Programmierer weiß wie es geht, der Bessere weiß wo es steht!</p></blockquote>
<p>Wie steht ihr zu diesem Thema und was sind eure Erfahrungen?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/was-programmiere-ich-selbst-und-was-nicht/254/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E-Mails versenden mit PHP</title>
		<link>http://www.phptoast.de/e-mails-versenden-mit-php/233/</link>
		<comments>http://www.phptoast.de/e-mails-versenden-mit-php/233/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 12:21:32 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Klassen]]></category>

		<guid isPermaLink="false">http://www.phptoast.de/?p=233</guid>
		<description><![CDATA[Wie kann ich über PHP Mails versenden? Ein einfacher Versand kann man leicht über die Funktion mail() realisieren. Hierzu ein kleines Beispiel: &#60;?php $empfaenger_email="empfaenger@adresse.de"; $absender_email="absender@adresse.de"; $absender_name="Dein Name"; $betreff="Eine Testmail"; $text="Hier kommt der Text"; mail($empfaenger_email, $betreff, $text, "From:".$absender_name." &#60;".$absender_email."&#62;"); ?&#62; Diese Möglichkeit ist nicht wirklich die Beste, denn man muss ja noch die ganzen HEADER Informationen [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Wie kann ich über PHP Mails versenden?</strong><br />
Ein einfacher Versand kann man leicht über die Funktion mail() realisieren. Hierzu ein kleines Beispiel:</p>
<pre name="code" class="php">
&lt;?php
$empfaenger_email="empfaenger@adresse.de";
$absender_email="absender@adresse.de";
$absender_name="Dein Name";
$betreff="Eine Testmail";
$text="Hier kommt der Text";
mail($empfaenger_email, $betreff, $text,
"From:".$absender_name." &lt;".$absender_email."&gt;");
?&gt;
</pre>
<p>Diese Möglichkeit ist nicht wirklich die Beste, denn man muss ja noch die ganzen HEADER Informationen integrieren. Eine viel bessere Methode wäre die Verwendung einer PHP-Klasse. Eine gute und zuverlässige Klasse ist die <a href="http://phpmailer.codeworxtech.com/index.php" target="_blank">phpmailer</a> Klasse.</p>
<p><span id="more-233"></span>Anhand dem folgenden Beispiel wird beschrieben, wie man mit dem phpmailer eine einfache E-Mail versenden kann.</p>
<pre name="code" class="php">&lt;?php
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail-&gt;IsSMTP();
$mail-&gt;Host     = "smtp.example.com";

$mail-&gt;From     = "sender@example.com";
$mail-&gt;AddAddress("emfaenger@example.com");

$mail-&gt;Subject  = "First PHPMailer Message";
$mail-&gt;Body     = "HTML Version der Mail";
$mail-&gt;AltBody 	= "TEXT Version der Mail";
$mail-&gt;WordWrap = 50;

if(!$mail-&gt;Send()) {
	echo "Nachricht wurde nicht versendet!";
	echo "Fehlermeldung: " . $mail-&gt;ErrorInfo;
}else{
	echo "Nachricht wurde gesendet";
}
?&gt;</pre>
<p><strong>Weitere Links zum Thema:</strong><br />
<a href="http://phpmailer.codeworxtech.com/index.php?pg=methods">phpmailer Dokumentation</a><br />
<a href="http://www.phplist.com/">Newsletter Software PHPLIST (verwendet den phpmailer)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phptoast.de/e-mails-versenden-mit-php/233/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

