Dynamische OnClick Buttons

Beschreibung: Möchtest du für deine Homepage Solche Buttons erstellen, die z.B. Aufleuchten, wenn man mit der Maus darüber fährt? -Dann schau hier nach! -In diesem Workshop erfährst du, wie du solche Buttons noch aufpeppen kannst, indem die Buttons den Zustand behalten. Wen man darauf geklickt hat, bleibt der Button leuchtend, bis ein neuer angeklickt wurde.

Code: Füge einfach unten folgenden Code in deine Inhaltsseite ein und passe Sie entsprechend an.

Bemerkungen: Lasse bitte den (c) Vermerk bestehen!

<HEAD>
<!-- START MOUSEOVER BUTTONS
/<em> (C) 1998 - dhgm@gmx.net - Freeware nur mit diesem Vermerk </em>/
Distributet by: Steven Varco, See: www.tech-island.de.cx for many more usefull Scripts
(Bitte diesen Vermerk stehen lassen!)
-->
<SCRIPT language="JavaScript">
<!--
<!-- Hier wird geprüft, ob die Datei im Frameset geladen wurde, falls nicht; lade index.htm -->
if (self==top) top.location.href = 'index.htm';
 
<!-- Hier kommt der Pfad der Buttons hin (hier im Verzeichniss: buttons) Bei PicExt kommt der Dateityp hin (GIF oder JPG) -->
var picPath = '<a href="http://www.deineSeite.net/buttons/'," target="blank">http://www.deineSeite.net/buttons/',</a> picExt = '.gif';
 
<!-- Hier bitte nichts aendern -->
    function mObj(nam, u1, u2, u3) {
      if (document.images) {
        this.name = nam;
        this.norm = new Image(); this.norm.src = picPath + u1 + picExt;
        this.over = new Image(); this.over.src = picPath + u2 + picExt;
        this.clck = new Image(); this.clck.src = picPath + u3 + picExt;
      }
    }
 
<!-- Hier werden Die Buttons deffiniert du kannst ein 3. Button verwenden, oder den 2. nochmals nehmen -->
    var b1 = new mObj('about', 'about_off', 'about_on', 'about_onclk');
    var b2 = new mObj('history', 'history_off', 'history_on', 'history_on');
    var b3 = new mObj('gb', 'gb_off', 'gb_on', 'gb_on');
	var b4 = new mObj('links', 'links_off', 'links_on', 'links_on');
	var b5 = new mObj('awards', 'awards_off', 'awards_on', 'awards_on');  <!-- usw. für alle weiteren Buttons -->
 
<!-- Hier bitte nichts aendern -->
    var selImg = null;
 
    function chgSrc(n, newSrc) {
      if (document.images) document.images[n.name].src = n[newSrc].src;
    }
 
    function ovr(n) { if (selImg!=n) chgSrc(n, 'over'); }
 
    function out(n) { if (selImg!=n) chgSrc(n, 'norm'); }
 
    function clk(n) {
      if (selImg == n) return false;
      else {
        if (selImg) chgSrc(selImg, 'norm');
        selImg = n;
        chgSrc(selImg, 'clck');
        return true;
      }
    }
 
  // -->
</SCRIPT>
<!-- END MOUSEOVER BUTTONS -->
</HEAD>
 
<BODY>
 
<!-- Nun musst du noch die Eigentlichen Buttons einfügen
Der Text unter name="xxx" muss mit den oberen übereinstimmen -->
 
<b><font face="Westminster,Arial">INHALT</font></b>
 
<a href="haupt/about.htm" onMouseover="ovr(b1)" onMouseout="out(b1)" onClick="return clk(b1);"><img src="buttons/about_off.gif" name="about" border=0 width="58" height="13"></a>
<br>
<a href="haupt/history.htm" onMouseover="ovr(b2)" onMouseout="out(b2)" onClick="return clk(b2);"><img src="buttons/history_off.gif" name="history" border=0 width="58" height="13"></a>
<br>
<a href="haupt/gb_write.htm" onMouseover="ovr(b3)" onMouseout="out(b3)" onClick="return clk(b3);"><img src="buttons/gb_off.gif" name="gb" border=0 width="58" height="13"></a>
<br>
<a href="links/index.htm" onMouseover="ovr(b4)" onMouseout="out(b4)" onClick="return clk(b4);"><img src="buttons/links_off.gif" name="links" border=0 width="58" height="13"></a>
<br>
<a href="awards/index.htm" onMouseover="ovr(b5)" onMouseout="out(b5)" onClick="return clk(b5);"><img src="buttons/awards_off.gif" name="awards" border=0 width="58" height="13"></a>
<!-- usw. für alle weiteren Buttons -->
 
</BODY>

Persönliche Anrede

Eine Homepage wirkt viel persönlicher, wenn man jemanden mit Namen ansprechen kann. Das der Benutzer jedoch nicht immer seinen Namen wieder von neuem Eingeben muss, muss man sich diesen erst mit einem cookie merken.

Code: Füge einfach unten folgenden Code in deine Seite ein.

Bemerkungen: Lasse bitte den (c) Vermerk bestehen!

<!-- START ANREDE
(c) by: Steven Varco
See: www.tech-island.de.cx for many more usefull Scripts
(Bitte diesen Vermerk stehen lassen!)
-->
<script language="JavaScript">
<!--
  LIVEDAYS=90;
  function set_cookie(name, value) {
    document.cookie=name+"="+escape(value)+"; EXPIRES="+cookie_live();
  }
  function cookie_live() {
    var date=new Date();
    date.setDate(date.getDate()+LIVEDAYS);
    var gmt=date.toGMTString();
    var k1=gmt.indexOf(" ");
    var k2=gmt.indexOf(" ", k1+1);
    var k3=gmt.indexOf(" ", k2+1);
    var str=gmt.substring(0,k2)+"-"+gmt.substring(k2+1,k3)+"-"+gmt.substring(k3+3,gmt.length);
    return str;
  }
  function get_cookie(name) {
    var value=null;
    if(document.cookie != "") {
      var kk=document.cookie.indexOf(name+"=");
      if(kk >= 0) {
        kk=kk+name.length+1;
        var ll=document.cookie.indexOf(";", kk);
        if(ll < 0)ll=document.cookie.length;
        value=document.cookie.substring(kk, ll);
        value=unescape(value);
      }
    }
    return value;
  }
//-->
</script>
 
 
<script language="JavaScript">
<!--
  anrede=get_cookie("anrede");
  if(anrede == null) {
    anrede=prompt("Wie heisst du ?");
    if(anrede == null || anrede == "") {
      anrede="(Fremde/r)";
    } else {
      set_cookie("anrede", anrede);
    }
  }
    document.write("",anrede,",<br>");
// -->
</script>
<!-- END ANREDE -->

Einen Zufälligen Sound abspielen und den Titel anzeigen lassen

Mit diesem Script kann man einen (Zufalls-Sound) abspielen und dem Besucher zeigen, welcher Gerade läuft.

Einbau: Füge einfach unten folgenden Code in deine Seite ein.

Bemerkungen: Lasse bitte den (c) Vermerk bestehen!

<!-- START SOUND
(c) by: Steven Varco
See: www.tech-island.de.cx for many more usefull Scripts
(Bitte diesen Vermerk stehen lassen!)
-->
<SCRIPT LANGUAGE="JavaScript">
<!--
song = new Array(10);
title = new Array(10);
song[0] ='everlong.mid'
song[1] ='niceshot.mid'
song[2] ='life.mid'
song[3] ='polly.mid'
song[4] ='fly.mid'
song[5] ='damnit.mid'
song[6] ='short.mid'
song[7] ='anarchy.mid'
song[8] ='mable.mid'
song[9] = 'sellout.mid'
song[10] = 'govt.mid'
 
title[0] = 'Everlong'
title[1] = 'Hey Man Nice Shot'
title[2] = 'Meaning Of Life'
title[3] = 'Polly'
title[4] = 'Fly'
title[5] = 'Damn It'
title[6] = "Short On Ideas"
title[7] = 'Anarchy in the UK'
title[8] = 'Mable'
title[9] = "Sellout"
title[10] = 'You are the Government'
 
index = Math.floor(Math.random() * song.length);document.write("<DL>n");
document.write("<EMBED SRC="+song[index]+" width=200 height=55 autostart=true loop=infinite BGCOLOR='#000000'");
document.write(' TEXT="#FFFFFF">');
document.write("<BR>");
document.write("Der Titel des Songs, den Du gerade hörst, ist: ");
document.write("<font size=4 color=red>");
document.write(title[index]);
document.write("</font>")
document.write("</DL>n");
// -->
</SCRIPT>
<!-- END SOUND -->

Jede Minute einen anderen Spruch erscheinen lassen

<!-- START ZITATE
(c) by: Steven Varco
See: www.tech-island.de.cx for many more usefull Scripts
(Bitte diesen Vermerk stehen lassen!)
-->
}
//-->
</SCRIPT>
<SCRIPT language="JavaScript">
</TD>
</TR>
</TABLE></CENTER>
<CENTER> </CENTER>
<CENTER><TABLE BORDER COLS=1 WIDTH="80%" BGCOLOR="#00CC00" >
<TR>
<TD>
<CENTER><B><U><FONT FACE="Square721 BT"><FONT COLOR="#FF0000"><FONT SIZE=+1>Spruch
der Minute:</FONT></FONT></FONT></U></B></CENTER>
 
<SCRIPT LANGUAGE="JavaScript">
function greeting()
{
var today = new Date();
var hrs = today.getHours();
var min = today.getMinutes();
document.writeln("<CENTER>");
document.writeln("");
document.writeln("<FONT SIZE="+1" COLOR="#ffffff"><B>");
if ( min <= 0)
document.write("Fussgänger:<br>ein Mann, der Frau und Tochter<br>aber nur zwei Autos hat.<br><i>- Anonym</i>");
else if (min <= 1) è (dieser Sruch erscheint in der 1. Minute)
document.write("Heiraten:<br>Heirate oder heirate nicht - <br>du wirdst es in jedem Fall bereuen.<br><i>- Sokrates</i>");
else if (min <=2) è (dieser Sruch erscheint in der 2. Minute)
 
document.write("Uhu:<br>Gefiederte Katze.<br><i>- Anonym</i>");
else if (min <=3)
document.write("Kluge Sprüche:<br>Es gibt so viele kluge Sprüche,<br>begreifen kann sie keiner.<br>Darum belass' ich's hier bei dem,<br>sonst wird dies auch noch einer.<br><i>- Simon Anderhub</i>");
è (Usw.für alle anderen Minuten)
document.writeln("</B></FONT><BR><BR>");
document.writeln("");
document.writeln("");
document.writeln("</CENTER>");
}
 
greeting();
</SCRIPT>
</TD>
</TR>
</TABLE></CENTER>
 
// -->
<!-- END ZITATE -->

Einfacher Passwortschutz

<!-- START PASSWORT
(c) by: Steven Varco
See: www.tech-island.com for many more usefull Scripts
(Bitte diesen Vermerk stehen lassen!)
-->
<!--
<Script language="JavaScript">
var passwort=prompt("Bitte geben Sie das Passwort ein","xxxxx");
document.write('<META HTTP-EQUIV="REFRESH" content="0;URL=' + passwort + '.html">') </Script>
<CENTER><H2>Uups, falsches Passwort ?
Dann gehen Sie bitte auf reload</H2></CENTER>
//-->
<!-- END PASSWORT -->

String-trenner Funktion

Diese Funktionen musst ich mal während meiner LAP arbeit machen, findet selber raus wozu sie gut sind… 😉

char <em>strtrenner(char </em>string, char trennzeichen, int element)
//Gibt den n'ten teil eines strings zurück den man mit dem Trennzeichen unterteilt hat,
//wobei n = element.
//Beispiel:  stringtrenner("123:456:789", ':', 2)  =   "456"
//Wenn das Attribut element eine höhere Zahl erhält als der String Elemente besitzt wird das letzte Element
//zurückgegeben.
{
	static char returnstring [50];
	unsigned int  i_count;
	int  i_elementcount;
	int  i_endstrpos;
	int  i_startstrpos;
	i_startstrpos = 0;
	i_elementcount = 0;
	for(i_count = 0; (i_count <= strlen(string)) && (element != i_elementcount); i_count++)
	{
		if((string[i_count] == trennzeichen) || (string[i_count] == 'n'))
		{
			i_elementcount++;
			if(i_elementcount < element)
			{
				i_startstrpos = i_count+1;
			}
		}
	}
	i_endstrpos = i_count-1;
	strncpy(returnstring, &string[i_startstrpos], i_endstrpos - i_startstrpos);
	returnstring[i_endstrpos-i_startstrpos] = '';
	return returnstring;
}

Zeitfunktionen

long zeitinh(char *string, char trenn1, char trenn2, char trenn3)
//wandelt einen String der eine Zeit enthält in hundertstelsekunden um.
//erwartet wird ein string im format: HH:mm:ss:hh wobei der erste Doppelpunkt dem
//trenn1, der zweite dem trenn2 und der dritte dem trenn3 entspricht.
//Vorsicht: die funktion strtrenner() wird benötigt
{
  long l_hundertstel;
  char s_temp[12];
  l_hundertstel = 0;
  strcpy(s_temp, strtrenner(string, trenn1, 1));
  printf("n%st", s_temp);
  l_hundertstel += atoi(s_temp) <em> 60 </em> 60 * 100;
  strcpy(s_temp, strtrenner(strtrenner(string, trenn1, 2), trenn2, 1));
  printf("%st", s_temp);
  l_hundertstel += atoi(s_temp) <em> 60 </em> 100;
  strcpy(s_temp, strtrenner(strtrenner(strtrenner(string, trenn1, 3), trenn2, 2), trenn3, 1));
  printf("%st", s_temp);
  l_hundertstel += atoi(s_temp)  * 100;
  strcpy(s_temp, strtrenner(strtrenner(strtrenner(string, trenn1, 4), trenn2, 3), trenn3, 2));
  printf("%sn", s_temp);
  l_hundertstel += atoi(s_temp);
  return l_hundertstel;
}
 
 
 
 
 
char *zeitformatieren(long zeitinh, char trenn1, char trenn2, char trenn3)
//gegenstueck zu zeitinh()
//formatiert die zeit mit den angegebenen Trennzeichen
//als eingabe wird die zeit in hundertstelsekunden erwartet
{
  long l_hundertstel;
  static char returnstring[20];
  int stunden;
  int minuten;
  int sekunden;
  int hundertstel;
  l_hundertstel = zeitinh;
 
  stunden = l_hundertstel / 100 / 60 / 60;
  l_hundertstel -= stunden <em> 100 </em> 60 * 60;
  minuten = l_hundertstel / 100 / 60;
  l_hundertstel -= minuten <em> 100 </em> 60;
  sekunden = l_hundertstel / 100;
  l_hundertstel -= sekunden *100;
  hundertstel = l_hundertstel;
 
  strcpy(returnstring, "                   ");
 
  if(stunden >= 10)
    itoa(stunden, returnstring, 10);
  else
    itoa(stunden, &returnstring[1], 10);
  returnstring[2] = trenn1;
 
  if(minuten >= 10)
    itoa(minuten, &returnstring[3], 10);
  else
  {
    returnstring[3] = '0';
    itoa(minuten, &returnstring[4], 10);
  }
  returnstring[5] = trenn2;
 
  if(sekunden >= 10)
    itoa(sekunden, &returnstring[6], 10);
  else
  {
    returnstring[6] = '0';
    itoa(sekunden, &returnstring[7], 10);
  }
  returnstring[8] = trenn3;
 
  if(hundertstel >= 10)
    itoa(hundertstel, &returnstring[9], 10);
  else
  {
    returnstring[9] = '0';
    itoa(hundertstel, &returnstring[10], 10);
  }
  return returnstring;
}

Spaltennamen einer DB auslesen

Dim RS
set RS = Server.CreateObject("ADODB.Recordset")
RS.ActiveConnection = Cnn
RS.Source = "SELECT * FROM Tabelle"
RS.Open
 
Dim Feld
FOR EACH Feld IN RS.Fields
   Response.Write Feld.Name & "<br>"
   Response.Write Feld.Type & "<br>"
Next
 
RS.Close
set RS = nothing
Cnn.Close
set Conn = nothing

".Type" gibt Dir dann auch den datentyp aus.

Tabellen einer Access Datenbank auflisten

Die einfachste Variante ist die Abfrage der Systemtabellen der Datenbank. Unter Access muss der
User "Administrator" Lesezugriff auf die Tabelle "MSysObjects" haben. Dies können Sie in Access 2000
unter "Extras -> Sicherheit -> Benutzer- und Gruppenberechtigungen" einstellen.

[listtables.asp]

<%
' --- SQL-String für Access
ListSQL = "SELECT name AS tablename FROM MSysObjects WHERE [type] = 1 AND [flags] = 0"
 
' --- SQL-String für Microsoft SQL Server 7.0
' --- ListSQL = "SELECT name AS tablename FROM SysObjects WHERE [type] = 'U'"
 
' --- SQL-String für Oracle 7.x oder höher (alle Tabellen, auf die der User Zugriff hat)
' --- ListSQL = "SELECT table_name AS tablename FROM all_tables"
 
' --- SQL-String für Oracle 7.x oder höher (alle Tabellen, die dem User gehören)
' --- ListSQL = "SELECT table_name AS tablename FROM user_tables"
 
Set ListRS = Server.CreateObject("ADODB.Recordset")
    ListRS.Open ListSQL, objConn, 3, 3
 
        ' --- Ausgabe der Überschrift
        Response.Write "<b><u>Tabellen in DB</u></b><br>" & vbCrLf
 
        Do While Not ListRS.EOF
 
            ' --- Ausgabe des Tabellennamens
            Response.Write ListRS.Fields("tablename") & "<br>" & vbCrLf
            ListRS.MoveNext
 
        Loop
 
    ListRS.Close
Set ListRS = Nothing
%>

——————————————————————————–
Alternativ kann man auch auf eine relativ unbekannte Methode des Connection-Objekts zurückgreifen.
Die OpenSchema-Methode. Mit Hilfe dieser Methode können Sie sehr viel über Ihre Datenbank erfahren.
So zum Beispiel auch, welche Tabellen in der Datenbank enthalten sind.

[listtables.asp]

<%
' --- Öffnen der Datenbankverbindung
Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "<DSN>", "<UID>", "<PWD>"
 
' --- Instantiieren des Recordsets für das Auslesen der Tabellen
' --- adSchemaTables = 20 (Konstante definiert in adovbs.inc)
Set objRS = objConn.OpenSchema(adSchemaTables)
 
    Response.Write "<b>Tabellenname</b><br>"
    Do Until objRS.EOF
 
        ' --- Da auch die Systemtabelle (objRS.Fields("TABLE_TYPE") = "SYSTEM_TABLE")
        ' --- zurückgegeben werden, wird eine Eingrenzung auf die Usertabellen implementiert
        If objRS.Fields("TABLE_TYPE") = "TABLE" THEN
            Response.Write objRS.Fields("TABLE_NAME") & "<br>" & vbCrLf
        End if
 
        objRS.MoveNext
 
    Loop
 
' --- Schliessen und terminieren des Recordets
    objRS.Close
Set objRS = Nothing
 
' --- Schliessen und terminieren der Datenbankverbindung
    objConn.Close
Set objConn = Nothing
%>

Browser ermitteln

' --- Ermitteln des Browsertyps
Set objBrowser = Server.CreateObject("MSWC.BrowserType")
    If objBrowser.Browser = "IE" Then
        CSSFile = "ie.css"
        Else
            CSSFile = "ns.css"
    End if
Set objBrowser = Nothing
 
In den Head-Tag fügst du dann folgendes ein:
<link rel=stylesheet href="<%=CSSFile%>" type="text/css">