Einleitung
Ich habe letztens versucht, eine vollständig funktionierend Linkliste im world-wide-web zu finden, bin aber nicht fündig geworden. So hab ich mir aus einzelnen Stückchen von anderen Programmen eine eigene zusammengeschrieben. Ein Beispiel findet ihr hier.
Was wird gebraucht
Ihr benötigt drei php-Dateien:
Ich habe sie einfach mal Linkliste.php, Eintragen.php und Links.php genannt.
Linkliste.php
Fangen wir einfach mal mit der Datei an, in der ihr die Links später nachlesen könnt.
Ich hab diese Linkliste.php genannt. Der dazugehörige Code ist folgender:
<html>
<head>
<title>Linkliste</title>
</head>
<body>
<h2>Meine Linkliste</h2>
<?
$DB = ("Links.php");
$Max = ("30");
$Trenner = ("n");
$Eintrag = fopen($DB,"r");
$Ausgabe = fread($Eintrag,filesize($DB));
fclose($Eintrag);
$Output = explode("$Trenner", $Ausgabe);
for($X=0;$X<$Max;$X++){
echo("$Output[$X]<br>");
};
?>
<form action="Eintragen.php" method="get">
Der Name der Website:<input type="text" name="HP1" value="Ihre Seite" size="35"><br>
Die Addresse der Website (mit http://):
<input type="text" name="HP2" size="35" value="http://www.Ihre Seite.de"><br>
<input type="submit" value="Eintragen"> <input type="reset" value="Zurücksetzen">
</form>
<p><font size="2">Ich übernehme keinerlei Garantie für alle Links, die in dieser Linkliste stehen.</font></p>
</body>
</html>
Erklärung:
1. Auf diese Seite wird die Linkliste angezeigt und darunter erscheint ein Formular, mit welchem man seine eigenen Links eintragen kann.
2. Als erstes werden drei Variabeln definiert. $Max ist die maximale Anzahl von Links; $DB ist die Quelldatei der eigentlichen liste; und $Trenner sorgt dafür, das die Links untereinander stehen, (vor das n muss ein Backslach).
3. Dann werden die Links eingelesen und in der website Datei wiedergegeben, untereinander, oberhalb des Formulars.
4. Die Funktion des Formulars ist eintragen.php ; dies ist der Name der 2. Datei, mit welcher die Links eingetragen werden.
5. Die Adresse der Website muss mit http:// angegeben werden, da der Computer sonst denkt, die Seite würde im selben Ordner liegen, was ja meistens nicht der Fall sein wird.
Eintragen.php
Fahren wir mit der Datei fort, die dafür verantwortlich ist, das eure Links in die Datei Links.php eingetragen werden.
Hier der Quellcode
<?
if ("$HPname" == "" || "$HPurl" == "")
{echo("Sie haben nicht alle notwendigen Felder ausgefüllt!");
}
else
{if (substr($HPurl,0,7) != "http://")
{echo("Ihr URL fängt nicht mit http:// an.");
}
else
{if (strlen($HPname) > "35")
{echo("Ihr Website Name darf maximal 35 Zeichen beinhalten!");
}
else
{$HP1 = stripslashes($HPname);
$SiteName = htmlspecialchars($HPname);
$Link = fopen("Links.php","r");
$All = fread($Link, filesize("Links.php"));
$Link = fopen("Links.php","w");
fputs($Link,"<a href='$HPurl' target='_blank'>$HPname</a>n$All");
echo("Ihr Link wurde erfolgreich in die Liste eingetragen...<br><br><a href='Linkliste.php'>weiter</a>");
}
}
}
?>
Erklärung:
1. Im ersten Teil der if Funktion wird geprüft, ob die beiden Felder ausgefüllt sind, wenn dies nicht der Fall sein sollte, wird per echo eine Meldung ausgegeben.
2. Dann in der else und dort in der ersten if Bedingung wird geprüft, ob der URl der Homepage mit http:// anfängt, da ohne diese Zeichen die Linkliste nicht korrekt funktionieren würde.
3. in der letzen else wird der Link endlich in die Links.php eingetragen.
4. bei fputs wird der Link eingetragen, denkt daran, dass vor das n vor $All wieder ein Backslash muss (siehe auch Kommentar).
Letzte Datei, Links.php
Hier könnt ihr einfach mal
<a href='http://www.unihockey-pratteln.ch.vu' target='_blank'>Unihockey-Pratteln</a>
eintragen, wenn euch dieser Script gefallen hat.
Diese könnt ihr aber auch leer lassen, dann kommt beim ersten öffnen der Datei Linkliste.php aber eine Fehlermeldung, die aber verschwindet, sobald ihr einen Link eingetragen habt, wenn ihr auf Eintragen geklickt habt kommt noch einmal eine Fehlermeldung, die ihr aber ebenfalls ignorieren könnt. Viel Spaß mit dieser Linkliste.