Suchmaschinenoptimierung
   
 

SEMSEO Konferenz 2012
 

 
 

PHP suche - suchresultate in einem neuen fenster anzeigen?

Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Webprogrammierung, Templatedesign & Microformats
 Ist eine robots.txt notwendig? Darstellungsfehler Firefox - Explorer  
croxxx69

pr


: 08.10.2008
: 122



: 10.11.2009, 19:55    : PHP suche - suchresultate in einem neuen fenster anzeigen? Antworten mit Zitat

hallo,

wollte die google suche (fuer die eigene seite) nicht auf meine seite installieren weil die sehr unuebersichtlich ist, darum habe ich diese suche gefunden:

Code:
<?php
// Domain-Name für die Anzeige in den Resultaten
$DomainName = "http://".GetParam("SERVER_NAME", "S");

// Root-Verzeichnis für den Zugriff auf die Dateien am Server
// Beispiel: $RootDir=dirname("/htdocs");
$RootDir = dirname(GetParam("SCRIPT_FILENAME", "S"));

// Dateiname für die Protokollierung der Suchbegriffe
// (kein Dateiname zum deaktivieren der Protokollierung)
// z.B. "../../files/logs/search_words.log"
$SearchWordLog = "";

// Länge der Textfragmente um die Fundstellen (in Zeichen)
$Found_Piece_Len = 50;

// Erlaubtes Verzeichnis
// Z.B.: $AllowedDirs = $RootDir."/content";
$AllowedDir = $RootDir;

// Erlaubte Erweiterungen als Array, getrennt mit einem Beistrich
// Z.B.: $AllowedExts=array(".php",".php3",".php4",".htm",".html",".ihtml",".shtm",".shtml",".txt");
$AllowedExts = array(".php",".html",".shtml");

// Deutsche Umlaute dekodieren (dadurch wird beispielsweise "&auml;" zu "ä")
$ActivateUmlaut = true;

// Links zu den gefundenen Seiten in einem neuen Tab/Fenster öffnen
$LinkTargetBlank = true;

// *****************************************************************************

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Suche</title>

<meta name="title" content="Suche">
<meta name="author" content="Werner Rumpeltesz">
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="content-language" content="de-at">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel=stylesheet type="text/css" href="search.css">

</head>
<body>



<h4>Tražilica</h4>

<?php
  $SearchTerm = FormatSearchString(stripslashes(GetParam("q", "P")));
  if (!$SearchTerm) $SearchTerm = FormatSearchString(stripslashes(GetParam("q", "G")));
?>

<table border=0 cellspacing=0 cellpadding=0><tr><td>
<form class=formbox action="<?php echo GetParam("PHP_SELF", "S"); ?>" method="post">
<table border=0 cellspacing=0 cellpadding=1>
<tr>
  <td class=formfield nowrap>Traži:&nbsp;</td><td><input type="text" name="q" size=40 maxlength=250 value="<?=$SearchTerm?>"></td></tr>
<tr><td></td><td class=formfield><input type="submit" value="Pronađi" name="submit"></td></tr>
</table>
</form>
</td></tr></table>

<br>

<?php

if($SearchTerm){
  // Protokollierung der Suchbegriffe
  if(file_exists($SearchWordLog)) {
    $fp=@fopen($SearchWordLog,"a");
    if($fp) {
      flock($fp,2);
      fputs($fp,$SearchTerm."\r\n",256);
      flock($fp,3);
      fclose($fp);
    }
  }

  echo "<h4>Rezultati</h4>\n";

  $files=ReadDirs($AllowedDir,$AllowedExts);

  $ResultCount=0;
  if($files && $SearchTerm){
    foreach($files as $f){
      if(SearchFile($f,$SearchTerm)){
        $fn=$f;
        if(substr($f,0,strlen($RootDir))==$RootDir) $fn=$DomainName.substr($f,strlen($RootDir));
        $ResultCount++;
        echo $ResultCount.". ";
        echo '<a href="'.$fn.'"';
        if ($LinkTargetBlank) echo ' target="_blank"';
        echo "><b>".$Site_Title."</b></a><br>\n";
        if($Meta_Description) echo $Meta_Description."<br>\n";
        echo "<span class=small><span class=grey>".$Site_Content."</span></span><br>\n";
        echo "<span class=grey>Datei:</span> <span class=green>".$fn."</span>";
        echo " - ";
        echo "<span class=grey>Größe:</span> <span class=green>".round(filesize($f)/1024,2)." KB</span>";
        echo "<br>";
        echo "<br>\n";
      }
    }
    clearstatcache();
  }
  echo "Pronađeni su: <b>".$ResultCount."</b> stranica.<br>\n";
}

function SearchFile($url,$search){
  global $Found_Piece_Len;
  global $ActivateUmlaut;
  global $RootDir;
  global $DomainName;

  global $Site_Title;
  global $Meta_Title;
  global $Site_Content;
  global $Meta_Description;
  global $Meta_Robots;

  $Site_Title="";
  $Meta_Title="";
  $Meta_Keywords="";
  $Site_Content="";
  $Meta_Description="";
  $Meta_Robots="";

  // *** Meta-Angaben ermitteln ***
  $gmtarray=get_meta_tags($url);
  while(list($key,$val)=each($gmtarray)){
    switch(strtolower($key)){
      case "title": $Meta_Title=$val; break;
      case "keywords": $Meta_Keywords=$val; break;
      case "description": $Meta_Description=$val; break;
      case "robots": $Meta_Robots=strtolower($val); break;
      case "revisit": $Meta_Revisit=strtolower($val); break;
      case "revisit-after": $Meta_RevisitAfter=strtolower($val); break;
    }
  }
  $Meta_Description="";

  // *** Dateiinhalt einlesen (bzw. Ausgabe bei PHP) ***
  $fp=@fopen($url,"r");
  if(!$fp) return false;
  $content="";
  while(!feof($fp)){
    $content.=fgets($fp,10240);
  }
  fclose($fp);
 
  $content = preg_replace("/<\?.*?\?>/s", "", $content);

  $content = $Meta_Title." ".$Meta_Keywords." ".$Meta_Description." ".trim($content);

  // *** Seitentitel ermitteln ***
  $Site_Title = GetSiteTitle($content);
  if(!$Site_Title) $Site_Title = $Meta_Title;
  if(!$Site_Title) $Site_Title = basename($url);

  if (substr($content, 0, strlen($Site_Title)) == $Site_Title) $content = substr($content, strlen($Site_Title));

  $content = strip_tags($content);
  $content = str_replace("\n", " ", $content);
  $content = str_replace("\r", "", $content);
  $sc = " ".trim($content);

  while(strpos($sc,"  ")){
    $sc=str_replace("  "," ",$sc);
  }
  $content=$sc;

  // Deutsche Umlaute konvertieren
  if($ActivateUmlaut){
    $content=str_replace("&auml;","ä",$content);
    $content=str_replace("&ouml;","ö",$content);
    $content=str_replace("&uuml;","ü",$content);
    $content=str_replace("&Auml;","Ä",$content);
    $content=str_replace("&Ouml;","Ö",$content);
    $content=str_replace("&Uuml;","Ü",$content);
    $content=str_replace("&szlig;","ß",$content);
  }
  $content=str_replace("&euro;","€",$content);
  $content=str_replace("&nbsp;"," ",$content);

  // *** Suchen ***
  $found=false;
  $a=explode(" ",strtolower($search));
  $lowcontent=strtolower($content);
  $result_text="";
  foreach($a as $arg){
    $p0=strpos($lowcontent,$arg);
    if($p0>0){
      $p1=$Found_Piece_Len;
      $p2=$Found_Piece_Len;
      if (($p0-$p1) < 0) $p1=$p0;
      $result_text.="...".substr($content,$p0-$p1,$p1)."<b class=red>";
      $result_text.=substr($content,$p0,strlen($arg))."</b>".substr($content,$p0+strlen($arg),$p2);
      $found=true;
    }else{
      $found=false;
      break;
    }
  }

  if(!$found) return false;
  if($result_text) $result_text.="...";

  $Site_Content=$result_text;

  return true;
}

function FormatSearchString($search){
  $chars=".:-_,;!§$%&/()=#+*~'?\[|]{^°}²³µ@€ šđžćčäöüß1234567890abcdefghijklmnopqrstuvwxyz";
  $s="";
  for($i=0;$i<strlen($search);$i++){
    $a=substr($search,$i,1);
    if(stristr($chars,$a)) $s.=$a;
  }
  while(strpos($s,"  ")){
    $s=str_replace("  "," ",$s);
  }
  return trim($s);
}

function ReadDirs($d,$ExtArray){
  $fileArray=array();
  if($hDir = opendir($d)){
    while($file=readdir($hDir)){
      if(!is_dir($d."/".$file)){
        // *** .*-Dateien (zB .htaccess) ignorieren ***
        if(substr($file,0,1)!="."){
              foreach($ExtArray as $ext){
                if(substr(strtolower($file),strlen($file)-strlen($ext),strlen($ext))==strtolower($ext)){
                    array_push($fileArray,$d."/".$file);
                    continue;
                }
              }
          }
      }
    }
    closedir($hDir);
  }
  return $fileArray;
}

function GetSiteTitle($content)
{
  $p1=strpos(strtolower($content),"<title>");
  if(!$p1) return false;
  $p2=strpos(strtolower($content),"</title>",$p1);
  if(!$p2) return false;
  return trim(substr($content,$p1+7,$p2-$p1-7));
}

function GetParam($ParamName, $Method = "P", $DefaultValue = "") {
  if ($Method == "P") {
    if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
  } else if ($Method == "G") {
    if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
  } else if ($Method == "S") {
    if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
  }
}

?>



</body>
</html>


eigentlich ganz ok, nur leider oeffnet mir die suche im selben fenster die ergebnisse, was mir leider nicht gefaellt... wie kann ich dies aendern?


lg!
Nach oben
croxxx69 Private Nachricht senden WWW
SloMo

pr


: 04.01.2005
: 4027



: 10.11.2009, 23:02    : PHP suche - suchresultate in einem neuen fenster anzeigen? Antworten mit Zitat

<form class=formbox action="<?php echo GetParam("PHP_SELF", "S"); ?>" method="post" target="_blank">
Nach oben
SloMo Private Nachricht senden
croxxx69

pr


: 08.10.2008
: 122



: 11.11.2009, 14:58    : PHP suche - suchresultate in einem neuen fenster anzeigen? Antworten mit Zitat

geht leider nicht... es oeffnet sich eine neue seite... aber nichts geschieht...

sagen wir mal ich moechte die ergebnisse auf der seite ergebnisse.html oeffnen... kann man das irgendwie?
Nach oben
croxxx69 Private Nachricht senden WWW
nerd

pr


: 15.02.2005
: 1686
: AKL


: 11.11.2009, 18:49    : PHP suche - suchresultate in einem neuen fenster anzeigen? Antworten mit Zitat

wenn du die ergebnisse auf der selben seite ohne eine nkompletten reload oeffnen willst brauchst du ajax; query oder so...

marketing through social media is just like herding cats. and just to make it interesting, many of the cats are drunk and stupid...

blackhat linkkauf und so...
Nach oben
nerd Private Nachricht senden
Kassandra70

pr


: 11.01.2006
: 198
: Gran Canaria


: 11.11.2009, 20:57    : PHP suche - suchresultate in einem neuen fenster anzeigen? Antworten mit Zitat

also bei mir funktioniert das wunderbar:
<form class=formbox action="<?php echo GetParam("PHP_SELF", "S"); ?>" method="post" target="_blank"> neue Seite öffnet sich und gut.

hast du denn bei action was geändert?
-
ansonsten
ganzer code auf seite suche.php packen
ganzen code auf seite ergebnisse.php packen
aus der action da oben ergebnisse.php machen, gucken was das S da soll, bei mir hatte das ignorieren aber keine sichtbaren Auswirkungen
und fertig.
wenn die Zielseite unbedignt ergebnisse.html sein soll, dann kannst du Zielseite auch so nennen, mußt aber deinem Server über die .htacess mitteilen, dass er auch html als php behandeln soll ...

http://www.anabell.de - ein nicht optimiertes Projekt mit tausend Themen
Nach oben
Kassandra70 Private Nachricht senden WWW
Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Webprogrammierung, Templatedesign & Microformats
Seite 1 von 1

 






Ähnliche Beiträge
Thema Forum Antworten
Auf der Suche nach einer seriöen Seo Agentur - Blacklist? Auf der Suche nach einer seriöen Seo ... chris_van_vel Ich hab' da mal 'ne Frage 12 11.02.2012, 14:03 Auf der Suche nach einer seriöen Seo Agentur - Blacklist?
Suche Linkbuilder Suche Linkbuilder matthias116 Stellenbörse: Stellenangebote und -gesuche 0 10.02.2012, 14:22 Suche Linkbuilder
[S] Suche mehr Traffic [S] Suche mehr Traffic derjan Marktplatz: Dienstleistungen 0 08.02.2012, 20:05 [S] Suche mehr Traffic
Suche Gründungspartner mit Erfahrung im Erotikhandel Suche Gründungspartner mit Erfahrung ... Affiliater Stellenbörse: Stellenangebote und -gesuche 0 08.02.2012, 14:42 Suche Gründungspartner mit Erfahrung im Erotikhandel
Suche Offsiteoptimierung für Adultwebsite Suche Offsiteoptimierung für Adultweb... Rüppel Marktplatz: Dienstleistungen 0 07.02.2012, 23:09 Suche Offsiteoptimierung für Adultwebsite
von PR1 zu PR2 innerhalb von einem Monat von PR1 zu PR2 innerhalb von einem Monat carlostra Webkataloge und Artikelverzeichnisse 6 07.02.2012, 00:47 von PR1 zu PR2 innerhalb von einem Monat
PSVita-Forum.de - Forum über den neuen Handheld "PS Vit PSVita-Forum.de - Forum über den neue... PSVFabian SEO-Feedback und -Reviews von Mitgliederwebseiten 0 06.02.2012, 17:27 PSVita-Forum.de - Forum über den neuen Handheld "PS Vit

Suchmaschinenoptimierung | Latent Semantische Optimierung (LSO) | SEO Blog | SEO Online Tools | Suchmaschinenmarketing Angebot | Online Marketing

Impressum

Dieses SEO Forum läuft unter phpBB.


Sie lesen gerade: PHP suche - suchresultate in einem neuen fenster anzeigen?