Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Linkliste v1.0 ist fertig [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Linkliste v1.0 ist fertig


 
oli
28-05-2002, 20:04 
 
Hallo PhP Profis

Habe heute meine Linkliste fertig bekommen. Sollte ursprünglich ein Partnerprogramm werden. Das kommt aber auch noch irgendwann.

Features Linkliste

inkl. Counter und Datum

Features Admin

bearbeiten und löschen

Daten werden in MySql gespeichert.

Was sagt Ihr dazu?
http://down1.host.sk/linkliste/index.php

Aber Bitte nicht lachen bin noch kein spezie (Newbie).

Mfg Oli

 
Titus
02-06-2002, 07:21 
 
Du solltest die eingegebene URL auf syntaktische Korrektheit prüfen. :)
und statt des "zurück"-Links gleich die aktualisierte Liste auswerfen.

 
archie
02-06-2002, 22:39 
 
HAJJEEEE???????

Copyright by Linkliste v1.0 ?????


Copyright by Person oder Firma, aber doch nicht LInkliste

 
hand
02-06-2002, 23:13 
 
Schau mal, bei Dir kann man auch Bilder posten.
Sorry das war ich.

 
oli
03-06-2002, 08:16 
 
Hallo hand

das mit dem Bildern ist schon richtig so muss nur noch was an der grösse arbeiten.

Das Copyright wird sofort geändert.

Mfg. Oli

 
oli
03-06-2002, 08:22 
 
Wie meinst Du das mit syntaktische Korrektheit prüfen.

Musst mir das schon ein wenig mehr erklären.
Bin schon froh als Newbie das diew Linkliste überhaupt erstmal läuft, aber es muss halt noch etwas daran gemacht werden.

Wie kann ich den bei jedem Link die Hits zählen.

Mfg.Oli

 
archie
03-06-2002, 08:42 
 
Ich würde auch einen Antispammschutz einbauen, sodass eine URL nur einmal auftauchen darf!!!!

 
oli
03-06-2002, 09:00 
 
Wie gesagt ich bin noch Newbie.
Also brauche ich noch Hilfe. Wie mache ich das mit dem Spam schutz, oder wie kann ich über prüfen ob die Adresse schon vorhanden ist.

Mfg Oli

 
archie
03-06-2002, 13:31 
 
Die Spalte, wo die URLs gespeichert werden, soll PRIMARY KEY Spalte sein

 
hand
03-06-2002, 20:47 
 
Bild war Test 1, jetzt gehts eine Stufe weiter, wenn es Dir recht ist.

http://down1.host.sk/linkliste/index.php?start=5.1

Schau mal, hand war wieder bei Dir

Übeerraaaschuung !

 
archie
04-06-2002, 06:59 
 
ANTIHANDFUNKTION

Damit du Hands seine Spielchen vermeiden kannst baue :

$url = str_replace("<", " ", $url);
$url = str_replace(">", " ", $url);
$titel = str_replace(">", " ", $titel);
$titel = str_replace("<", " ", $titel);
$beschreibung = str_replace(">", " ", $beschreibung);
$beschreibung = str_replace("<", " ", $beschreibung);

ein. Damit vermeidest du das Einbauen, von HTML Tags

 
mkJack
04-06-2002, 07:34 
 
Etwas kürzer ginge auch
$str = preg_replace (http://www.php3.de/manual/de/function.preg-replace.php)("/(<|>)/","",$str);

oder
$str = strip_tags (http://www.php3.de/manual/de/function.strip-tags.php)($str)


Nachtrag:
Ich habs eben auch gesehen. hand, du kommst ja auf Ideen, wie du den Leuten die Mängel aufzeigst ...

 
oli
04-06-2002, 08:30 
 
Wo muss der code den eingebaut werden.

Das klappt bei mir einfach nicht.

Mfg.Oli

P.S. Danke für den Tip. Hand zeigt einen gleich wieder die grenzen auf.:(

 
archie
04-06-2002, 08:50 
 
Du muss dann natürlich anstaat url, beschreibung, titel die Feldernamen dfeines Formular nehemen. Und auf jeden Fass die Groß und Kleinschreibung beachten.

Das gaze baust du vor der Einspeisung der Daten in die Datenbank.
Am besten gleich nach <?php

$urlname = str_replace("<", " ", $urlname);
$urlname = str_replace(">", " ", $urlname);
$url = str_replace(">", " ", $url);
$url= str_replace("<", " ", $url);
$beschreibung = str_replace(">", " ", $beschreibung);
$beschreibung = str_replace("<", " ", $beschreibung);

 
mkJack
04-06-2002, 08:51 
 
Vor dem Speichern in die Datenbank.


archie, wir haben uns überschnitten

 
mkJack
04-06-2002, 08:55 
 
Nix gegen deine Vorschlag archie, aber sollten wir oli nicht die kürzere Variante anbieten?

$urlname = preg_replace("/(<|>)/","",$urlname);
$url = preg_replace("/(<|>)/","",$url);
$beschreibung = preg_replace("/(<|>)/","",$beschreibung);

 
archie
04-06-2002, 09:04 
 
jo deine Variante ist net schlecht.

 
archie
04-06-2002, 09:13 
 
if (strlen($url) < 2)

währe auch nicht schlecht

 
oli
04-06-2002, 10:19 
 
Ich hatte es nach if($submit<>"") versucht.
Gut das es das Forum gibt und die vielen helfer.
funzt jetzt auch

Mfg.Oli

 
TheUser
04-06-2002, 15:14 
 
man sollte vielleicht die url noch überprüfen (format), am besten nimmst dafür reguläre ausdrücke.

 
hand
04-06-2002, 17:52 
 
Original geschrieben von archie
[B] ANTIHANDFUNKTION ....


Viel zu kompliziert Jungs es geht auch viel einfacher:
http://www.php.net/manual/de/function.htmlspecialchars.php



$titel = htmlspecialchars($titel);
$beschreibung = htmlspecialchars($beschreibung);

// oder gleich direkt

print "<table border=0 width=\"100%\" align=\"center\">
<tr>
<td width=\"35%\"><font face=Verdana color=#000099 size=2><b>Titel</b></font></td>
<td><font face=Verdana size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".htmlspecialchars($titel)."</font></td>
</tr>
<tr>
<td width=\"35%\"><font face=Verdana color=#000099 size=2><b>URL</b></font></td>
<td><font face=Verdana color=#000099 size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="http://www.afco-webservice.net/"target="_blank">$url</a></font></td>
</tr>
<tr>
<td width=\"35%\"><font face=Verdana color=#000099 size=2><b>Beschreibung</b></font></td>
<td><font face=Verdana size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".htmlspecialchars($beschreibung)."</font></td>
</tr><br>
</table><br>
";

 
mkJack
04-06-2002, 18:16 
 
hand hats wieder auf den Punkt getroffen.
Warum sind wir nicht so schlau wie er? hmm http://mitglied.lycos.de/mkjack/icons/confused2.gif

 
hand
04-06-2002, 18:45 
 
Schau mal, hand war wieder bei Dir

Übeerraaaschuung !

 
archie
04-06-2002, 19:30 
 
Hehe. Da hast du Recht. Hand ist nicht von der einfachen Sorte.
Der Forummaniak hat das echt drauf.

Will auch so werden, aber erst, wenn ich mit meinem Studium angefangen habe :D

 
oli
05-06-2002, 08:29 
 
Langsam geht garnichts mehr.

Habe es genauso versucht wie Du es beschrieben hast geht aber nicht.

Wo soll der Code den rein

In die Tabelle bei der Ausgabe oder wo die einträgfe rein kommen. ( <form method="post" action="<? echo $PHPSELF ?>">)

Mfg Oli :dontknow:

 
hand
05-06-2002, 18:22 
 
Vielleicht hast Du die Botschaft nicht gesehen, die ich hinterlassn habe. Wenn Du auf den Link klickst, bekommst Du einen SQL-Fehler
http://down1.host.sk/linkliste/?start=9999999999999

Die Variable start wird manuell mit einem zu großen Wert belegt. Da mußt Du vermutlich noch eine Abfrage zu Beginn des Skripts einfügen.

Ist der angeforderte Seitenoffset $start > als die Anzahl aller Datensätze, setze die Variable $start auf die Anzahl aller Datensätze. Ist ja nur ein Beispiel.

// In $maxrecs steht die Anzahl aller Datensätze

if ($start > $maxrecs ) {
$start = $maxrecs;
}




Wen meinst Du mit "genauso versucht wie Du es".

Mich?

Wenn ja, dann ...
Irgendwo in Deinem Skript gibst Du vermutlich über eine Variable über print oder echo, was aber belanglos ist, den Titel aus. Wie die Variable heißt weiß ich nicht. Nehemn wir an sie heißt $gummi. In der Varaibale $gummi steht der Titel.

print "<td>$gummi</td>....";
Das änderst Du auf
print "<td>".htmlspecialchars($gummi)."</td>....";

Dasselbe für die Variable die mit der Beschreibung gefüllt ist.

 
oli
06-06-2002, 12:30 
 
Hallo Hand

ich meinte Dich im letzten Posting.

Könntest Du mir villeicht mal zeigen wo ich das eintragen soll.
Komme absolut nicht mehr klar.

Habe dir den Code mal gepostet.

Mfg Oli

<?
/*************************************
Script: Linkliste v1.0
Programmierer: Oliver Börner
Homepage: http://boerner-design.de
Support: http://boerner-design.de (Forum)

Lizenz siehe readme.txt
**************************************/

/*
In dieser Datei sind keine Veränderungen nötig
*/

$urlname = preg_replace("/(<|>)/","",$urlname);
$url = preg_replace("/(<|>)/","",$url);
$beschreibung = preg_replace("/(<|>)/","",$beschreibung);
$titel = htmlspecialchars($titel);
$beschreibung = htmlspecialchars($beschreibung);

include('dbconnect.php');
$db = mysql_connect("$host","$user","$password");
mysql_select_db("$database",$db) or die ("Keine Verbindung zur Datenbank. Überprüfen Sie Ihre Einstellungen in der dbconnect.php!");
?>
<body bgcolor="#ededed">
<html>
<head>
<title>
Linkliste v1.0
</title>
<style>
A:LINK { TEXT-DECORATION: none; color= blue
}
A:ACTIVE { TEXT-DECORATION: none; color= rot
}
A:VISITED { TEXT-DECORATION: none; color= #000066
}
</style>
</head>
<body bgcolor=#ededed text=#000000>
<table border=0 width=600 bgcolor="#000066" cellspacing=2 border=0 align=center>
<tr>
<td width=500></td>
</tr>
<tr>
<td align="right"><? include("banner.php");?></td>
</tr>
<tr>
<td align="center">
<table border=0 width="600" bgcolor="#ededed" align="center">
<tr bgcolor="#FFFFFF">
<td align=center colspan=2><font face=Verdana color=#000099 size=5><b>Linkliste</b></font>
<td align=right colspan=2><font face=Verdana color=#000099 size=1><? $dat=date("d-m-Y");echo $dat;?><br><? $dat=date("h:m:s");echo $dat;?>
<br><? include ('counter.php')?></font></td>
</tr>
<tr>
<td>
<?
$select = mysql_query("select * from $table");
$reihen = mysql_num_rows($select);

$zeigen = floor($reihen / 5);

if(!$start) { $start = 0.1; }
$result = mysql_query("SELECT * FROM $table limit $start,5",$db);
if($start > 0.1) {
$zurueck = $start - 5;
echo "<a href=\"$PHPSELF?start=$zurueck\"><font face=Verdana size=1><< Zurück</a>";
}
for($i = 0; $i <= $zeigen; $i++) {
echo " <a href=\"$PHPSELF?start=$n\"><font face=Verdana size=1>$i</a> ";
$n += 5;
}
$weiter = $start + 5;
if($reihen > $weiter) {
echo "<a href=\"$PHPSELF?start=$weiter\"><font face=Verdana size=1>Weiter >></a></right>";
}
?>
<? while ($daten = mysql_fetch_array($result)) {
?>

<table border=0 width=\"100%\" align=\"center\">
<tr>
<td width=\"35%\"><font face=Verdana color=#000099 size=2><b>Titel</b></font></td>
<td><font face=Verdana size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<? echo $daten[urlname] ?></font></td>
</tr>
<tr>
<td width=\"35%\"><font face=Verdana color=#000099 size=2><b>URL</b></font></td>
<td><font face=Verdana color=#000099 size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<? echo '<a href="'.$daten[url].'"target="_blank">'.$daten[url].'</a>'; ?></font></td>
</tr>
<tr>
<td width=\"35%\"><font face=Verdana color=#000099 size=2><b>Beschreibung</b></font></td>
<td><font face=Verdana size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<? echo ($daten[beschreibung]) ?></font></td>
</tr><br>
</table><br><? }$select = mysql_query("select * from $table");
$reihen = mysql_num_rows($select);

$zeigen = floor($reihen / 5);

if(!$start) { $start = 0.1; }
$result = mysql_query("SELECT * FROM $table limit $start,5",$db);
if($start > 0.1) {
$zurueck = $start - 5;
echo "<a href=\"$PHPSELF?start=$zurueck\"><font face=Verdana size=1><< Zurück</a>";
}
for($i = 0; $i <= $zeigen; $i++) {
echo " <a href=\"$PHPSELF?start=$n\"><font face=Verdana size=1>$i</a> ";
$n += 5;
}
$weiter = $start + 5;
if($reihen > $weiter) {
echo "<a href=\"$PHPSELF?start=$weiter\"><font face=Verdana size=1>Weiter >></a></right>";
} ?>
<?
if($submit<>""){
$db = mysql_connect("$host","$user","$password");
mysql_select_db("$database", $db);
$sql = "INSERT INTO $table (urlname,beschreibung,url) VALUES ('$urlname','$beschreibung','$url')";
$result = mysql_query($sql, $db);
echo "<br>Sie wurden soeben in die Linkliste eingetragen! Vielen Dank für Ihren Besuch!<br><br>";
echo '<a href="index.php">"Zurück"</a>';

}
else {
?> <br><div align="center">
<form method="post" action="<? echo $PHPSELF ?>">
<table width="200" border="0" cellspacing="0" bordercolor="#000066">
<tr>
<td height="23">
<div align="center"><font face=Verdana size=2><b>Eintragen</b><br>
Titel:<br>
<input type="text" name="urlname" value="<? echo ($urlname) ?>" size="30">
Beschreibung:<br>
<input type="text" name="beschreibung" value="<? echo ($beschreibung) ?>" size="30">
Url:<br>
<input type="text" name="url" value="http://<? echo $url ?>" size="30">
<br>
<input type="submit" name="submit" value="Abschicken">
</div>
</td>
</tr>
</table>
</form>
<?
}
?>
</div>
<br>
<tr><td><b><font face="Arial, Helvetica, sans-serif" color="#000099"size="1">Copyright by
<A href="http://boerner-design.de"target="_blank">Webportal</A></font></b>
</td></tr>

</body>
</html>

 
oli
06-06-2002, 17:55 
 
Habs so eingefügt funzt auch.

<table border=0 width=\"100%\" align=\"center\">
<tr>
<td width=\"35%\"><font face=Verdana color=#000099 size=2><b>Titel</b></font></td>
<td><font face=Verdana size=2> <? echo htmlspecialchars($daten[urlname]) ?></font></td>
</tr>
<tr>
<td width=\"35%\"><font face=Verdana color=#000099 size=2><b>URL</b></font></td>
<td><font face=Verdana color=#000099 size=2>
<? echo '<a href="'.$daten[url].'"target="_blank">'.$daten[url].'</a>'; ?></font></td>
</tr>
<tr>
<td width=\"35%\"><font face=Verdana color=#000099 size=2><b>Beschreibung</b></font></td>
<td><font face=Verdana size=2> <? echo htmlspecialchars($daten[beschreibung]) ?></font></td>
</tr>

Hab aber noch eine Frage an Hand
Wie meintest Du das mit der Variable Start.
if ($start > $maxrecs ) {
$start = $maxrecs;
}
weis nicht so recht was anzufangen damit, oder muss ich das noch hier mit einsetzen.

$zeigen = floor($reihen / 5);
<<< hier rein >>>
if(!$start) { $start = 0.1; }
$result = mysql_query("SELECT * FROM $table limit $start,5",$db);
if($start > 0.1) {
$zurueck = $start - 5;
echo "<a href=\"$PHPSELF?start=$zurueck\"><font face=Verdana size=1><< Zurück</a>";
}
for($i = 0; $i <= $zeigen; $i++) {
echo " <a href=\"$PHPSELF?start=$n\"><font face=Verdana size=1>$i</a> ";
$n += 5;
}
$weiter = $start + 5;
if($reihen > $weiter) {
echo "<a href=\"$PHPSELF?start=$weiter\"><font face=Verdana size=1>Weiter >></a></right>";
}

Danke im Voraus

Mfg Oli


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:56 Uhr.