Hallo,
ich habe mit viel Hilfe das gebaut:
---
<?
$ja = '*ja*';
$nein = '*nein*';
function search4links($url)
{
static $urlBuffer;
if(isset($urlBuffer[$url])) return 0;
$urlBuffer[$url] = 1;
echo("Durchsuche $url<br>\n");
flush();
$meineSeite = @implode("", @file($url));
if(!$meineSeite) return 0;
$existing = false;
// Links suchen
preg_match_all("/(href|src)=("|')(.*)(\2)/siU", $meineSeite, $ausgabe);
$anzahlLinks = 0;
foreach($ausgabe[3] as $link)
{
if(preg_match("/(bildungszentrum-hyperkinetik.de)/i", $link))
$GLOBALS["foundVals"]++;
if(!preg_match("/(http)/i", $link))
{
if(!($link[0] == "/"))
{
if(!preg_match("/(http://.*)/(.*).(.*)$/i", $url, $mUrl))
{
$anzahlLinks += search4links($url."/".$link);
}
else
{
$anzahlLinks += search4links($mUrl[1]."/".$link);
}
}
else
{
preg_match("/(http://.*)/.*)//siU", $url, $mUrl);
print_r($mUrl);
$anzahlLinks += search4links($mUrl[1]."/".$link, $fPtr);
}
}
}
if($existing) {
$query = "UPDATE parnter (check) VALUES ('".mysql_escape_string ($ja)."') WHERE adresse LIKE $url";
if($insert = @mysql_query("$query")) {
echo '<p align="center"><b>Abfrage erfolgreich</b><br><br><a href="organizer.php"><- zurück</a></p>';
}
} else {
$query = "UPDATE parnter (check) VALUES ('".mysql_escape_string ($nein)."') WHERE adresse LIKE $url";
if($insert = @mysql_query("$query")) {
echo '<p align="center"><b>Abfrage erfolgreich</b><br><br><a href="organizer.php"><- zurück</a></p>';
}
}
return $anzahlLinks;
}
$foundVals = 0;
if(isset($_POST['url']))
{
search4links($_POST['url']);
echo "\n\n<br><br>Links gefunden: ".$foundVals;
}
?>
---
Nur sind jetzt zwei Probleme:
1. Wenn ich etwas überprüfe, schreibt er mir nichts in die Datenbank.
2. Wenn ich etwas überprüfe, überprüft er oft sehr komisch oder hält an. Ein beispiel hier:
http://stephanl.s1.cybton.com/linkadmin2003/iframe/organizer.php
Dann auf Prüfen.
Benutzer: Test
PW: testtest
Woran kann das liegen?
Danke schon jetzt
Stephan