<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[net-board.net Archiv - Tutorials und Artikel: Programmieren und Datenbanken]]></title>
		<link>https://net-board.net/</link>
		<description><![CDATA[net-board.net Archiv - https://net-board.net]]></description>
		<pubDate>Sun, 03 May 2026 06:55:56 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Das Zend Framework]]></title>
			<link>https://net-board.net/showthread.php?tid=5891</link>
			<pubDate>Mon, 22 Sep 2008 20:00:02 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">Futjikato</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=5891</guid>
			<description><![CDATA[Da es im netz noch recht wenig Tutorials zum ZEND Framework <a href="http://framework.zend.com/download/latest" target="_blank" rel="noopener" class="mycode_url">[1]</a> gibt, habe ich mir gedacht, dass ich hier mal die wichtigsten Sachen kurz zusammenfasse.<br />
<br />
<span style="font-style: italic;" class="mycode_i">Part I | Wie ist Zend aufgebaut ?</span> <br />
Das Zend Framework ist ja nach dem MVC <a href="http://de.wikipedia.org/wiki/MVC" target="_blank" rel="noopener" class="mycode_url">[2]</a> Prinzip entwickelt worden. Das schlägt sich auch schon in der Ordnerstrucktur nieder.<br />
Die folgende Strucktur ist die am weitesten verbreitete [S1]. Man kann das aber auch so umarbeiten, wie man es für sich am liebsten hat. Die hier vorgestellte Bootstrap- Datei ist jedoch auf diese Strucktur ausgelegt.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/htdocs<br />
-&gt;index.php ( Bootstrap Datei )<br />
-&gt;.htaccess<br />
-&gt;/application<br />
-&gt;-&gt;/models<br />
-&gt;-&gt;-&gt;noch leer<br />
-&gt;-&gt;/modules<br />
-&gt;-&gt;-&gt;/default<br />
-&gt;-&gt;-&gt;-&gt;/controllers<br />
-&gt;-&gt;-&gt;-&gt;-&gt;indexController.php<br />
-&gt;-&gt;-&gt;-&gt;/views<br />
-&gt;-&gt;-&gt;-&gt;-&gt;/scripts<br />
-&gt;-&gt;-&gt;-&gt;-&gt;-&gt;/index<br />
-&gt;-&gt;-&gt;-&gt;-&gt;-&gt;-&gt;index.phtml<br />
-&gt;/library<br />
-&gt;-&gt;.htaccess</code></div></div><span style="font-size: 10pt;" class="mycode_size">Die Ordnerstrucktur + Datein für Einstieg</span><br />
<br />
<br />
<br />
Inhalt der .htaccess im htdocs Ordner :<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>RewriteEngine On <br />
RewriteCond %{REQUEST_FILENAME} -s [OR] <br />
RewriteCond %{REQUEST_FILENAME} -l [OR] <br />
RewriteCond %{REQUEST_FILENAME} -d <br />
RewriteRule ^.*&#36; - [NC,L]<br />
RewriteRule ^.*&#36; /index.php [NC,L]</code></div></div><span style="font-weight: bold;" class="mycode_b">mod_rewrite <a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html" target="_blank" rel="noopener" class="mycode_url">[3]</a> MUSS aktiviert sein</span><br />
<br />
[S1] = Wenn du Ordner außerhalb des Rootverzeichnises anlegen kannst, so wird empfohlen den Application- und den Librarayordner dort zu platzieren.<br />
<br />
<br />
<span style="font-style: italic;" class="mycode_i">Last Update : 25.09</span>]]></description>
			<content:encoded><![CDATA[Da es im netz noch recht wenig Tutorials zum ZEND Framework <a href="http://framework.zend.com/download/latest" target="_blank" rel="noopener" class="mycode_url">[1]</a> gibt, habe ich mir gedacht, dass ich hier mal die wichtigsten Sachen kurz zusammenfasse.<br />
<br />
<span style="font-style: italic;" class="mycode_i">Part I | Wie ist Zend aufgebaut ?</span> <br />
Das Zend Framework ist ja nach dem MVC <a href="http://de.wikipedia.org/wiki/MVC" target="_blank" rel="noopener" class="mycode_url">[2]</a> Prinzip entwickelt worden. Das schlägt sich auch schon in der Ordnerstrucktur nieder.<br />
Die folgende Strucktur ist die am weitesten verbreitete [S1]. Man kann das aber auch so umarbeiten, wie man es für sich am liebsten hat. Die hier vorgestellte Bootstrap- Datei ist jedoch auf diese Strucktur ausgelegt.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/htdocs<br />
-&gt;index.php ( Bootstrap Datei )<br />
-&gt;.htaccess<br />
-&gt;/application<br />
-&gt;-&gt;/models<br />
-&gt;-&gt;-&gt;noch leer<br />
-&gt;-&gt;/modules<br />
-&gt;-&gt;-&gt;/default<br />
-&gt;-&gt;-&gt;-&gt;/controllers<br />
-&gt;-&gt;-&gt;-&gt;-&gt;indexController.php<br />
-&gt;-&gt;-&gt;-&gt;/views<br />
-&gt;-&gt;-&gt;-&gt;-&gt;/scripts<br />
-&gt;-&gt;-&gt;-&gt;-&gt;-&gt;/index<br />
-&gt;-&gt;-&gt;-&gt;-&gt;-&gt;-&gt;index.phtml<br />
-&gt;/library<br />
-&gt;-&gt;.htaccess</code></div></div><span style="font-size: 10pt;" class="mycode_size">Die Ordnerstrucktur + Datein für Einstieg</span><br />
<br />
<br />
<br />
Inhalt der .htaccess im htdocs Ordner :<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>RewriteEngine On <br />
RewriteCond %{REQUEST_FILENAME} -s [OR] <br />
RewriteCond %{REQUEST_FILENAME} -l [OR] <br />
RewriteCond %{REQUEST_FILENAME} -d <br />
RewriteRule ^.*&#36; - [NC,L]<br />
RewriteRule ^.*&#36; /index.php [NC,L]</code></div></div><span style="font-weight: bold;" class="mycode_b">mod_rewrite <a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html" target="_blank" rel="noopener" class="mycode_url">[3]</a> MUSS aktiviert sein</span><br />
<br />
[S1] = Wenn du Ordner außerhalb des Rootverzeichnises anlegen kannst, so wird empfohlen den Application- und den Librarayordner dort zu platzieren.<br />
<br />
<br />
<span style="font-style: italic;" class="mycode_i">Last Update : 25.09</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Textcounter mit IP Sperre (MySQL)]]></title>
			<link>https://net-board.net/showthread.php?tid=5577</link>
			<pubDate>Wed, 23 May 2007 10:22:23 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">KingGO</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=5577</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Textcounter mit IP Sperre (MySQL)</span><br />
<br />
Ein Textcounter mit MySQL ist die schwierigste Form eines Counters aber immerhin noch die beste <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /> Bei der Cookie Methode kann man mit deaktivierten Cookies die Sperre umgehen mit einer MySQL-Datenbank hingegen wird dieses zunehmend erschwert leider gibt es eine Schwachstelle da dieses Script die IP-Adresse des benutzers speichert könnte sich der Benutzer mit einen Reconnect eine neue IP-Adresse beim provider holen und er kann wieder einen Count produziern eine andere Variante ist mit PHP nicht Möglich. man könnte das sicher vereinen einen MySQL, Cookie IP-Sperren Counter aber diesen Aufwand sind die meisten Scripte nicht wert.<br />
<br />
Ich habe den kompletten Sourcecode geschrieben und ausgiebig kommentiert.<br />
Ihr solltet über Grundlegende Kentnisse PHP und MySQL verfügen.<br />
<br />
Wir führen zunächst einen SQL-Befehl in phpMyAdmin oder ähnlichen aus.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>CREATE TABLE `tutorial_counter` (<br />
&nbsp;&nbsp;`wert` int(11) NOT NULL default '0'<br />
)<br />
INSERT INTO `tutorial_counter` (`wert`) VALUES <br />
(1)<br />
CREATE TABLE `tutorial_counter_sperre` (<br />
&nbsp;&nbsp;`ip` varchar(15) collate latin1_german1_ci NOT NULL default '0',<br />
&nbsp;&nbsp;`time` int(15) NOT NULL default '0'<br />
)</code></div></div><br />
Kommen wir zum eigentlichen Script, hier müsst Ihr zunächst die MySQL-Verbindungsdaten eures Servers eintragen.<br />
<br />
[code=php]&lt;?php<br />
	#############################################<br />
	# Netccode Forum ::  PHP/Tutorial.          #<br />
	# Textcounter mit IP Sperre (MySQL)         #<br />
	#############################################<br />
<br />
	# MySQL Host<br />
	&#36;db_host = "";<br />
	<br />
	# MySQL Benutzer<br />
	&#36;db_user = "";<br />
	<br />
	# MySQL Passwort<br />
	&#36;db_pass = "";<br />
	<br />
	# MySQL Tabelle<br />
	&#36;db_data = "";<br />
	<br />
	# Wir ermitteln die IP-Adresse des benutzers.<br />
	&#36;ip = &#36;_SERVER[REMOTE_ADDR];<br />
	<br />
	# Zeit wann Alte Daten gelöscht werden sollen<br />
	&#36;diff = time()-86400; // Ergibt aktuelle Zeit - 24 Std.<br />
	<br />
	# Verbindung zur Datenbank herstellen und Tabelle auswählen.<br />
	&#36;ver = mysql_connect("&#36;db_host", "&#36;db_user", "&#36;db_pass");<br />
		   mysql_select_db("&#36;db_data");<br />
	<br />
	# Zunächst werden alte MySQL Werte gelöscht die schon länger als 24 Std her sind.<br />
	mysql_query("DELETE FROM `tutorial_counter_sperre` WHERE time &lt; ".&#36;diff."");<br />
	<br />
	&#36;result = mysql_query("SELECT * FROM `tutorial_counter_sperre` WHERE `ip`='".&#36;ip."'");<br />
	<br />
	if(mysql_num_rows(&#36;result))<br />
	{<br />
		# IP-Adresse steht in Datebank.<br />
	}<br />
	else<br />
	{<br />
		# IP-Adresse steht noch nicht in Datenbank.<br />
		mysql_query("INSERT INTO `tutorial_counter_sperre` SET time='".time()."',`ip`='".&#36;ip."'");<br />
		mysql_query("UPDATE `tutorial_counter` SET wert = (wert + 1)");<br />
	}<br />
	<br />
	# Auslesen des aktuellen Counterstandes.	<br />
	&#36;ausgabe = mysql_fetch_assoc(mysql_query("SELECT * FROM `tutorial_counter`"));<br />
	<br />
	# Aktuelle Counterstand wird ausgegeben<br />
	echo &#36;ausgabe["wert"];<br />
	<br />
	# Wir schließen die MySQL-Verbindung wieder.<br />
	mysql_close(&#36;ver);<br />
?&gt;[/code]<br />
<br />
Ich hoffe es hat  euch wie immer spaß gemacht und Feedback ist wie immer erwünscht ;-)]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Textcounter mit IP Sperre (MySQL)</span><br />
<br />
Ein Textcounter mit MySQL ist die schwierigste Form eines Counters aber immerhin noch die beste <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /> Bei der Cookie Methode kann man mit deaktivierten Cookies die Sperre umgehen mit einer MySQL-Datenbank hingegen wird dieses zunehmend erschwert leider gibt es eine Schwachstelle da dieses Script die IP-Adresse des benutzers speichert könnte sich der Benutzer mit einen Reconnect eine neue IP-Adresse beim provider holen und er kann wieder einen Count produziern eine andere Variante ist mit PHP nicht Möglich. man könnte das sicher vereinen einen MySQL, Cookie IP-Sperren Counter aber diesen Aufwand sind die meisten Scripte nicht wert.<br />
<br />
Ich habe den kompletten Sourcecode geschrieben und ausgiebig kommentiert.<br />
Ihr solltet über Grundlegende Kentnisse PHP und MySQL verfügen.<br />
<br />
Wir führen zunächst einen SQL-Befehl in phpMyAdmin oder ähnlichen aus.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>CREATE TABLE `tutorial_counter` (<br />
&nbsp;&nbsp;`wert` int(11) NOT NULL default '0'<br />
)<br />
INSERT INTO `tutorial_counter` (`wert`) VALUES <br />
(1)<br />
CREATE TABLE `tutorial_counter_sperre` (<br />
&nbsp;&nbsp;`ip` varchar(15) collate latin1_german1_ci NOT NULL default '0',<br />
&nbsp;&nbsp;`time` int(15) NOT NULL default '0'<br />
)</code></div></div><br />
Kommen wir zum eigentlichen Script, hier müsst Ihr zunächst die MySQL-Verbindungsdaten eures Servers eintragen.<br />
<br />
[code=php]&lt;?php<br />
	#############################################<br />
	# Netccode Forum ::  PHP/Tutorial.          #<br />
	# Textcounter mit IP Sperre (MySQL)         #<br />
	#############################################<br />
<br />
	# MySQL Host<br />
	&#36;db_host = "";<br />
	<br />
	# MySQL Benutzer<br />
	&#36;db_user = "";<br />
	<br />
	# MySQL Passwort<br />
	&#36;db_pass = "";<br />
	<br />
	# MySQL Tabelle<br />
	&#36;db_data = "";<br />
	<br />
	# Wir ermitteln die IP-Adresse des benutzers.<br />
	&#36;ip = &#36;_SERVER[REMOTE_ADDR];<br />
	<br />
	# Zeit wann Alte Daten gelöscht werden sollen<br />
	&#36;diff = time()-86400; // Ergibt aktuelle Zeit - 24 Std.<br />
	<br />
	# Verbindung zur Datenbank herstellen und Tabelle auswählen.<br />
	&#36;ver = mysql_connect("&#36;db_host", "&#36;db_user", "&#36;db_pass");<br />
		   mysql_select_db("&#36;db_data");<br />
	<br />
	# Zunächst werden alte MySQL Werte gelöscht die schon länger als 24 Std her sind.<br />
	mysql_query("DELETE FROM `tutorial_counter_sperre` WHERE time &lt; ".&#36;diff."");<br />
	<br />
	&#36;result = mysql_query("SELECT * FROM `tutorial_counter_sperre` WHERE `ip`='".&#36;ip."'");<br />
	<br />
	if(mysql_num_rows(&#36;result))<br />
	{<br />
		# IP-Adresse steht in Datebank.<br />
	}<br />
	else<br />
	{<br />
		# IP-Adresse steht noch nicht in Datenbank.<br />
		mysql_query("INSERT INTO `tutorial_counter_sperre` SET time='".time()."',`ip`='".&#36;ip."'");<br />
		mysql_query("UPDATE `tutorial_counter` SET wert = (wert + 1)");<br />
	}<br />
	<br />
	# Auslesen des aktuellen Counterstandes.	<br />
	&#36;ausgabe = mysql_fetch_assoc(mysql_query("SELECT * FROM `tutorial_counter`"));<br />
	<br />
	# Aktuelle Counterstand wird ausgegeben<br />
	echo &#36;ausgabe["wert"];<br />
	<br />
	# Wir schließen die MySQL-Verbindung wieder.<br />
	mysql_close(&#36;ver);<br />
?&gt;[/code]<br />
<br />
Ich hoffe es hat  euch wie immer spaß gemacht und Feedback ist wie immer erwünscht ;-)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Textcounter mit IP Sperre (Cookie)]]></title>
			<link>https://net-board.net/showthread.php?tid=5576</link>
			<pubDate>Wed, 23 May 2007 10:20:30 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">KingGO</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=5576</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Textcounter mit IP Sperre (Cookie)</span><br />
<br />
Wie ich schon in meinen ersten Klickcounter Tutorial berichtete gibt es noch eine zweite alternative.<br />
Was wir benötigen sind wieder Grundkentnisse PHP, beachtet bitte das dieses Tutorial anderst ist als diese die Ihr im Netz so findet bei den meisten Tutorials zum Thema IP-Sperre muss der *setcookie* Part am anfang einer Datei stehen und macht es so fast unmöglich den Text irgendwo in einer Datei auszugeben, dieses Problem habe ich ganz clever gelößt <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
Wir erstellen mal eine index.php.<br />
<br />
mit folgenden Inhalt.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>&lt;?php include("counter.php"); ?&gt;<br />
&lt;html&gt;<br />
 &lt;head&gt;<br />
&nbsp;&nbsp;&lt;title&gt;Netccode Forum, PHP/Tutorial: Textcounter mit IP Sperre (Cookie)&lt;/title&gt;<br />
 &lt;/head&gt;<br />
 &lt;body&gt;<br />
&nbsp;&nbsp;Hallo du bist Besucher Nr. &lt;?php echo &#36;ausgabe; ?&gt; auf meiner Seite.<br />
 &lt;/body&gt;<br />
&lt;/html&gt;</code></div></div><br />
Jetzt würde er die counter.php am Anfang der Datei einfügen und dank<br />
dieser Ausgabe im HTML Code die Ausgabe des Wertes an einer mir zugeordneten Stelle ausgeben.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>&lt;?php echo &#36;ausgabe; ?&gt;</code></div></div><br />
unsere counter.php schaut dan so aus...<br />
<br />
[code=php]&lt;?php<br />
	#############################################<br />
	# Netccode Forum ::  PHP/Tutorial.          #<br />
	# Textcounter mit IP Sperre (Cookie)        #<br />
	#############################################<br />
	<br />
	# Diese Datei muss zwingend schreibrechte besitzen. (CHMOD 777)<br />
	&#36;countfile = "anzahl.txt";<br />
	<br />
	# Wir ermitteln die IP-Adresse des benutzers.<br />
	&#36;ip = &#36;_SERVER[REMOTE_ADDR];<br />
<br />
	# Die Datei wird geöffnet<br />
	&#36;file = fopen("&#36;countfile", "r+");<br />
		<br />
	# Die Datei wird eingelesen<br />
	&#36;ausgabe = fgets(&#36;file,100);<br />
	<br />
	if(isset(&#36;_COOKIE["ipsperre"]))<br />
	{<br />
		// Cookie ist vorhanden (wir machen nix)<br />
	}<br />
	else<br />
	{<br />
		// Cookie ist noch nicht vorhanden.<br />
		<br />
		# Wir setzen einen Cookie (Wert des Cookie, IP-Adresse des Besuchers, Zeit wann gesetzt wurde)<br />
		setcookie ("ipsperre",&#36;ip, time()+86400); // Diese wäre eine 24. stündige Sperre.<br />
				<br />
		# Die in der Datei stehende Zahl wird um 1 erhöht.<br />
		&#36;ausgabe = &#36;ausgabe+1;<br />
		<br />
		# Cursor wird auf Erste Zeile gesetzt.<br />
		rewind(&#36;file);<br />
		<br />
		# Datei wird überschrieben, mit zuvor ausgelesen Wert +1.<br />
		fputs(&#36;file,&#36;ausgabe);<br />
		<br />
		# Datei wird wieder freigegeben.<br />
		fclose(&#36;file);<br />
	}<br />
?&gt;[/code]<br />
<br />
Wenn man jetzt die index.php aufruft wird nur einmal gezählt es sei den man löscht seine Cookies im Internetbrowser.<br />
<br />
Daher ist diese Variante auch nicht die sicherste aber es gibt ja noch eine die ich in einen andern Tutorial nähr erklären werde ich hoffe hat euch spaß gemacht Feedback wie immer erwünscht <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" />]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Textcounter mit IP Sperre (Cookie)</span><br />
<br />
Wie ich schon in meinen ersten Klickcounter Tutorial berichtete gibt es noch eine zweite alternative.<br />
Was wir benötigen sind wieder Grundkentnisse PHP, beachtet bitte das dieses Tutorial anderst ist als diese die Ihr im Netz so findet bei den meisten Tutorials zum Thema IP-Sperre muss der *setcookie* Part am anfang einer Datei stehen und macht es so fast unmöglich den Text irgendwo in einer Datei auszugeben, dieses Problem habe ich ganz clever gelößt <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
Wir erstellen mal eine index.php.<br />
<br />
mit folgenden Inhalt.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>&lt;?php include("counter.php"); ?&gt;<br />
&lt;html&gt;<br />
 &lt;head&gt;<br />
&nbsp;&nbsp;&lt;title&gt;Netccode Forum, PHP/Tutorial: Textcounter mit IP Sperre (Cookie)&lt;/title&gt;<br />
 &lt;/head&gt;<br />
 &lt;body&gt;<br />
&nbsp;&nbsp;Hallo du bist Besucher Nr. &lt;?php echo &#36;ausgabe; ?&gt; auf meiner Seite.<br />
 &lt;/body&gt;<br />
&lt;/html&gt;</code></div></div><br />
Jetzt würde er die counter.php am Anfang der Datei einfügen und dank<br />
dieser Ausgabe im HTML Code die Ausgabe des Wertes an einer mir zugeordneten Stelle ausgeben.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>&lt;?php echo &#36;ausgabe; ?&gt;</code></div></div><br />
unsere counter.php schaut dan so aus...<br />
<br />
[code=php]&lt;?php<br />
	#############################################<br />
	# Netccode Forum ::  PHP/Tutorial.          #<br />
	# Textcounter mit IP Sperre (Cookie)        #<br />
	#############################################<br />
	<br />
	# Diese Datei muss zwingend schreibrechte besitzen. (CHMOD 777)<br />
	&#36;countfile = "anzahl.txt";<br />
	<br />
	# Wir ermitteln die IP-Adresse des benutzers.<br />
	&#36;ip = &#36;_SERVER[REMOTE_ADDR];<br />
<br />
	# Die Datei wird geöffnet<br />
	&#36;file = fopen("&#36;countfile", "r+");<br />
		<br />
	# Die Datei wird eingelesen<br />
	&#36;ausgabe = fgets(&#36;file,100);<br />
	<br />
	if(isset(&#36;_COOKIE["ipsperre"]))<br />
	{<br />
		// Cookie ist vorhanden (wir machen nix)<br />
	}<br />
	else<br />
	{<br />
		// Cookie ist noch nicht vorhanden.<br />
		<br />
		# Wir setzen einen Cookie (Wert des Cookie, IP-Adresse des Besuchers, Zeit wann gesetzt wurde)<br />
		setcookie ("ipsperre",&#36;ip, time()+86400); // Diese wäre eine 24. stündige Sperre.<br />
				<br />
		# Die in der Datei stehende Zahl wird um 1 erhöht.<br />
		&#36;ausgabe = &#36;ausgabe+1;<br />
		<br />
		# Cursor wird auf Erste Zeile gesetzt.<br />
		rewind(&#36;file);<br />
		<br />
		# Datei wird überschrieben, mit zuvor ausgelesen Wert +1.<br />
		fputs(&#36;file,&#36;ausgabe);<br />
		<br />
		# Datei wird wieder freigegeben.<br />
		fclose(&#36;file);<br />
	}<br />
?&gt;[/code]<br />
<br />
Wenn man jetzt die index.php aufruft wird nur einmal gezählt es sei den man löscht seine Cookies im Internetbrowser.<br />
<br />
Daher ist diese Variante auch nicht die sicherste aber es gibt ja noch eine die ich in einen andern Tutorial nähr erklären werde ich hoffe hat euch spaß gemacht Feedback wie immer erwünscht <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Textcounter ohne IP Sperre (Hitcounter]]></title>
			<link>https://net-board.net/showthread.php?tid=5575</link>
			<pubDate>Wed, 23 May 2007 10:18:08 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">KingGO</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=5575</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Textcounter ohne IP Sperre (Hitcounter)</span><br />
<br />
Einen Textcounter ohne IP-Sperre ist keine große Sache wir benötigen Grundkentnisse PHP um dieses zu bewerkstelligen als nächstes legen wir eine Datei namens counter.php an und öffnen diese mit einen Editor deiner wahl.<br />
<br />
Ich habe den kompletten Sourcecode geschrieben und ausgiebig kommentiert.<br />
<br />
[code=php]&lt;?php<br />
	#############################################<br />
	# Netccode Forum ::  PHP/Tutorial.          #<br />
	# Textcounter ohne IP Sperre (Hitcounter)   #<br />
	#############################################<br />
<br />
	# Diese Datei muss zwingend schreibrechte besitzen. (CHMOD 777)<br />
	&#36;countfile = "anzahl.txt";<br />
<br />
    # Die Datei wird geöffnet<br />
	&#36;file = fopen("&#36;countfile", "r+");<br />
<br />
    # Die Datei wird eingelesen<br />
	&#36;ausgabe = fgets(&#36;file,100);<br />
<br />
    # Die in der Datei stehende Zahl wird um 1 erhöht.<br />
	&#36;ausgabe = &#36;ausgabe+1;<br />
<br />
    # Cursor wird auf Erste Zeile gesetzt.<br />
	rewind(&#36;file);<br />
<br />
    # Datei wird überschrieben, mit zuvor ausgelesen Wert +1.<br />
	fputs(&#36;file,&#36;ausgabe);<br />
<br />
	# Datei wird wieder freigegeben.<br />
	fclose(&#36;file);<br />
	<br />
	# Ausgabe unseres Wertes.<br />
	echo &#36;ausgabe;<br />
?&gt;[/code]<br />
<br />
Dieser Code ist hingegen nur ein Klickcounter das heißt wenn ich die Seite aktuallisiere zählt der Wert immer um einen hoch...<br />
Um dieses zu verhindern gibt es Counter mit IP Sperre doch diese sind auch sehr leicht zu umgehen dieses zeige ich euch aber in einen andern Tutorial.<br />
<br />
Ich hoffe es hat euch spaß gemacht für Feedback wäre ich euch dankbar <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" />]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Textcounter ohne IP Sperre (Hitcounter)</span><br />
<br />
Einen Textcounter ohne IP-Sperre ist keine große Sache wir benötigen Grundkentnisse PHP um dieses zu bewerkstelligen als nächstes legen wir eine Datei namens counter.php an und öffnen diese mit einen Editor deiner wahl.<br />
<br />
Ich habe den kompletten Sourcecode geschrieben und ausgiebig kommentiert.<br />
<br />
[code=php]&lt;?php<br />
	#############################################<br />
	# Netccode Forum ::  PHP/Tutorial.          #<br />
	# Textcounter ohne IP Sperre (Hitcounter)   #<br />
	#############################################<br />
<br />
	# Diese Datei muss zwingend schreibrechte besitzen. (CHMOD 777)<br />
	&#36;countfile = "anzahl.txt";<br />
<br />
    # Die Datei wird geöffnet<br />
	&#36;file = fopen("&#36;countfile", "r+");<br />
<br />
    # Die Datei wird eingelesen<br />
	&#36;ausgabe = fgets(&#36;file,100);<br />
<br />
    # Die in der Datei stehende Zahl wird um 1 erhöht.<br />
	&#36;ausgabe = &#36;ausgabe+1;<br />
<br />
    # Cursor wird auf Erste Zeile gesetzt.<br />
	rewind(&#36;file);<br />
<br />
    # Datei wird überschrieben, mit zuvor ausgelesen Wert +1.<br />
	fputs(&#36;file,&#36;ausgabe);<br />
<br />
	# Datei wird wieder freigegeben.<br />
	fclose(&#36;file);<br />
	<br />
	# Ausgabe unseres Wertes.<br />
	echo &#36;ausgabe;<br />
?&gt;[/code]<br />
<br />
Dieser Code ist hingegen nur ein Klickcounter das heißt wenn ich die Seite aktuallisiere zählt der Wert immer um einen hoch...<br />
Um dieses zu verhindern gibt es Counter mit IP Sperre doch diese sind auch sehr leicht zu umgehen dieses zeige ich euch aber in einen andern Tutorial.<br />
<br />
Ich hoffe es hat euch spaß gemacht für Feedback wäre ich euch dankbar <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[PHP string bereinigen von BBCode???]]></title>
			<link>https://net-board.net/showthread.php?tid=5573</link>
			<pubDate>Mon, 21 May 2007 17:00:46 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">KingGO</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=5573</guid>
			<description><![CDATA[Hallo Leute suche eine function dir mir die gesamten Tags löscht sie sollte es so machen...<br />
<br />
<span style="font-weight: bold;" class="mycode_b">text</span> text sollte erhalten bleiben genau wie [i] [u] das hätt ich mit string replace gemacht nur wie siehts aus mit <div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>******</code></div></div><br />
das wollte ich ersetzen durch in dieser Ansicht wurde das Code Element entfernet...<br />
<br />
wie geht sowas brauche es für einen RSS Feed :/]]></description>
			<content:encoded><![CDATA[Hallo Leute suche eine function dir mir die gesamten Tags löscht sie sollte es so machen...<br />
<br />
<span style="font-weight: bold;" class="mycode_b">text</span> text sollte erhalten bleiben genau wie [i] [u] das hätt ich mit string replace gemacht nur wie siehts aus mit <div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>******</code></div></div><br />
das wollte ich ersetzen durch in dieser Ansicht wurde das Code Element entfernet...<br />
<br />
wie geht sowas brauche es für einen RSS Feed :/]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Dateianhang mit PHP versenden.]]></title>
			<link>https://net-board.net/showthread.php?tid=5563</link>
			<pubDate>Mon, 14 May 2007 17:41:34 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">KingGO</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=5563</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Dateianhang mit PHP versenden.</span><br />
<br />
Ich habe selber eine ganze Zeit nach so einer Lösung gesucht und gesucht und gesucht ich denke mir mal es geht einigen genau wie mir hier habe ich eine Simple Lösung ich weiß nicht mehr ganz genau woher ichs hatte aber tut ja auch nix zur Sache, ich habe diesen Codeschnipsel erfolgreich getestet mit einer *.html endung.<br />
<br />
Man muss diesen Sourcecode dementsprechend anpassen je nachdem was man anhängen will.<br />
<br />
[code=php]<br />
&lt;?php<br />
&#36;file = "pfad/ordner/dateiname.endung";<br />
&#36;file_name = anhangname.html;<br />
&#36;from = "form@domain.de";<br />
&#36;to = to@domain.de;<br />
&#36;message = "Hallo 4name,\n Diese eMail wurde automatisch generiert weil ein neuer Plan eingestellt wurde, eine Kopie befindet sich im Anhang \n";<br />
&#36;boundary = strtoupper(md5(uniqid(time())));<br />
&#36;mail_header  = "From: Anonymous &lt;&#36;from&gt;\n";<br />
&#36;mail_header .= "MIME-Version: 1.0";<br />
&#36;mail_header .= "\nContent-Type: multipart/mixed; boundary=&#36;boundary";<br />
&#36;mail_header .= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";<br />
&#36;mail_header .= "\n--&#36;boundary"; <br />
&#36;mail_header .= "\nContent-Type: text/plain";<br />
&#36;mail_header .= "\nContent-Transfer-Encoding: 8bit";<br />
&#36;mail_header .= "\n\n&#36;message";<br />
&#36;file_content = fread(fopen(&#36;file,"r"),filesize(&#36;file));<br />
&#36;file_content = chunk_split(base64_encode(&#36;file_content));<br />
&#36;mail_header .= "\n--&#36;boundary";<br />
&#36;mail_header .= "\nContent-Type: application/octetstream; name=\"&#36;file_name\"";<br />
&#36;mail_header .= "\nContent-Transfer-Encoding: base64";<br />
&#36;mail_header .= "\nContent-Disposition: attachment; filename=\"&#36;file_name\"";<br />
&#36;mail_header .= "\n\n&#36;file_content";<br />
&#36;mail_header .= "\n--&#36;boundary--";<br />
mail(&#36;to,"Betreff: &#36;file_name",&#36;message,&#36;mail_header);<br />
?&gt;<br />
[/code]]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Dateianhang mit PHP versenden.</span><br />
<br />
Ich habe selber eine ganze Zeit nach so einer Lösung gesucht und gesucht und gesucht ich denke mir mal es geht einigen genau wie mir hier habe ich eine Simple Lösung ich weiß nicht mehr ganz genau woher ichs hatte aber tut ja auch nix zur Sache, ich habe diesen Codeschnipsel erfolgreich getestet mit einer *.html endung.<br />
<br />
Man muss diesen Sourcecode dementsprechend anpassen je nachdem was man anhängen will.<br />
<br />
[code=php]<br />
&lt;?php<br />
&#36;file = "pfad/ordner/dateiname.endung";<br />
&#36;file_name = anhangname.html;<br />
&#36;from = "form@domain.de";<br />
&#36;to = to@domain.de;<br />
&#36;message = "Hallo 4name,\n Diese eMail wurde automatisch generiert weil ein neuer Plan eingestellt wurde, eine Kopie befindet sich im Anhang \n";<br />
&#36;boundary = strtoupper(md5(uniqid(time())));<br />
&#36;mail_header  = "From: Anonymous &lt;&#36;from&gt;\n";<br />
&#36;mail_header .= "MIME-Version: 1.0";<br />
&#36;mail_header .= "\nContent-Type: multipart/mixed; boundary=&#36;boundary";<br />
&#36;mail_header .= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";<br />
&#36;mail_header .= "\n--&#36;boundary"; <br />
&#36;mail_header .= "\nContent-Type: text/plain";<br />
&#36;mail_header .= "\nContent-Transfer-Encoding: 8bit";<br />
&#36;mail_header .= "\n\n&#36;message";<br />
&#36;file_content = fread(fopen(&#36;file,"r"),filesize(&#36;file));<br />
&#36;file_content = chunk_split(base64_encode(&#36;file_content));<br />
&#36;mail_header .= "\n--&#36;boundary";<br />
&#36;mail_header .= "\nContent-Type: application/octetstream; name=\"&#36;file_name\"";<br />
&#36;mail_header .= "\nContent-Transfer-Encoding: base64";<br />
&#36;mail_header .= "\nContent-Disposition: attachment; filename=\"&#36;file_name\"";<br />
&#36;mail_header .= "\n\n&#36;file_content";<br />
&#36;mail_header .= "\n--&#36;boundary--";<br />
mail(&#36;to,"Betreff: &#36;file_name",&#36;message,&#36;mail_header);<br />
?&gt;<br />
[/code]]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Ajax]]></title>
			<link>https://net-board.net/showthread.php?tid=5537</link>
			<pubDate>Fri, 06 Apr 2007 19:36:49 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">Mashoo</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=5537</guid>
			<description><![CDATA[Hey leute!<br />
<br />
Ich fange grade mit Ajax an.<br />
Aus der Vergangenheit weiß ich, dass man oft sehr viel intensiver und erfolgreicher lernen kann wenn man das gelernte gleich reproduziert <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
deswegen dieses kleine Tutorial.<br />
(copyright liegt bei chaim dönnewald - bei verwendung bitte angeben <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /> danke)<br />
Es soll zum einen andern - die sich auch mit Ajax beschäftigen - die möglichkeit geben, einen Einblick u gewinnen und mir selbst abei helfen das gelernte zu verinnerlichen.<br />
<br />
Ich habe mir vorgenommen regelmässig ein bisschen Ajax zu lernen (vielleicht schaffe ich es ja täglich) und hier meine fortschritte in tutorialform zu dokumentieren.<br />
<br />
WEnn sich außer mir auch jemand mit Ajax beschäftigt, würde ich micht echt freuen wenn ihr eurer wissen hier beisteuret <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
so und nun los<br />
Lektion 1  8)<br />
<br />
1. Was ist Ajax?<br />
Ich hasse ja eigentlich solche Einleitung aber na ja ein bisschn "Theoriewissen" sollte vielleiht auch ab und an sein <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /> Ajax ist eine abkürzung für <br />
    * Asyncronous<br />
    * JavaScript<br />
    * and<br />
    * XML<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite> Ajax stellt eine Kombination aus länger existierenden Technologien da. JavaScript wird benutzt um im Browser des Client eine Anfrage zum Server zu stellen. Wenn diese Anfrage vom Server bearbeitet wurde, wird eine Funktion beim Client ausgeführt. Die Nachrichten die der Server verschickt, sind hierbei oft in XML codiert. Die Codierung in XML ist jedoch nicht zwingen, es kann auch eine Codierung als simpler Text erfolgen. XML bietet sich aber an um einen standardisierten Mechanismus zum parsen von Daten zu haben.<br />
<br />
Wie oben bereits erwähnt, führt der Server etwas aus und sendet eine Antwort als XML Dokument. Die Implementierung auf der Serverseite kann in einer beliebigen Programmier oder Skriptsprache realisiert werden. In diesem Tutorial und den Schaubildern verwende ich jedoch PHP als serverseitige Skriptsprache.<br />
<br />
Da die Anforderung vom Browser des Benutzers über JavaScript ausgelöst wird und mit JavaScript auch die Verarbeitung der Antwort erfolgt, ist kein Reload der Webseite notwendig. In modernen Webandwendungen wird diese Technologie gerne benutzt, um ein ähnliche Verhalten der Anwendung wie bei einer herkömlichen Desktopanwendung zu realisieren.<br />
<br />
Da ein gewisser Teil des Codes von Ajax Anwendungen immer ähnlich ist, gibt es im Internet einige Frameworks die die Programmierung von Ajax Anwendungen erleichtern wollen. </blockquote>
 (Quelle: <a href="http://www.admin-wissen.de/tutorials/eigene-tutorials/webentwicklung/ajax-tutorial/einfuehrung-in-ajax/" target="_blank" rel="noopener" class="mycode_url">http://www.admin-wissen.de/tutorials/eig...g-in-ajax/</a>) <br />
<br />
Hier habe ich ein ein Beispiel auf englisch gefunden: <a href="http://www.sematopia.com/?p=34" target="_blank" rel="noopener" class="mycode_url">http://www.sematopia.com/?p=34</a><br />
<br />
Dieses wollte ich nun genauer erklären <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
(es wird darauf hingewiesen, dass das Beispiel nur im firefox geht... laut drweb.de soll es aber auch im IE geben, wenn man javascript anpasst)<br />
<br />
zum testen hab ich das ganze mal hier installiert:<br />
<a href="http://www.kayela.de/ajax" target="_blank" rel="noopener" class="mycode_url">http://www.kayela.de/ajax</a><br />
<br />
Wir ihr seht, sind auf der Seite 2 verschiedene Arten darsgestellt um zwei Zahlen miteinder zu multiplizieren.<br />
<br />
Die klassische Methode mit PHP<br />
<br />
-&gt; Beide zahlen werden innerhalb einer Funktion miteinander multipliziert und das ergebnis im nebenstehenden feld angezeigt<br />
<br />
Die Ajaxmethode:<br />
im prinzip das selbe, der unterschied <span style="font-weight: bold;" class="mycode_b">die webseite muss nicht neu geladen werden !!!</span><br />
<br />
So gehen wir mal den Code durch <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
Die index.php Datei.<br />
<br />
[code=php]<br />
include("ajaxClass.php");<br />
<br />
&#36;objSem = new ajax;<br />
&#36;objSem-&gt;readURLParameters();<br />
&#36;objSem-&gt;staticExample();<br />
<br />
echo &#36;objSem-&gt;result;<br />
[/code]<br />
<br />
Die Klasse ajaxClass.php wird geladen.<br />
<br />
(Der Rest der Index.php steht etwas weiter unten)<br />
<br />
Nun kommt ein wenig <span style="font-weight: bold;" class="mycode_b">OOP</span> Objekt orientierte Programmierung<br />
Eine neue Instanz der Klasse Ajax wird erzeugt und die beiden funktionen readURLParameters(); und staticExample(); werden bearbeitet. am ende wird das ergebnis ausgegeben.<br />
<br />
So die Funktionen findet ihr wo?<br />
Natürlich in der ajaxClass.php <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
hier der Code:<br />
[code=php]&lt;?php<br />
<br />
class ajax {<br />
<br />
	var &#36;queryParam = array();<br />
	var &#36;result = 0;<br />
	var &#36;num1 = 0;<br />
	var &#36;num2 = 0;<br />
<br />
	function readURLParameters() {<br />
		&#36;qstr = explode("&amp;", &#36;_SERVER['QUERY_STRING']);<br />
		foreach (&#36;qstr as &#36;value) {<br />
			&#36;paramVal = explode("=",&#36;value);<br />
			if (array_key_exists(1,&#36;paramVal)) {<br />
				&#36;this-&gt;queryParam[&#36;paramVal[0]] = &#36;paramVal[1];<br />
			}<br />
		}<br />
	}<br />
<br />
	function staticExample() {<br />
		if (array_key_exists("num1",&#36;this-&gt;queryParam) &amp; array_key_exists("num2",&#36;this-&gt;queryParam)) {<br />
			&#36;this-&gt;result = &#36;this-&gt;queryParam["num1"] * &#36;this-&gt;queryParam["num2"];<br />
			&#36;this-&gt;num1 = &#36;this-&gt;queryParam["num1"];<br />
			&#36;this-&gt;num2 = &#36;this-&gt;queryParam["num2"];<br />
		}<br />
	}<br />
<br />
}<br />
?&gt;[/code]<br />
<br />
Sooo dann gehen wir mal schritt für schritt durch<br />
<br />
Also erstmal hier findet ihr die beiden <span style="font-weight: bold;" class="mycode_b">Funktionen</span> die erste liest die Parameter aus der URL aus<br />
<br />
--&gt; Bei der Abfragae über das PHP Beispiel werden die eingegebenen Werte in die URL übertragen, diese müssen dann noch vom Skript wieder aus der URL ausgelesen werden um verarbeitet werden zu können! Dies tut diese Funktion!<br />
Ich werde jetzt nicht näher auf diese Funktion eingehen, weil es sich dabei nur um PHP handelt <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
Funktion 2<br />
staticExample<br />
<br />
wie dr Name schon sagt, ist sie für das Standard Beispiel zuständig, also das Beispiel mit PHP <br />
hier brauch ich wohl auch nicht näher drauf eingehen? Im Prinzip multipliziert sie nur auf klassischem wege also zahl1 * zahl2 und speichert das ergebnis in einer neuen Variable<br />
<br />
so um nochmal auf die Index.php zurück zu kommen <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
der restliche code<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>&lt;html&gt;<br />
&lt;script src="ajax.js" type="text/javascript"&gt;&lt;/script&gt;<br />
&lt;body&gt;<br />
&lt;br&gt;&lt;br&gt;<br />
&lt;p&gt;AJAX Example:&lt;/p&gt;<br />
&lt;form name="form1" action="" onsubmit="return ajax_call()"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="num1" id="num1"&gt;&lt;/input&gt; *<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="num2" id="num2"&gt;&lt;/input&gt; = <br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="result" id="result"&gt;&lt;/input&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="submit" name="semajax" value="AJAX"&gt;&lt;/input&gt;<br />
&lt;/form&gt;<br />
&lt;!-- --&gt;<br />
&lt;br&gt;&lt;br&gt;<br />
&lt;p&gt;Standard Example:&lt;/p&gt;<br />
&lt;form name="form1" action="index.php"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="num1" id="num1" value=&lt;? echo &#36;objSem-&gt;num1 ?&gt;&gt;&lt;/input&gt; *<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="num2" id="num2" value=&lt;? echo &#36;objSem-&gt;num2 ?&gt;&gt;&lt;/input&gt; = <br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="result" id="result" value=&lt;? echo &#36;objSem-&gt;result ?&gt;&gt;&lt;/input&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="submit" name="semajax" value="Standard"&gt;&lt;/input&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></div></div><br />
Das meiste ist ja üblicher HTMl Code dürfte also nicht so schwer sein <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
wichtig ist:<br />
Die ajax.js Datei wird geladen<br />
Es werden zwei formulare erstellt (im PHP Formular werden die eingegeben werte - sofern vorhanden - als standardwerte eingetragen) <br />
<br />
und:<br />
Das Standardformular schickt die Eingaben an die Seite ! <br />
Deswegen wird die Page neu geladen !<br />
Das Ajax Formular hingegen sendet die Eingaben an die Funktion <span style="font-weight: bold;" class="mycode_b">return ajax_call()</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Die eigentliche Ajax datei</span><br />
hier die ajax.js<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>var xmlhttp=false;<br />
<br />
if (!xmlhttp &amp;&amp; typeof XMLHttpRequest!='undefined') {<br />
&nbsp;&nbsp;xmlhttp = new XMLHttpRequest();<br />
}<br />
<br />
function ajax_call() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.open("GET", 'ajaxWork.php?num1=' + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('num1').value + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&amp;num2=' + document.getElementById('num2').value , true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.onreadystatechange=function() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (xmlhttp.readyState==4) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('result').value = xmlhttp.responseText;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.send(null)<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
}</code></div></div><br />
Ok wahrscheinlich gehts euch so wie mir und das ganze sieht auf den ersten Blick zwar irgendwie vertraut (Die Syntax kennt man ja auch Javascript) aber dennoch verwirrend aus <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
deswegen eins nach dem anderen<br />
<br />
Zuerst wird die Variable <span style="font-weight: bold;" class="mycode_b">var xmlhttp</span> auf <span style="font-weight: bold;" class="mycode_b">false</span> gesetzt<br />
ich hab dann auch gleich mal gegoogled und folgendes ist heraus gekommen  8)<br />
<a href="http://de.wikipedia.org/wiki/XMLHttpRequest" target="_blank" rel="noopener" class="mycode_url">http://de.wikipedia.org/wiki/XMLHttpRequest</a><br />
<br />
Hier wird erklärt worum es geht<br />
ich fasse mal eben zusammen<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>XMLHttpRequest ermöglicht einem Skript einer Webseite, Daten dynamisch vom Webserver abzurufen, ohne dass dazu die Seite neu geladen werden müsste</blockquote>
<span style="font-weight: bold;" class="mycode_b"> Das haben wir ja in unserem Beispiel </span><br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>Da XMLHttpRequest Anfragen asynchron verarbeiten kann, muss ein Script nicht warten, bis die Anfrage beantwortet ist, sondern kann solange andere Aufgaben abarbeiten.</blockquote>
<span style="font-weight: bold;" class="mycode_b"> Da spart man ja richtig Zeit  <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /> </span><br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>Trotz der guten Verfügbarkeit der API in neueren Browsern wird an ihr auch Kritik geübt, da es schwierig ist, Webseiten, die XMLHttpRequest einsetzen, auch älteren Browsern in vollem Umfang zugänglich zu machen. (...) Ein weiterer Kritikpunkt ist, dass sich Web-Anwendungen, die auf XMLHttpRequest setzen, nur schwer barrierefrei umsetzen lassen.</blockquote>
Aus meiner Sicht beides nicht unwichtige Kritikpunkte. Bei Punkt eins sage ich mal: Es kommt auf die Zielgruppe an, wenn man Ajax auf einer Tutorialpage o.ä. anwenden will kannman eigentlich davon ausgehen, dass die Besuhcer über neuere Browser etc verfügen... <br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>if (!xmlhttp &amp;&amp; typeof XMLHttpRequest!='undefined') {<br />
&nbsp;&nbsp;xmlhttp = new XMLHttpRequest();<br />
}</code></div></div><br />
Wenn also die Variable xmlhttp leer ist und XMLHttpRequest noch nicht definiert wurden:<br />
<br />
Wird der Variable xmthttp eine neue instanz der klasse XMLHttPRequest zugeteilt. <br />
Dabei handelt es sich um eine vorgefertigte klasse (müsste so sein oder?)<br />
Wenn ich das richtig verstanden habe ist ja XMLHttpRequest die Anfrage die an das Skript gesendet wurde, also speichert die Variable xmlhttp nun alle eingaben<br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>function ajax_call() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.open("GET", 'ajaxWork.php?num1=' + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('num1').value + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&amp;num2=' + document.getElementById('num2').value , true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.onreadystatechange=function() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (xmlhttp.readyState==4) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('result').value = xmlhttp.responseText;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.send(null)<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
}</code></div></div>Hier nun endlich das Herzstück der Arbeit <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
Die Funktion ajax_call<br />
<br />
1. Sie öffnet aus der Variablen xmlhttp (die ja die Anfrage speichert) die Werte aus dem Formular die sich in den Feldern num1 und num2 und multipliziert sie miteinander<br />
2. "onreadystatechange" <br />
<br />
Dazu:<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>An dieser Stelle muss man dem HTTP Request-Objekt lediglich mitteilen, welche JavaScript-Funktion die Antwort abarbeiten soll. Dies erreicht man, indem man die onreadystatechange-Eigenschaft des Objektes genauso nennt wie die JavaScript-Funktion, welche man benutzen möchte (...) </blockquote>
 (<a href="http://developer.mozilla.org/de/docs/AJAX:Getting_Started" target="_blank" rel="noopener" class="mycode_url">http://developer.mozilla.org/de/docs/AJA...ng_Started</a>)<br />
<br />
Dieser teil hier if (xmlhttp.readyState==4) { prüft ob die xmlhttp überhaupt VOLLSTÄNDIG ist (siehe dazu einfach wieder <a href="http://developer.mozilla.org/de/docs/AJAX:Getting_Started" target="_blank" rel="noopener" class="mycode_url">http://developer.mozilla.org/de/docs/AJA...ng_Started</a> )<br />
Wenn alles klappt sendet er danach alles wieder an das Formular dabei ird der wert von "result" auf das ergebnis gesetzt <br />
<br />
und vóila <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<br />
so und das war vielleicht etwas trocken.... <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /> deswegen kommt im nächsten beitrag etwas selbst erprobtes <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<br />
<br />
<br />
Kommentare, Fragen, Korrekture, Ergänzungen?]]></description>
			<content:encoded><![CDATA[Hey leute!<br />
<br />
Ich fange grade mit Ajax an.<br />
Aus der Vergangenheit weiß ich, dass man oft sehr viel intensiver und erfolgreicher lernen kann wenn man das gelernte gleich reproduziert <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
deswegen dieses kleine Tutorial.<br />
(copyright liegt bei chaim dönnewald - bei verwendung bitte angeben <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /> danke)<br />
Es soll zum einen andern - die sich auch mit Ajax beschäftigen - die möglichkeit geben, einen Einblick u gewinnen und mir selbst abei helfen das gelernte zu verinnerlichen.<br />
<br />
Ich habe mir vorgenommen regelmässig ein bisschen Ajax zu lernen (vielleicht schaffe ich es ja täglich) und hier meine fortschritte in tutorialform zu dokumentieren.<br />
<br />
WEnn sich außer mir auch jemand mit Ajax beschäftigt, würde ich micht echt freuen wenn ihr eurer wissen hier beisteuret <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
so und nun los<br />
Lektion 1  8)<br />
<br />
1. Was ist Ajax?<br />
Ich hasse ja eigentlich solche Einleitung aber na ja ein bisschn "Theoriewissen" sollte vielleiht auch ab und an sein <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /> Ajax ist eine abkürzung für <br />
    * Asyncronous<br />
    * JavaScript<br />
    * and<br />
    * XML<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite> Ajax stellt eine Kombination aus länger existierenden Technologien da. JavaScript wird benutzt um im Browser des Client eine Anfrage zum Server zu stellen. Wenn diese Anfrage vom Server bearbeitet wurde, wird eine Funktion beim Client ausgeführt. Die Nachrichten die der Server verschickt, sind hierbei oft in XML codiert. Die Codierung in XML ist jedoch nicht zwingen, es kann auch eine Codierung als simpler Text erfolgen. XML bietet sich aber an um einen standardisierten Mechanismus zum parsen von Daten zu haben.<br />
<br />
Wie oben bereits erwähnt, führt der Server etwas aus und sendet eine Antwort als XML Dokument. Die Implementierung auf der Serverseite kann in einer beliebigen Programmier oder Skriptsprache realisiert werden. In diesem Tutorial und den Schaubildern verwende ich jedoch PHP als serverseitige Skriptsprache.<br />
<br />
Da die Anforderung vom Browser des Benutzers über JavaScript ausgelöst wird und mit JavaScript auch die Verarbeitung der Antwort erfolgt, ist kein Reload der Webseite notwendig. In modernen Webandwendungen wird diese Technologie gerne benutzt, um ein ähnliche Verhalten der Anwendung wie bei einer herkömlichen Desktopanwendung zu realisieren.<br />
<br />
Da ein gewisser Teil des Codes von Ajax Anwendungen immer ähnlich ist, gibt es im Internet einige Frameworks die die Programmierung von Ajax Anwendungen erleichtern wollen. </blockquote>
 (Quelle: <a href="http://www.admin-wissen.de/tutorials/eigene-tutorials/webentwicklung/ajax-tutorial/einfuehrung-in-ajax/" target="_blank" rel="noopener" class="mycode_url">http://www.admin-wissen.de/tutorials/eig...g-in-ajax/</a>) <br />
<br />
Hier habe ich ein ein Beispiel auf englisch gefunden: <a href="http://www.sematopia.com/?p=34" target="_blank" rel="noopener" class="mycode_url">http://www.sematopia.com/?p=34</a><br />
<br />
Dieses wollte ich nun genauer erklären <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
(es wird darauf hingewiesen, dass das Beispiel nur im firefox geht... laut drweb.de soll es aber auch im IE geben, wenn man javascript anpasst)<br />
<br />
zum testen hab ich das ganze mal hier installiert:<br />
<a href="http://www.kayela.de/ajax" target="_blank" rel="noopener" class="mycode_url">http://www.kayela.de/ajax</a><br />
<br />
Wir ihr seht, sind auf der Seite 2 verschiedene Arten darsgestellt um zwei Zahlen miteinder zu multiplizieren.<br />
<br />
Die klassische Methode mit PHP<br />
<br />
-&gt; Beide zahlen werden innerhalb einer Funktion miteinander multipliziert und das ergebnis im nebenstehenden feld angezeigt<br />
<br />
Die Ajaxmethode:<br />
im prinzip das selbe, der unterschied <span style="font-weight: bold;" class="mycode_b">die webseite muss nicht neu geladen werden !!!</span><br />
<br />
So gehen wir mal den Code durch <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
Die index.php Datei.<br />
<br />
[code=php]<br />
include("ajaxClass.php");<br />
<br />
&#36;objSem = new ajax;<br />
&#36;objSem-&gt;readURLParameters();<br />
&#36;objSem-&gt;staticExample();<br />
<br />
echo &#36;objSem-&gt;result;<br />
[/code]<br />
<br />
Die Klasse ajaxClass.php wird geladen.<br />
<br />
(Der Rest der Index.php steht etwas weiter unten)<br />
<br />
Nun kommt ein wenig <span style="font-weight: bold;" class="mycode_b">OOP</span> Objekt orientierte Programmierung<br />
Eine neue Instanz der Klasse Ajax wird erzeugt und die beiden funktionen readURLParameters(); und staticExample(); werden bearbeitet. am ende wird das ergebnis ausgegeben.<br />
<br />
So die Funktionen findet ihr wo?<br />
Natürlich in der ajaxClass.php <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
hier der Code:<br />
[code=php]&lt;?php<br />
<br />
class ajax {<br />
<br />
	var &#36;queryParam = array();<br />
	var &#36;result = 0;<br />
	var &#36;num1 = 0;<br />
	var &#36;num2 = 0;<br />
<br />
	function readURLParameters() {<br />
		&#36;qstr = explode("&amp;", &#36;_SERVER['QUERY_STRING']);<br />
		foreach (&#36;qstr as &#36;value) {<br />
			&#36;paramVal = explode("=",&#36;value);<br />
			if (array_key_exists(1,&#36;paramVal)) {<br />
				&#36;this-&gt;queryParam[&#36;paramVal[0]] = &#36;paramVal[1];<br />
			}<br />
		}<br />
	}<br />
<br />
	function staticExample() {<br />
		if (array_key_exists("num1",&#36;this-&gt;queryParam) &amp; array_key_exists("num2",&#36;this-&gt;queryParam)) {<br />
			&#36;this-&gt;result = &#36;this-&gt;queryParam["num1"] * &#36;this-&gt;queryParam["num2"];<br />
			&#36;this-&gt;num1 = &#36;this-&gt;queryParam["num1"];<br />
			&#36;this-&gt;num2 = &#36;this-&gt;queryParam["num2"];<br />
		}<br />
	}<br />
<br />
}<br />
?&gt;[/code]<br />
<br />
Sooo dann gehen wir mal schritt für schritt durch<br />
<br />
Also erstmal hier findet ihr die beiden <span style="font-weight: bold;" class="mycode_b">Funktionen</span> die erste liest die Parameter aus der URL aus<br />
<br />
--&gt; Bei der Abfragae über das PHP Beispiel werden die eingegebenen Werte in die URL übertragen, diese müssen dann noch vom Skript wieder aus der URL ausgelesen werden um verarbeitet werden zu können! Dies tut diese Funktion!<br />
Ich werde jetzt nicht näher auf diese Funktion eingehen, weil es sich dabei nur um PHP handelt <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
Funktion 2<br />
staticExample<br />
<br />
wie dr Name schon sagt, ist sie für das Standard Beispiel zuständig, also das Beispiel mit PHP <br />
hier brauch ich wohl auch nicht näher drauf eingehen? Im Prinzip multipliziert sie nur auf klassischem wege also zahl1 * zahl2 und speichert das ergebnis in einer neuen Variable<br />
<br />
so um nochmal auf die Index.php zurück zu kommen <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
der restliche code<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>&lt;html&gt;<br />
&lt;script src="ajax.js" type="text/javascript"&gt;&lt;/script&gt;<br />
&lt;body&gt;<br />
&lt;br&gt;&lt;br&gt;<br />
&lt;p&gt;AJAX Example:&lt;/p&gt;<br />
&lt;form name="form1" action="" onsubmit="return ajax_call()"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="num1" id="num1"&gt;&lt;/input&gt; *<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="num2" id="num2"&gt;&lt;/input&gt; = <br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="result" id="result"&gt;&lt;/input&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="submit" name="semajax" value="AJAX"&gt;&lt;/input&gt;<br />
&lt;/form&gt;<br />
&lt;!-- --&gt;<br />
&lt;br&gt;&lt;br&gt;<br />
&lt;p&gt;Standard Example:&lt;/p&gt;<br />
&lt;form name="form1" action="index.php"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="num1" id="num1" value=&lt;? echo &#36;objSem-&gt;num1 ?&gt;&gt;&lt;/input&gt; *<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="num2" id="num2" value=&lt;? echo &#36;objSem-&gt;num2 ?&gt;&gt;&lt;/input&gt; = <br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text" name="result" id="result" value=&lt;? echo &#36;objSem-&gt;result ?&gt;&gt;&lt;/input&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="submit" name="semajax" value="Standard"&gt;&lt;/input&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></div></div><br />
Das meiste ist ja üblicher HTMl Code dürfte also nicht so schwer sein <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
wichtig ist:<br />
Die ajax.js Datei wird geladen<br />
Es werden zwei formulare erstellt (im PHP Formular werden die eingegeben werte - sofern vorhanden - als standardwerte eingetragen) <br />
<br />
und:<br />
Das Standardformular schickt die Eingaben an die Seite ! <br />
Deswegen wird die Page neu geladen !<br />
Das Ajax Formular hingegen sendet die Eingaben an die Funktion <span style="font-weight: bold;" class="mycode_b">return ajax_call()</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Die eigentliche Ajax datei</span><br />
hier die ajax.js<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>var xmlhttp=false;<br />
<br />
if (!xmlhttp &amp;&amp; typeof XMLHttpRequest!='undefined') {<br />
&nbsp;&nbsp;xmlhttp = new XMLHttpRequest();<br />
}<br />
<br />
function ajax_call() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.open("GET", 'ajaxWork.php?num1=' + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('num1').value + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&amp;num2=' + document.getElementById('num2').value , true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.onreadystatechange=function() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (xmlhttp.readyState==4) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('result').value = xmlhttp.responseText;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.send(null)<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
}</code></div></div><br />
Ok wahrscheinlich gehts euch so wie mir und das ganze sieht auf den ersten Blick zwar irgendwie vertraut (Die Syntax kennt man ja auch Javascript) aber dennoch verwirrend aus <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
deswegen eins nach dem anderen<br />
<br />
Zuerst wird die Variable <span style="font-weight: bold;" class="mycode_b">var xmlhttp</span> auf <span style="font-weight: bold;" class="mycode_b">false</span> gesetzt<br />
ich hab dann auch gleich mal gegoogled und folgendes ist heraus gekommen  8)<br />
<a href="http://de.wikipedia.org/wiki/XMLHttpRequest" target="_blank" rel="noopener" class="mycode_url">http://de.wikipedia.org/wiki/XMLHttpRequest</a><br />
<br />
Hier wird erklärt worum es geht<br />
ich fasse mal eben zusammen<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>XMLHttpRequest ermöglicht einem Skript einer Webseite, Daten dynamisch vom Webserver abzurufen, ohne dass dazu die Seite neu geladen werden müsste</blockquote>
<span style="font-weight: bold;" class="mycode_b"> Das haben wir ja in unserem Beispiel </span><br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>Da XMLHttpRequest Anfragen asynchron verarbeiten kann, muss ein Script nicht warten, bis die Anfrage beantwortet ist, sondern kann solange andere Aufgaben abarbeiten.</blockquote>
<span style="font-weight: bold;" class="mycode_b"> Da spart man ja richtig Zeit  <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /> </span><br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>Trotz der guten Verfügbarkeit der API in neueren Browsern wird an ihr auch Kritik geübt, da es schwierig ist, Webseiten, die XMLHttpRequest einsetzen, auch älteren Browsern in vollem Umfang zugänglich zu machen. (...) Ein weiterer Kritikpunkt ist, dass sich Web-Anwendungen, die auf XMLHttpRequest setzen, nur schwer barrierefrei umsetzen lassen.</blockquote>
Aus meiner Sicht beides nicht unwichtige Kritikpunkte. Bei Punkt eins sage ich mal: Es kommt auf die Zielgruppe an, wenn man Ajax auf einer Tutorialpage o.ä. anwenden will kannman eigentlich davon ausgehen, dass die Besuhcer über neuere Browser etc verfügen... <br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>if (!xmlhttp &amp;&amp; typeof XMLHttpRequest!='undefined') {<br />
&nbsp;&nbsp;xmlhttp = new XMLHttpRequest();<br />
}</code></div></div><br />
Wenn also die Variable xmlhttp leer ist und XMLHttpRequest noch nicht definiert wurden:<br />
<br />
Wird der Variable xmthttp eine neue instanz der klasse XMLHttPRequest zugeteilt. <br />
Dabei handelt es sich um eine vorgefertigte klasse (müsste so sein oder?)<br />
Wenn ich das richtig verstanden habe ist ja XMLHttpRequest die Anfrage die an das Skript gesendet wurde, also speichert die Variable xmlhttp nun alle eingaben<br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>function ajax_call() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.open("GET", 'ajaxWork.php?num1=' + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('num1').value + <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&amp;num2=' + document.getElementById('num2').value , true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.onreadystatechange=function() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (xmlhttp.readyState==4) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('result').value = xmlhttp.responseText;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlhttp.send(null)<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
}</code></div></div>Hier nun endlich das Herzstück der Arbeit <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
Die Funktion ajax_call<br />
<br />
1. Sie öffnet aus der Variablen xmlhttp (die ja die Anfrage speichert) die Werte aus dem Formular die sich in den Feldern num1 und num2 und multipliziert sie miteinander<br />
2. "onreadystatechange" <br />
<br />
Dazu:<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>An dieser Stelle muss man dem HTTP Request-Objekt lediglich mitteilen, welche JavaScript-Funktion die Antwort abarbeiten soll. Dies erreicht man, indem man die onreadystatechange-Eigenschaft des Objektes genauso nennt wie die JavaScript-Funktion, welche man benutzen möchte (...) </blockquote>
 (<a href="http://developer.mozilla.org/de/docs/AJAX:Getting_Started" target="_blank" rel="noopener" class="mycode_url">http://developer.mozilla.org/de/docs/AJA...ng_Started</a>)<br />
<br />
Dieser teil hier if (xmlhttp.readyState==4) { prüft ob die xmlhttp überhaupt VOLLSTÄNDIG ist (siehe dazu einfach wieder <a href="http://developer.mozilla.org/de/docs/AJAX:Getting_Started" target="_blank" rel="noopener" class="mycode_url">http://developer.mozilla.org/de/docs/AJA...ng_Started</a> )<br />
Wenn alles klappt sendet er danach alles wieder an das Formular dabei ird der wert von "result" auf das ergebnis gesetzt <br />
<br />
und vóila <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<br />
so und das war vielleicht etwas trocken.... <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /> deswegen kommt im nächsten beitrag etwas selbst erprobtes <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<br />
<br />
<br />
Kommentare, Fragen, Korrekture, Ergänzungen?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Einführung in Java]]></title>
			<link>https://net-board.net/showthread.php?tid=5386</link>
			<pubDate>Tue, 13 Jun 2006 14:25:12 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=1">pattex</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=5386</guid>
			<description><![CDATA[Da wir Java auch gerade in der Schule behandeln dachte ich mir, wäre es doch nicht schlecht mal eine Einführung in Java zu geben. Dabei beschränke ich mich wirklich auf sehr einfache Dinge.<br />
<br />
<br />
<span style="font-size: 16pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Grundlegendes</span></span><br />
1. <span style="font-weight: bold;" class="mycode_b">Java auf Windows Rechner installieren</span><br />
Dazu empfehle ich einfach mal diesen Link: <a href="http://www.pohlig.de/Informatik/JavaUmgebung/index.htm" target="_blank" rel="noopener" class="mycode_url">http://www.pohlig.de/Informatik/JavaUmgebung/index.htm</a><br />
Alles sehr genau beschrieben wie man Java auf einem Windows Rechner installiert.<br />
<br />
2. <span style="font-weight: bold;" class="mycode_b">Software um Java zu programmieren</span><br />
Wir arbeiten mit dem <span style="text-decoration: underline;" class="mycode_u"><a href="http://www.bildung.hessen.de/abereich/inform/skii/material/java/editor.htm" target="_blank" rel="noopener" class="mycode_url">Java Editor</a></span>. Damit bin ich auch recht zufrieden. Es ist möglich, direkt im Editor sein Program zu kompilieren und anzuschauen.<br />
<br />
<br />
<span style="font-size: 16pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Programmieren</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">While-Schleifen</span><br />
Das Gerüst für while-Schleifen sieht folgendermaßen aus:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>while ( Bedingung )<br />
&nbsp;&nbsp;{ Auszuführendes1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Auszuführendes2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;...<br />
&nbsp;&nbsp;}</code></div></div><br />
Dies bedeutet: der Teil, der zwischen <span style="font-weight: bold;" class="mycode_b">{</span> und <span style="font-weight: bold;" class="mycode_b">}</span> steht wird so lange ausgeführt bis die Bedingung nicht mehr wahr ist.<br />
würde die Schleife lauten:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>while (1==2){<br />
Auszuführender Teil<br />
}</code></div></div>so würde der Teil zwischen <span style="font-weight: bold;" class="mycode_b">{</span> und <span style="font-weight: bold;" class="mycode_b">}</span> nie ausgeführt. Da 1 ja nicht 2 ist.<br />
<br />
___________________________________________________________<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Ausgabe von Texten</span><br />
Wir benötigen in jedem Programm eine Ausgabe. Dies geschieht durch folgende Funktion:<br />
<span style="font-weight: bold;" class="mycode_b">System.out.println("Dein Text");</span><br />
Auf dem Bildschirm erscheint dann: Dein Text. Also alles, was in den Anführungszeichen steht. Anschließend folgt eine neue Zeile. Lässt man das "ln" weg erscheint diese nicht.<br />
<span style="font-weight: bold;" class="mycode_b">System.out.println("Dein Text " + Variable + " noch ein Text");</span><br />
Auf dem Bildschirm würde dann erscheinen: Dein Text "der Wert deiner Variable Variable" noch ein Text.<br />
Um Variablen einzufügen muss man sie mit + in oder an den Ausdruck hängen.<br />
<span style="font-weight: bold;" class="mycode_b">System.out.println(Variable);</span><br />
Gibt nur den Wert der Variable Variable aus.<br />
<br />
___________________________________________________________<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Einlesen von Tastatur</span><br />
Um von der Tastatur eine Zahle, einen String oder sonstiges einzulesen benötigen wir folgenden Ausdruck:<br />
<span style="font-weight: bold;" class="mycode_b">Scanner scan = new Scanner(System.in);</span><br />
diesen Teil lassen wir unkommentiert so stehen. Er ist einfach erforderlich für das Einlesen.<br />
<span style="font-weight: bold;" class="mycode_b">Variable=scan.nextInt();</span><br />
Die Variable wird gefüllt mit einer ganzen Zahl. Aus der Eingabe wird die erste Zahl ausgelesen und in die Variable eingetragen.<br />
<span style="font-weight: bold;" class="mycode_b">Variable=scan.next();</span><br />
Die Variable wird mit dem ganzen Ausdruck gefüllt (erfordert einen String als Variable)<br />
<span style="font-weight: bold;" class="mycode_b">Variable=scan.nextDouble();</span><br />
Sucht nach der ersten beliebigen Zahl in dem Ausdruck und füllt damit die Variable (z.b. 4,5, erfordert double).<br />
<br />
Über dem ganzen Programm muss stehen: import java.util.Scanner; damit er die Klasse Scanner überhaupt findet.<br />
<br />
___________________________________________________________<br />
<br />
<span style="font-weight: bold;" class="mycode_b">If-Else</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>if(netboard==gut){<br />
System.out.println("Wir tun unser Bestes");<br />
}</code></div></div>Als Ausgabe wird dann erscheinen: "Wir tun unser Bestes" wenn du das netboard gut findest. Oder um es etwas klarer auszudrücken: Wenn die Bedingung erfüllt ist dann arbeitet das Programm den Teil in den Klammern <span style="font-weight: bold;" class="mycode_b">{ }</span> ab. Mit else lässt sich festlegen was stattdessen gemacht wird.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>if(netboard==gut){<br />
System.out.println("Wir tun unser Bestes");<br />
}<br />
else{<br />
System.out.println("Dann ändern wir es");<br />
}</code></div></div>Ist es also nicht gut bzw. ist die Bedingung nicht erfüllt dann wird das abgearbeitet, was zwischen den Klammern nach <span style="font-weight: bold;" class="mycode_b">else</span> steht.<br />
<br />
<br />
Bis hierhin erstma. Bei Fragen einfach posten. Nach und nach kommen weitere Themen hinzu.]]></description>
			<content:encoded><![CDATA[Da wir Java auch gerade in der Schule behandeln dachte ich mir, wäre es doch nicht schlecht mal eine Einführung in Java zu geben. Dabei beschränke ich mich wirklich auf sehr einfache Dinge.<br />
<br />
<br />
<span style="font-size: 16pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Grundlegendes</span></span><br />
1. <span style="font-weight: bold;" class="mycode_b">Java auf Windows Rechner installieren</span><br />
Dazu empfehle ich einfach mal diesen Link: <a href="http://www.pohlig.de/Informatik/JavaUmgebung/index.htm" target="_blank" rel="noopener" class="mycode_url">http://www.pohlig.de/Informatik/JavaUmgebung/index.htm</a><br />
Alles sehr genau beschrieben wie man Java auf einem Windows Rechner installiert.<br />
<br />
2. <span style="font-weight: bold;" class="mycode_b">Software um Java zu programmieren</span><br />
Wir arbeiten mit dem <span style="text-decoration: underline;" class="mycode_u"><a href="http://www.bildung.hessen.de/abereich/inform/skii/material/java/editor.htm" target="_blank" rel="noopener" class="mycode_url">Java Editor</a></span>. Damit bin ich auch recht zufrieden. Es ist möglich, direkt im Editor sein Program zu kompilieren und anzuschauen.<br />
<br />
<br />
<span style="font-size: 16pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Programmieren</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">While-Schleifen</span><br />
Das Gerüst für while-Schleifen sieht folgendermaßen aus:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>while ( Bedingung )<br />
&nbsp;&nbsp;{ Auszuführendes1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Auszuführendes2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;...<br />
&nbsp;&nbsp;}</code></div></div><br />
Dies bedeutet: der Teil, der zwischen <span style="font-weight: bold;" class="mycode_b">{</span> und <span style="font-weight: bold;" class="mycode_b">}</span> steht wird so lange ausgeführt bis die Bedingung nicht mehr wahr ist.<br />
würde die Schleife lauten:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>while (1==2){<br />
Auszuführender Teil<br />
}</code></div></div>so würde der Teil zwischen <span style="font-weight: bold;" class="mycode_b">{</span> und <span style="font-weight: bold;" class="mycode_b">}</span> nie ausgeführt. Da 1 ja nicht 2 ist.<br />
<br />
___________________________________________________________<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Ausgabe von Texten</span><br />
Wir benötigen in jedem Programm eine Ausgabe. Dies geschieht durch folgende Funktion:<br />
<span style="font-weight: bold;" class="mycode_b">System.out.println("Dein Text");</span><br />
Auf dem Bildschirm erscheint dann: Dein Text. Also alles, was in den Anführungszeichen steht. Anschließend folgt eine neue Zeile. Lässt man das "ln" weg erscheint diese nicht.<br />
<span style="font-weight: bold;" class="mycode_b">System.out.println("Dein Text " + Variable + " noch ein Text");</span><br />
Auf dem Bildschirm würde dann erscheinen: Dein Text "der Wert deiner Variable Variable" noch ein Text.<br />
Um Variablen einzufügen muss man sie mit + in oder an den Ausdruck hängen.<br />
<span style="font-weight: bold;" class="mycode_b">System.out.println(Variable);</span><br />
Gibt nur den Wert der Variable Variable aus.<br />
<br />
___________________________________________________________<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Einlesen von Tastatur</span><br />
Um von der Tastatur eine Zahle, einen String oder sonstiges einzulesen benötigen wir folgenden Ausdruck:<br />
<span style="font-weight: bold;" class="mycode_b">Scanner scan = new Scanner(System.in);</span><br />
diesen Teil lassen wir unkommentiert so stehen. Er ist einfach erforderlich für das Einlesen.<br />
<span style="font-weight: bold;" class="mycode_b">Variable=scan.nextInt();</span><br />
Die Variable wird gefüllt mit einer ganzen Zahl. Aus der Eingabe wird die erste Zahl ausgelesen und in die Variable eingetragen.<br />
<span style="font-weight: bold;" class="mycode_b">Variable=scan.next();</span><br />
Die Variable wird mit dem ganzen Ausdruck gefüllt (erfordert einen String als Variable)<br />
<span style="font-weight: bold;" class="mycode_b">Variable=scan.nextDouble();</span><br />
Sucht nach der ersten beliebigen Zahl in dem Ausdruck und füllt damit die Variable (z.b. 4,5, erfordert double).<br />
<br />
Über dem ganzen Programm muss stehen: import java.util.Scanner; damit er die Klasse Scanner überhaupt findet.<br />
<br />
___________________________________________________________<br />
<br />
<span style="font-weight: bold;" class="mycode_b">If-Else</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>if(netboard==gut){<br />
System.out.println("Wir tun unser Bestes");<br />
}</code></div></div>Als Ausgabe wird dann erscheinen: "Wir tun unser Bestes" wenn du das netboard gut findest. Oder um es etwas klarer auszudrücken: Wenn die Bedingung erfüllt ist dann arbeitet das Programm den Teil in den Klammern <span style="font-weight: bold;" class="mycode_b">{ }</span> ab. Mit else lässt sich festlegen was stattdessen gemacht wird.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>if(netboard==gut){<br />
System.out.println("Wir tun unser Bestes");<br />
}<br />
else{<br />
System.out.println("Dann ändern wir es");<br />
}</code></div></div>Ist es also nicht gut bzw. ist die Bedingung nicht erfüllt dann wird das abgearbeitet, was zwischen den Klammern nach <span style="font-weight: bold;" class="mycode_b">else</span> steht.<br />
<br />
<br />
Bis hierhin erstma. Bei Fragen einfach posten. Nach und nach kommen weitere Themen hinzu.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[barrierefreie frames]]></title>
			<link>https://net-board.net/showthread.php?tid=5156</link>
			<pubDate>Sat, 20 Aug 2005 22:57:41 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">marlem</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=5156</guid>
			<description><![CDATA[Hallo,<br />
<br />
hier mal ein kleines tutorial!<br />
frames sind normaler weise nicht barierefrei:<br />
<a href="http://www.marlem-software.de/behindirh.html#Frames" target="_blank" rel="noopener" class="mycode_url">http://www.marlem-software.de/behindirh.html#Frames</a><br />
<br />
wer aber auf frames nicht verzichten will, braucht nicht traurig sein, den mit dem guten css ist es möglich barrierefreie frames zu schaffen:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/* HTML als 100% definieren, dann klappt es auch mit %-Angaben!!!*/<br />
html, body {<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin:0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding:0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;height:100%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;overflow:hidden;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
#Menue{font-size:100%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-family:Verdana, Arial, Helvetica,sans-serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color:white;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-color:#07B32B;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Border-style:solid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-width:1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; top: 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height: 20%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 99%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text-align:center;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; padding-bottom:2px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
<br />
#Inhalt{font-size:100%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-family:Verdana, Arial, Helvetica,sans-serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-color:#eeffee;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Border-style:solid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-width:1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Height: 67%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 99%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; overflow: auto;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
#Statuszeile{font-size:100%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-family:Verdana, Arial, Helvetica,sans-serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-color:#07B32B;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-style:solid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-width:1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bottom: 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height: 13%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 99%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
<br />
.NormalerText{font-size:100%;font-weight:normal;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-family:Verdana, Arial, Helvetica, sans-serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:#000080; }<br />
<br />
<br />
<br />
<br />
<br />
<br />
 ul.navigation { border-color: #07B32B;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-color: #07B32B;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-style:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; solid none;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-width: 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; margin-left:0px;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 ul.navigation, li.navigation { display: inline; }<br />
<br />
 /*Padding: innenabstand. oben,rechts,unten links */<br />
 li.navigation { padding: 1px 5px 1px 5px; }<br />
<br />
.zentriert{text-align:center;}<br />
.block{text-align:justify;}</code></div></div><br />
wichtig für die frames sind die ids:<br />
#Menue<br />
#Inhalt<br />
#Statuszeile<br />
<br />
die html-seite kann dann z.b. so aussehen:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;<br />
&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;TITLE&gt;<br />
Support of Handicapped GmbH<br />
&lt;/TITLE&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="style.css"&gt;<br />
&lt;/HEAD&gt;<br />
&lt;BODY&gt;<br />
<br />
&lt;div id="Menue"&gt;<br />
&lt;h2 align="center"&gt;Support of Handicapped GmbH&lt;/h2&gt;<br />
 &lt;ul class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="index.htm" title="Startseite"&gt;Startseite&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="produkte.htm" title="Produkte"&gt;Produkte&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;wir &amp;uuml;ber uns&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;Forum&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;Impressum&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;AGBs&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;Downloads&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;/ul&gt;<br />
&lt;/div&gt;<br />
&lt;div class="NormalerText" id="Inhalt"&gt;<br />
&lt;h3&gt;Produkte&lt;/h3&gt;<br />
&lt;b&gt;Umfeldkontrolle&lt;/b&gt;&lt;br&gt;<br />
James&lt;br&gt;<br />
Nemo&lt;br&gt;<br />
Remo Boost&lt;br&gt;<br />
&lt;br&gt;<br />
Zubehör:&lt;br&gt;<br />
-Taster und Sensoren&lt;br&gt;<br />
-Halterungen&lt;br&gt;<br />
&lt;br&gt;<br />
&lt;b&gt;Patientenrufsystem&lt;/b&gt;&lt;br&gt;<br />
&lt;br&gt;<br />
&lt;b&gt;Kommunikation&lt;/b&gt;&lt;br&gt;<br />
&lt;br&gt;<br />
&lt;b&gt;Computerarbeitsplatz&lt;/b&gt;&lt;br&gt;<br />
&lt;br&gt;<br />
Blattwendegerät&lt;br&gt;<br />
Rampen&lt;br&gt;<br />
&lt;br&gt;<br />
Antidekubitus-Matratzen&lt;br&gt;<br />
&lt;/div&gt;<br />
&lt;div id="Statuszeile"&gt;<br />
S.o.H. GmbH - Vogelherd 16 - D-74937 Spechbach<br />
Tel. +49 6226 787155 - Fax. +49 06226 787156- e-mail SOH-MS@t-online.de<br />
&lt;/div&gt;<br />
<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt;</code></div></div><br />
das ergebnis sieht dann z.b. so aus:<br />
<a href="http://marlem-software.de/SOH/produkte.htm" target="_blank" rel="noopener" class="mycode_url">http://marlem-software.de/SOH/produkte.htm</a><br />
<br />
scrollbalken kommen im ie und opera und firefox! eben wie bei frames, aber mit CSS!!!<br />
<br />
gruß<br />
<br />
<br />
Markus]]></description>
			<content:encoded><![CDATA[Hallo,<br />
<br />
hier mal ein kleines tutorial!<br />
frames sind normaler weise nicht barierefrei:<br />
<a href="http://www.marlem-software.de/behindirh.html#Frames" target="_blank" rel="noopener" class="mycode_url">http://www.marlem-software.de/behindirh.html#Frames</a><br />
<br />
wer aber auf frames nicht verzichten will, braucht nicht traurig sein, den mit dem guten css ist es möglich barrierefreie frames zu schaffen:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/* HTML als 100% definieren, dann klappt es auch mit %-Angaben!!!*/<br />
html, body {<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin:0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding:0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;height:100%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;overflow:hidden;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
#Menue{font-size:100%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-family:Verdana, Arial, Helvetica,sans-serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color:white;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-color:#07B32B;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Border-style:solid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-width:1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; top: 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height: 20%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 99%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text-align:center;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; padding-bottom:2px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
<br />
#Inhalt{font-size:100%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-family:Verdana, Arial, Helvetica,sans-serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-color:#eeffee;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Border-style:solid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-width:1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Height: 67%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 99%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; overflow: auto;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
#Statuszeile{font-size:100%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-family:Verdana, Arial, Helvetica,sans-serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-color:#07B32B;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-style:solid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-color:black;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-width:1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bottom: 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height: 13%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 99%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
<br />
.NormalerText{font-size:100%;font-weight:normal;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-family:Verdana, Arial, Helvetica, sans-serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:#000080; }<br />
<br />
<br />
<br />
<br />
<br />
<br />
 ul.navigation { border-color: #07B32B;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-color: #07B32B;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-style:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; solid none;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border-width: 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; margin-left:0px;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 ul.navigation, li.navigation { display: inline; }<br />
<br />
 /*Padding: innenabstand. oben,rechts,unten links */<br />
 li.navigation { padding: 1px 5px 1px 5px; }<br />
<br />
.zentriert{text-align:center;}<br />
.block{text-align:justify;}</code></div></div><br />
wichtig für die frames sind die ids:<br />
#Menue<br />
#Inhalt<br />
#Statuszeile<br />
<br />
die html-seite kann dann z.b. so aussehen:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;<br />
&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;TITLE&gt;<br />
Support of Handicapped GmbH<br />
&lt;/TITLE&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="style.css"&gt;<br />
&lt;/HEAD&gt;<br />
&lt;BODY&gt;<br />
<br />
&lt;div id="Menue"&gt;<br />
&lt;h2 align="center"&gt;Support of Handicapped GmbH&lt;/h2&gt;<br />
 &lt;ul class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="index.htm" title="Startseite"&gt;Startseite&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="produkte.htm" title="Produkte"&gt;Produkte&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;wir &amp;uuml;ber uns&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;Forum&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;Impressum&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;AGBs&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class="navigation"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="" title=""&gt;Downloads&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;/ul&gt;<br />
&lt;/div&gt;<br />
&lt;div class="NormalerText" id="Inhalt"&gt;<br />
&lt;h3&gt;Produkte&lt;/h3&gt;<br />
&lt;b&gt;Umfeldkontrolle&lt;/b&gt;&lt;br&gt;<br />
James&lt;br&gt;<br />
Nemo&lt;br&gt;<br />
Remo Boost&lt;br&gt;<br />
&lt;br&gt;<br />
Zubehör:&lt;br&gt;<br />
-Taster und Sensoren&lt;br&gt;<br />
-Halterungen&lt;br&gt;<br />
&lt;br&gt;<br />
&lt;b&gt;Patientenrufsystem&lt;/b&gt;&lt;br&gt;<br />
&lt;br&gt;<br />
&lt;b&gt;Kommunikation&lt;/b&gt;&lt;br&gt;<br />
&lt;br&gt;<br />
&lt;b&gt;Computerarbeitsplatz&lt;/b&gt;&lt;br&gt;<br />
&lt;br&gt;<br />
Blattwendegerät&lt;br&gt;<br />
Rampen&lt;br&gt;<br />
&lt;br&gt;<br />
Antidekubitus-Matratzen&lt;br&gt;<br />
&lt;/div&gt;<br />
&lt;div id="Statuszeile"&gt;<br />
S.o.H. GmbH - Vogelherd 16 - D-74937 Spechbach<br />
Tel. +49 6226 787155 - Fax. +49 06226 787156- e-mail SOH-MS@t-online.de<br />
&lt;/div&gt;<br />
<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt;</code></div></div><br />
das ergebnis sieht dann z.b. so aus:<br />
<a href="http://marlem-software.de/SOH/produkte.htm" target="_blank" rel="noopener" class="mycode_url">http://marlem-software.de/SOH/produkte.htm</a><br />
<br />
scrollbalken kommen im ie und opera und firefox! eben wie bei frames, aber mit CSS!!!<br />
<br />
gruß<br />
<br />
<br />
Markus]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[suche Chat tutorial]]></title>
			<link>https://net-board.net/showthread.php?tid=4617</link>
			<pubDate>Sat, 11 Sep 2004 17:16:46 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">Mashoo</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=4617</guid>
			<description><![CDATA[Hallo<br />
<br />
kennt jemand eine Seite mit einem Chattutorial in PHP?<br />
Es ist egal ob es auf Deutsch oder englisch ist <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
hauptsache ich finde eins.. die meisten Tutorials die ich gefunden habe haben irgendwie nicht funktioniert <img src="https://net-board.net/images/smilies/sad.png" alt="Sad" title="Sad" class="smilie smilie_8" /><br />
und ich würde einen Chat auch wirklich gerne selber machen und nich einfach irgendeinen OpenSource chat oder so nehmen sondern ihn selber machen und erweitern .... deswegen ein tutorial... <br />
<br />
Danke im vorraus<br />
<br />
doc]]></description>
			<content:encoded><![CDATA[Hallo<br />
<br />
kennt jemand eine Seite mit einem Chattutorial in PHP?<br />
Es ist egal ob es auf Deutsch oder englisch ist <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
hauptsache ich finde eins.. die meisten Tutorials die ich gefunden habe haben irgendwie nicht funktioniert <img src="https://net-board.net/images/smilies/sad.png" alt="Sad" title="Sad" class="smilie smilie_8" /><br />
und ich würde einen Chat auch wirklich gerne selber machen und nich einfach irgendeinen OpenSource chat oder so nehmen sondern ihn selber machen und erweitern .... deswegen ein tutorial... <br />
<br />
Danke im vorraus<br />
<br />
doc]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[CSS] Filter]]></title>
			<link>https://net-board.net/showthread.php?tid=4549</link>
			<pubDate>Thu, 19 Aug 2004 15:18:42 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">Mashoo</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=4549</guid>
			<description><![CDATA[so <br />
nachdem ich Nobodys Thread mit Mouseover gelesen habe, hab ich mich dazu entschlossen dieses Tut zu schreiben,<br />
ich hab ja auf Nobodys Frage geantwotret dass es auch eine Methode mit CSS gibt ein bild zu verändern.<br />
Das sind die Filter:<br />
<br />
Es gibt verschiedene Filter in css ich stell aber heute erstmal 2 vor (einen Text und einen Grafik Filter)  die anderen kann man ja noch ergänzen:<br />
<br />
1.) Text<br />
<br />
Ich hab den filter glow ausgewählt.<br />
Damit bringt man einen Satz oder ein Wort zum glühen.<br />
<br />
[code=php]<br />
&lt;div style="color:blue;<br />
filter:Glow(color=#000000, strength=12)"&gt;Text&lt;/div&gt;[/code]<br />
<br />
Mit Style=" style " wird immer ein Style definiert, dieser STyle bezieht sich dann auf alles zwischen &lt;div&gt; und &lt;/div&gt;<br />
Dem Text wird gesagt, dass er Blau ist (color: blue<img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
und dann wird der Filter Glow angewandt.<br />
In den Klammern steht, dass der Glühende Rand schwarz ist.<br />
Und der Rand die Stärke 12 hat.<br />
Je höher die Zahl ist, desto dicker der Rand.<br />
<br />
<br />
2.) Bild<br />
<br />
hier hab ich mich für einen Schwarz weiß filter entschieden ich benutz den selber auf <a href="http://www.die-ferienprofis.de" target="_blank" rel="noopener" class="mycode_url">http://www.die-ferienprofis.de</a><br />
Der filter heißt Gray()<br />
<br />
[code=php]<br />
&lt;img src="bild.jpg" class="sw"&gt;<br />
[/code]<br />
<br />
Hier schreibe ich den Filter nicht mit style="", sondern rufe eine vordefinierte Klasse auf.<br />
Die Klasse muss im head zwischen<br />
[code=php]&lt;style stype="text/css"&gt;<br />
&lt;!--<br />
[/code]<br />
und<br />
[code=php]<br />
--&gt;<br />
&lt;/style&gt; [/code]<br />
<br />
<br />
definiert werden.<br />
<br />
Und lautet bei mir:<br />
<br />
[code=php]&lt;style stype="text/css"&gt;<br />
&lt;!--<br />
<br />
.sw<br />
{<br />
filter:Gray()<br />
}<br />
<br />
--&gt;<br />
&lt;/style&gt; [/code]<br />
<br />
das .sw bedeutet, dass eine Klasse erstellt wird die den Namen sw hat.<br />
. steht für Klasse.<br />
<br />
Nun zum Mouseover<br />
<br />
Um einen Mousover effekt zu erziehlen muss man die Klasse noch etwas erweitern:<br />
<br />
[code=php]&lt;style stype="text/css"&gt;<br />
&lt;!--<br />
<br />
.sw a:hover<br />
{<br />
filter:Gray()<br />
}<br />
<br />
--&gt;<br />
&lt;/style&gt; [/code]<br />
<br />
<br />
ich habe hier das a:hover ergänzt.<br />
Das bedeutet, dass das, was zwischen { und } steht, dann ausgeführt werden soll wenn man mit der maus über einem Link ist der sich auf diese Klasse bezieht.<br />
<br />
Um das zu erreichen müssen wir aber auch unseren Bild Tag noch etwas abändern, wir müssen ihn nämlich um einen Link erweitern:<br />
<br />
[code=php]<br />
&lt;a href="#"&gt; &lt;img src="bild.jpg" class="sw"&gt; &lt;/a&gt;<br />
 [/code]<br />
<br />
wenn nun jemand mit der maus über das Bild geht, ist der Link aktiv und der Filter wird eingesetz, das Bild wird also Schwarz-Weiß angezeigt.<br />
Wenn jemand auf das Bild klickt passiert garnichts weil ja href="#" ist.<br />
<br />
<br />
Ich hoffe ihr habt alles verstanden, Fragen könnt ihr, wie immer gerne posten :-)]]></description>
			<content:encoded><![CDATA[so <br />
nachdem ich Nobodys Thread mit Mouseover gelesen habe, hab ich mich dazu entschlossen dieses Tut zu schreiben,<br />
ich hab ja auf Nobodys Frage geantwotret dass es auch eine Methode mit CSS gibt ein bild zu verändern.<br />
Das sind die Filter:<br />
<br />
Es gibt verschiedene Filter in css ich stell aber heute erstmal 2 vor (einen Text und einen Grafik Filter)  die anderen kann man ja noch ergänzen:<br />
<br />
1.) Text<br />
<br />
Ich hab den filter glow ausgewählt.<br />
Damit bringt man einen Satz oder ein Wort zum glühen.<br />
<br />
[code=php]<br />
&lt;div style="color:blue;<br />
filter:Glow(color=#000000, strength=12)"&gt;Text&lt;/div&gt;[/code]<br />
<br />
Mit Style=" style " wird immer ein Style definiert, dieser STyle bezieht sich dann auf alles zwischen &lt;div&gt; und &lt;/div&gt;<br />
Dem Text wird gesagt, dass er Blau ist (color: blue<img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
und dann wird der Filter Glow angewandt.<br />
In den Klammern steht, dass der Glühende Rand schwarz ist.<br />
Und der Rand die Stärke 12 hat.<br />
Je höher die Zahl ist, desto dicker der Rand.<br />
<br />
<br />
2.) Bild<br />
<br />
hier hab ich mich für einen Schwarz weiß filter entschieden ich benutz den selber auf <a href="http://www.die-ferienprofis.de" target="_blank" rel="noopener" class="mycode_url">http://www.die-ferienprofis.de</a><br />
Der filter heißt Gray()<br />
<br />
[code=php]<br />
&lt;img src="bild.jpg" class="sw"&gt;<br />
[/code]<br />
<br />
Hier schreibe ich den Filter nicht mit style="", sondern rufe eine vordefinierte Klasse auf.<br />
Die Klasse muss im head zwischen<br />
[code=php]&lt;style stype="text/css"&gt;<br />
&lt;!--<br />
[/code]<br />
und<br />
[code=php]<br />
--&gt;<br />
&lt;/style&gt; [/code]<br />
<br />
<br />
definiert werden.<br />
<br />
Und lautet bei mir:<br />
<br />
[code=php]&lt;style stype="text/css"&gt;<br />
&lt;!--<br />
<br />
.sw<br />
{<br />
filter:Gray()<br />
}<br />
<br />
--&gt;<br />
&lt;/style&gt; [/code]<br />
<br />
das .sw bedeutet, dass eine Klasse erstellt wird die den Namen sw hat.<br />
. steht für Klasse.<br />
<br />
Nun zum Mouseover<br />
<br />
Um einen Mousover effekt zu erziehlen muss man die Klasse noch etwas erweitern:<br />
<br />
[code=php]&lt;style stype="text/css"&gt;<br />
&lt;!--<br />
<br />
.sw a:hover<br />
{<br />
filter:Gray()<br />
}<br />
<br />
--&gt;<br />
&lt;/style&gt; [/code]<br />
<br />
<br />
ich habe hier das a:hover ergänzt.<br />
Das bedeutet, dass das, was zwischen { und } steht, dann ausgeführt werden soll wenn man mit der maus über einem Link ist der sich auf diese Klasse bezieht.<br />
<br />
Um das zu erreichen müssen wir aber auch unseren Bild Tag noch etwas abändern, wir müssen ihn nämlich um einen Link erweitern:<br />
<br />
[code=php]<br />
&lt;a href="#"&gt; &lt;img src="bild.jpg" class="sw"&gt; &lt;/a&gt;<br />
 [/code]<br />
<br />
wenn nun jemand mit der maus über das Bild geht, ist der Link aktiv und der Filter wird eingesetz, das Bild wird also Schwarz-Weiß angezeigt.<br />
Wenn jemand auf das Bild klickt passiert garnichts weil ja href="#" ist.<br />
<br />
<br />
Ich hoffe ihr habt alles verstanden, Fragen könnt ihr, wie immer gerne posten :-)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[E-Mails versenden mit PHP]]></title>
			<link>https://net-board.net/showthread.php?tid=4386</link>
			<pubDate>Wed, 14 Jul 2004 14:40:35 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">Mashoo</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=4386</guid>
			<description><![CDATA[Hi<br />
<br />
da mir aufgefallen ist, dass es zu PHP oft nur  schwierige Tuts gibt hab ich mal ein einfaches geschrieben ;-)<br />
<br />
Emails versenden.<br />
<br />
<br />
Zu erst<br />
man kann mit php keine emails empfangen sondern nur versenden.<br />
Und:<br />
php bastelt keinen eigenen Email server sondern spricht den Server der Domain an, auf der das Skript ausgeführt wird.<br />
<br />
So fangen wir mal an:<br />
<br />
Angenommen wir haben ein Formular und möchten die Daten (Name, Email adresse etc..) zur bestätigung an den User schicken der es ausgefüllt hat.<br />
Die Daten sind in dem Fall variablen.<br />
<br />
Man kann natürlich auch alles andere schreiben, aber in diesem Tut arbeite ihc mit Variablen.<br />
<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php <br />
mail</span><span style="color: #007700">(</span><span style="color: #DD0000">"</span><span style="color: #0000BB">&#36;mail</span><span style="color: #DD0000">"</span><span style="color: #007700">,</span><span style="color: #DD0000">"Ihre Bestellung"</span><span style="color: #007700">,</span><span style="color: #DD0000">"&lt;b&gt;Hallo </span><span style="color: #0000BB">&#36;begr</span><span style="color: #DD0000"> </span><span style="color: #0000BB">&#36;nachname</span><span style="color: #DD0000"> &lt;b&gt;<br />
&lt;br&gt;<br />
Danke für ihre Bestellung (</span><span style="color: #0000BB">&#36;artikelnr</span><span style="color: #DD0000">) &lt;br&gt;<br />
Bitte besuchen Sie uns bald wieder &lt;br&gt;<br />
</span><span style="color: #0000BB">&#36;shopadresse</span><span style="color: #DD0000">"</span><span style="color: #007700">,<br />
</span><span style="color: #DD0000">"From: Online Shop &lt;shop@musical-fanpage.de&gt; <br />
Content-Type: text/html"</span><span style="color: #007700">); <br />
</span><span style="color: #0000BB"></code></div></pre></div></div><br />
<br />
So nun zur erklärung<br />
die Funktion heißt Mail.<br />
Das ist eine vorgefertigte PHP funktion, muss also nicht vorher programmiert werden.<br />
Als erstes wird dem Skript der Empfänger mit geteilt.<br />
Ich habe die Variable &#36;mail verwendet, ds wäre dann der Datensatz, den der User im ´Formular für Email angegeben hat.<br />
Man kann natürlich auch gleich die Adresse schreiben<br />
zB mail("gabi007@web.de" .....);<br />
<br />
Als zweites wird die Betreffzeile bestimmt.<br />
Hier kann natürlich uach wieder alles stehen ;-)<br />
auch eine Variable<br />
<br />
Dann kommt der inhalt.<br />
Hier könnt ihr entweder nur Text angeben oder HTML.<br />
Aber wenn ihr HTML nehmt, müsst ihr sicher sein, dass ihr bei Content Type am ende auch text/html geschrieben habt, sonst geht es nicht.<br />
<br />
"From: Name &lt;user@domain.de&gt;..." dürfte wohl klar sein.<br />
Der Name des Absenders und in &lt; &gt; die Adresse.<br />
<br />
und wie gesagt Content-Type ist sehr wichitg. <br />
Schreibt entweder<br />
Content-Type: "text" oder Content-Type = "text/html"<br />
<br />
damit ihr den Text formatieren könnt.<br />
Wenn ihr ihn nicht formatieren wollt, könnt ihr es aber uach weg lassen ;-)<br />
<br />
so dass ganze immer schön mit einem ; abschließen.<br />
Und das Skript wird verwendet, wenn ihr die Seite aufruft :-D<br />
<br />
Viel Spaß<br />
<br />
und niht ärgern, wenns nicht geht  :mist:<br />
sondern Posten ;-)<br />
<br />
<br />
oder mailen: <a href="mailto:webmaster@musical-fanpage.de" class="mycode_email">webmaster@musical-fanpage.de</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
###### EDIT<br />
<br />
kleiner, aber ausschlag gebender Tippfehler ;-)]]></description>
			<content:encoded><![CDATA[Hi<br />
<br />
da mir aufgefallen ist, dass es zu PHP oft nur  schwierige Tuts gibt hab ich mal ein einfaches geschrieben ;-)<br />
<br />
Emails versenden.<br />
<br />
<br />
Zu erst<br />
man kann mit php keine emails empfangen sondern nur versenden.<br />
Und:<br />
php bastelt keinen eigenen Email server sondern spricht den Server der Domain an, auf der das Skript ausgeführt wird.<br />
<br />
So fangen wir mal an:<br />
<br />
Angenommen wir haben ein Formular und möchten die Daten (Name, Email adresse etc..) zur bestätigung an den User schicken der es ausgefüllt hat.<br />
Die Daten sind in dem Fall variablen.<br />
<br />
Man kann natürlich auch alles andere schreiben, aber in diesem Tut arbeite ihc mit Variablen.<br />
<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php <br />
mail</span><span style="color: #007700">(</span><span style="color: #DD0000">"</span><span style="color: #0000BB">&#36;mail</span><span style="color: #DD0000">"</span><span style="color: #007700">,</span><span style="color: #DD0000">"Ihre Bestellung"</span><span style="color: #007700">,</span><span style="color: #DD0000">"&lt;b&gt;Hallo </span><span style="color: #0000BB">&#36;begr</span><span style="color: #DD0000"> </span><span style="color: #0000BB">&#36;nachname</span><span style="color: #DD0000"> &lt;b&gt;<br />
&lt;br&gt;<br />
Danke für ihre Bestellung (</span><span style="color: #0000BB">&#36;artikelnr</span><span style="color: #DD0000">) &lt;br&gt;<br />
Bitte besuchen Sie uns bald wieder &lt;br&gt;<br />
</span><span style="color: #0000BB">&#36;shopadresse</span><span style="color: #DD0000">"</span><span style="color: #007700">,<br />
</span><span style="color: #DD0000">"From: Online Shop &lt;shop@musical-fanpage.de&gt; <br />
Content-Type: text/html"</span><span style="color: #007700">); <br />
</span><span style="color: #0000BB"></code></div></pre></div></div><br />
<br />
So nun zur erklärung<br />
die Funktion heißt Mail.<br />
Das ist eine vorgefertigte PHP funktion, muss also nicht vorher programmiert werden.<br />
Als erstes wird dem Skript der Empfänger mit geteilt.<br />
Ich habe die Variable &#36;mail verwendet, ds wäre dann der Datensatz, den der User im ´Formular für Email angegeben hat.<br />
Man kann natürlich auch gleich die Adresse schreiben<br />
zB mail("gabi007@web.de" .....);<br />
<br />
Als zweites wird die Betreffzeile bestimmt.<br />
Hier kann natürlich uach wieder alles stehen ;-)<br />
auch eine Variable<br />
<br />
Dann kommt der inhalt.<br />
Hier könnt ihr entweder nur Text angeben oder HTML.<br />
Aber wenn ihr HTML nehmt, müsst ihr sicher sein, dass ihr bei Content Type am ende auch text/html geschrieben habt, sonst geht es nicht.<br />
<br />
"From: Name &lt;user@domain.de&gt;..." dürfte wohl klar sein.<br />
Der Name des Absenders und in &lt; &gt; die Adresse.<br />
<br />
und wie gesagt Content-Type ist sehr wichitg. <br />
Schreibt entweder<br />
Content-Type: "text" oder Content-Type = "text/html"<br />
<br />
damit ihr den Text formatieren könnt.<br />
Wenn ihr ihn nicht formatieren wollt, könnt ihr es aber uach weg lassen ;-)<br />
<br />
so dass ganze immer schön mit einem ; abschließen.<br />
Und das Skript wird verwendet, wenn ihr die Seite aufruft :-D<br />
<br />
Viel Spaß<br />
<br />
und niht ärgern, wenns nicht geht  :mist:<br />
sondern Posten ;-)<br />
<br />
<br />
oder mailen: <a href="mailto:webmaster@musical-fanpage.de" class="mycode_email">webmaster@musical-fanpage.de</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
###### EDIT<br />
<br />
kleiner, aber ausschlag gebender Tippfehler ;-)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Zufallsscriot - Rotation]]></title>
			<link>https://net-board.net/showthread.php?tid=4374</link>
			<pubDate>Sun, 11 Jul 2004 09:36:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">trefixxx</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=4374</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Zufallsscript - Rotation</span><br />
<br />
Bannerrotationen sind auf beinahe allen Websites zu finden. Der Code wählt einen zufälligen banner aus einem Verzeichnis aus und wird dann im Browser angezeigt. Wie das geht? Das erfährst du hier <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
Zu erst einmal brauchst du folgende dateien:<br />
- zufall.php<br />
- rotation.txt<br />
<br />
<span style="font-weight: bold;" class="mycode_b">die zufall.php sieht wie folgt aus</span><br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&#36;datei = @file("rotation.txt");</blockquote>
<br />
Vorangehende Zeile ist klar, wir müssen erst die text-datei angeben, damit wir später weiterarbeiten können.<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&#36;count = count(&#36;file); </blockquote>
<br />
Mit der Funktion count() müssen wir die Zeilen in der Textdatei zählen und werden später in einem Array gespeichert.<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>srand(microtime()*1000000);<br />
&#36;zufall = rand(1,100);</blockquote>
<br />
Dieser auszug des Codes wirkt sich so daraus aus, dass sich die verschiedenen angaben aus der text-datei zufällig ausgegeben werden. <br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&#36;zeile = &#36;file[&#36;zufall]; </blockquote>
<br />
Nun führen wir die beiden Variablen zueinander.<br />
&#36;zufall liest eine zeile zufällig aus der rotation.txt aus. Dafür benötigen wir natürlich die datei (&#36;datei) aus der das ausgelesen werden soll.<br />
<br />
Die rotation.txt muss so aufgebaut sein, dass immer eine zeile aus einem schriftzug oder pfad zum banner besteht. Ein Beispiel:<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&lt;img border="0" src="dein webspace" width="158" height="210"&gt;<br />
&lt;img border="0" src="dein webspace2" width="158" height="210"&gt;<br />
&lt;img border="0" src="dein webspace3" width="158" height="210"&gt;</blockquote>
<br />
oder ihr könnt es mit 2 Angaben machen, indem ihr die explode() Funktion benutzt!<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&#36;array = explode(";", &#36;line); </blockquote>
<br />
Dafür muss die rotation.txt wie folgt (von den angaben her variabel) aussehen:<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite><a href="http://www.dein-webspace1.de;www.dein-webspace1.de/banner.gif" target="_blank" rel="noopener" class="mycode_url">http://www.dein-webspace1.de;www.dein-we...banner.gif</a><br />
<a href="http://www.dein-webspace2.de;www.dein-webspace2.de/banner.gif" target="_blank" rel="noopener" class="mycode_url">http://www.dein-webspace2.de;www.dein-we...banner.gif</a><br />
<a href="http://www.dein-webspace3.de;www.dein-webspace3.de/banner.gif" target="_blank" rel="noopener" class="mycode_url">http://www.dein-webspace3.de;www.dein-we...banner.gif</a></blockquote>
<br />
Jetzt dürftet ihr euer Zufallsscript bzw. Roation fertig gestellt haben. Hier noch einmal der code im überblick:<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&lt;?php<br />
&#36;datei = @file("rotation.txt");<br />
&#36;count = count(&#36;file); <br />
srand(microtime()*1000000);<br />
&#36;zufall = rand(1,100);<br />
&#36;zeile = &#36;file[&#36;zufall];<br />
&#36;array = explode(";", &#36;line); <br />
?&gt; </blockquote>
<br />
Viel Spaß und viel Glück!<br />
&copy; by <a href="http://www.6thgeneration.sunsonic.de/wbboard" target="_blank" rel="noopener" class="mycode_url">6thGeneration</a>]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Zufallsscript - Rotation</span><br />
<br />
Bannerrotationen sind auf beinahe allen Websites zu finden. Der Code wählt einen zufälligen banner aus einem Verzeichnis aus und wird dann im Browser angezeigt. Wie das geht? Das erfährst du hier <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
Zu erst einmal brauchst du folgende dateien:<br />
- zufall.php<br />
- rotation.txt<br />
<br />
<span style="font-weight: bold;" class="mycode_b">die zufall.php sieht wie folgt aus</span><br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&#36;datei = @file("rotation.txt");</blockquote>
<br />
Vorangehende Zeile ist klar, wir müssen erst die text-datei angeben, damit wir später weiterarbeiten können.<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&#36;count = count(&#36;file); </blockquote>
<br />
Mit der Funktion count() müssen wir die Zeilen in der Textdatei zählen und werden später in einem Array gespeichert.<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>srand(microtime()*1000000);<br />
&#36;zufall = rand(1,100);</blockquote>
<br />
Dieser auszug des Codes wirkt sich so daraus aus, dass sich die verschiedenen angaben aus der text-datei zufällig ausgegeben werden. <br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&#36;zeile = &#36;file[&#36;zufall]; </blockquote>
<br />
Nun führen wir die beiden Variablen zueinander.<br />
&#36;zufall liest eine zeile zufällig aus der rotation.txt aus. Dafür benötigen wir natürlich die datei (&#36;datei) aus der das ausgelesen werden soll.<br />
<br />
Die rotation.txt muss so aufgebaut sein, dass immer eine zeile aus einem schriftzug oder pfad zum banner besteht. Ein Beispiel:<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&lt;img border="0" src="dein webspace" width="158" height="210"&gt;<br />
&lt;img border="0" src="dein webspace2" width="158" height="210"&gt;<br />
&lt;img border="0" src="dein webspace3" width="158" height="210"&gt;</blockquote>
<br />
oder ihr könnt es mit 2 Angaben machen, indem ihr die explode() Funktion benutzt!<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&#36;array = explode(";", &#36;line); </blockquote>
<br />
Dafür muss die rotation.txt wie folgt (von den angaben her variabel) aussehen:<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite><a href="http://www.dein-webspace1.de;www.dein-webspace1.de/banner.gif" target="_blank" rel="noopener" class="mycode_url">http://www.dein-webspace1.de;www.dein-we...banner.gif</a><br />
<a href="http://www.dein-webspace2.de;www.dein-webspace2.de/banner.gif" target="_blank" rel="noopener" class="mycode_url">http://www.dein-webspace2.de;www.dein-we...banner.gif</a><br />
<a href="http://www.dein-webspace3.de;www.dein-webspace3.de/banner.gif" target="_blank" rel="noopener" class="mycode_url">http://www.dein-webspace3.de;www.dein-we...banner.gif</a></blockquote>
<br />
Jetzt dürftet ihr euer Zufallsscript bzw. Roation fertig gestellt haben. Hier noch einmal der code im überblick:<br />
<br />
<blockquote class="mycode_quote"><cite>Zitat:</cite>&lt;?php<br />
&#36;datei = @file("rotation.txt");<br />
&#36;count = count(&#36;file); <br />
srand(microtime()*1000000);<br />
&#36;zufall = rand(1,100);<br />
&#36;zeile = &#36;file[&#36;zufall];<br />
&#36;array = explode(";", &#36;line); <br />
?&gt; </blockquote>
<br />
Viel Spaß und viel Glück!<br />
&copy; by <a href="http://www.6thgeneration.sunsonic.de/wbboard" target="_blank" rel="noopener" class="mycode_url">6thGeneration</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[PHP] Php Tutorial]]></title>
			<link>https://net-board.net/showthread.php?tid=4195</link>
			<pubDate>Fri, 11 Jun 2004 08:12:29 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">cHAp</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=4195</guid>
			<description><![CDATA[Hallo ihr lieben<br />
<br />
Und zwar hab ich mal ein recht kleines aber sehr Informationelles PHP Tutrial geschrieben <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
Ich hoffe das es das noch nicht gibt Ansonsten naja Pech gehabt.  <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<a href="http://scripts.boardseven.net/scripts/tutorial/phptutorial/tutorial.html" target="_blank" rel="noopener" class="mycode_url">Klick mich an</a><br />
<br />
Also dann hoffe ich mal das ich euch ein kleinen Einblick ins PHP geben konnte <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" />]]></description>
			<content:encoded><![CDATA[Hallo ihr lieben<br />
<br />
Und zwar hab ich mal ein recht kleines aber sehr Informationelles PHP Tutrial geschrieben <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
Ich hoffe das es das noch nicht gibt Ansonsten naja Pech gehabt.  <img src="https://net-board.net/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<a href="http://scripts.boardseven.net/scripts/tutorial/phptutorial/tutorial.html" target="_blank" rel="noopener" class="mycode_url">Klick mich an</a><br />
<br />
Also dann hoffe ich mal das ich euch ein kleinen Einblick ins PHP geben konnte <img src="https://net-board.net/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[CSS] zoom]]></title>
			<link>https://net-board.net/showthread.php?tid=3793</link>
			<pubDate>Tue, 16 Mar 2004 18:38:22 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://net-board.net/member.php?action=profile&uid=0">Clasher</a>]]></dc:creator>
			<guid isPermaLink="false">https://net-board.net/showthread.php?tid=3793</guid>
			<description><![CDATA[Vielleicht kennt ihr ja auch schon den Befehl (css) "zoom".<br />
Damit kann man ein bestimmtes objekt vergrößern, also zB 200%, 50% usw.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Schlüsselwort zoom</span><br />
<br />
Das benötigte Schlüsselwort heißt zoom und die Syntax lautet<br />
<br />
element { zoom: <span style="font-weight: bold;" class="mycode_b">x</span>% }<br />
<br />
element wird hier durch den Namen des Elements ersetzt.<br />
Ersetzen sie <span style="font-weight: bold;" class="mycode_b">x</span> durch einen Prozentwert (zb 200%, um das Objekt vergrößen zu lassen. Werte unter 100% sind logischwerweise kleiner. <br />
..<br />
Öffne mit Notepad ein neues Dokument, gib folgenden Code ein und speichere als "<span style="font-weight: bold;" class="mycode_b">zoom.css</span>":<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>h1<br />
{<br />
zoom: 300%;<br />
}</code></div></div><br />
Öffne nun wieder ein dokument, schreibe folgendes:<br />
<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="zoom.css"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;h1&gt;Die Überschrift ist 3x so groß wie ein unformatiertes "h1"!&lt;/h1&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
und speichere als zoom.htm ab.<br />
<br />
! Es müssen beide Dateien im selben Ordner sein, damit der Test funktioniert !<br />
<br />
Nun öffne zoom.htm.<br />
Die Erklärung befindet sich in der HTML Datei selbst ;-)<br />
Der Befehl zoom funktioniert übrigens auch bei input feldern und ähnlichem Zeug.<br />
<br />
Fragen bitte in den Tread <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
[ © by iCon 2004 ]]]></description>
			<content:encoded><![CDATA[Vielleicht kennt ihr ja auch schon den Befehl (css) "zoom".<br />
Damit kann man ein bestimmtes objekt vergrößern, also zB 200%, 50% usw.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Schlüsselwort zoom</span><br />
<br />
Das benötigte Schlüsselwort heißt zoom und die Syntax lautet<br />
<br />
element { zoom: <span style="font-weight: bold;" class="mycode_b">x</span>% }<br />
<br />
element wird hier durch den Namen des Elements ersetzt.<br />
Ersetzen sie <span style="font-weight: bold;" class="mycode_b">x</span> durch einen Prozentwert (zb 200%, um das Objekt vergrößen zu lassen. Werte unter 100% sind logischwerweise kleiner. <br />
..<br />
Öffne mit Notepad ein neues Dokument, gib folgenden Code ein und speichere als "<span style="font-weight: bold;" class="mycode_b">zoom.css</span>":<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>h1<br />
{<br />
zoom: 300%;<br />
}</code></div></div><br />
Öffne nun wieder ein dokument, schreibe folgendes:<br />
<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="zoom.css"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;h1&gt;Die Überschrift ist 3x so groß wie ein unformatiertes "h1"!&lt;/h1&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
und speichere als zoom.htm ab.<br />
<br />
! Es müssen beide Dateien im selben Ordner sein, damit der Test funktioniert !<br />
<br />
Nun öffne zoom.htm.<br />
Die Erklärung befindet sich in der HTML Datei selbst ;-)<br />
Der Befehl zoom funktioniert übrigens auch bei input feldern und ähnlichem Zeug.<br />
<br />
Fragen bitte in den Tread <img src="https://net-board.net/images/smilies/wink.png" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
[ © by iCon 2004 ]]]></content:encoded>
		</item>
	</channel>
</rss>