Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

PHP suche - suchresultate in einem neuen fenster anzeigen?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
croxxx69
PostRank 4
PostRank 4
Beiträge: 190
Registriert: 08.10.2008, 15:13

Beitrag von croxxx69 » 10.11.2009, 19:55

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: Alles auswählen

<?php
// Domain-Name für die Anzeige in den Resultaten
$DomainName = "http&#58;//".GetParam&#40;"SERVER_NAME", "S"&#41;;

// Root-Verzeichnis für den Zugriff auf die Dateien am Server
// Beispiel&#58; $RootDir=dirname&#40;"/htdocs"&#41;;
$RootDir = dirname&#40;GetParam&#40;"SCRIPT_FILENAME", "S"&#41;&#41;;

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

// Länge der Textfragmente um die Fundstellen &#40;in Zeichen&#41;
$Found_Piece_Len = 50;

// Erlaubtes Verzeichnis
// Z.B.&#58; $AllowedDirs = $RootDir."/content";
$AllowedDir = $RootDir;

// Erlaubte Erweiterungen als Array, getrennt mit einem Beistrich
// Z.B.&#58; $AllowedExts=array&#40;".php",".php3",".php4",".htm",".html",".ihtml",".shtm",".shtml",".txt"&#41;;
$AllowedExts = array&#40;".php",".html",".shtml"&#41;;

// Deutsche Umlaute dekodieren &#40;dadurch wird beispielsweise "&auml;" zu "ä"&#41;
$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&#40;stripslashes&#40;GetParam&#40;"q", "P"&#41;&#41;&#41;;
  if &#40;!$SearchTerm&#41; $SearchTerm = FormatSearchString&#40;stripslashes&#40;GetParam&#40;"q", "G"&#41;&#41;&#41;;
?>

<table border=0 cellspacing=0 cellpadding=0><tr><td>
<form class=formbox action="<?php echo GetParam&#40;"PHP_SELF", "S"&#41;; ?>" method="post">
<table border=0 cellspacing=0 cellpadding=1>
<tr>
  <td class=formfield nowrap>Traži&#58;&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&#273;i" name="submit"></td></tr>
</table>
</form>
</td></tr></table>

<br>

<?php

if&#40;$SearchTerm&#41;&#123;
  // Protokollierung der Suchbegriffe
  if&#40;file_exists&#40;$SearchWordLog&#41;&#41; &#123;
    $fp=@fopen&#40;$SearchWordLog,"a"&#41;;
    if&#40;$fp&#41; &#123;
      flock&#40;$fp,2&#41;;
      fputs&#40;$fp,$SearchTerm."\r\n",256&#41;;
      flock&#40;$fp,3&#41;;
      fclose&#40;$fp&#41;;
    &#125;
  &#125;

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

  $files=ReadDirs&#40;$AllowedDir,$AllowedExts&#41;;

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

function SearchFile&#40;$url,$search&#41;&#123;
  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&#40;$url&#41;;
  while&#40;list&#40;$key,$val&#41;=each&#40;$gmtarray&#41;&#41;&#123;
    switch&#40;strtolower&#40;$key&#41;&#41;&#123;
      case "title"&#58; $Meta_Title=$val; break;
      case "keywords"&#58; $Meta_Keywords=$val; break;
      case "description"&#58; $Meta_Description=$val; break;
      case "robots"&#58; $Meta_Robots=strtolower&#40;$val&#41;; break;
      case "revisit"&#58; $Meta_Revisit=strtolower&#40;$val&#41;; break;
      case "revisit-after"&#58; $Meta_RevisitAfter=strtolower&#40;$val&#41;; break;
    &#125;
  &#125;
  $Meta_Description="";

  // *** Dateiinhalt einlesen &#40;bzw. Ausgabe bei PHP&#41; ***
  $fp=@fopen&#40;$url,"r"&#41;;
  if&#40;!$fp&#41; return false;
  $content="";
  while&#40;!feof&#40;$fp&#41;&#41;&#123;
    $content.=fgets&#40;$fp,10240&#41;;
  &#125;
  fclose&#40;$fp&#41;;
  
  $content = preg_replace&#40;"/<\?.*?\?>/s", "", $content&#41;;

  $content = $Meta_Title." ".$Meta_Keywords." ".$Meta_Description." ".trim&#40;$content&#41;;

  // *** Seitentitel ermitteln ***
  $Site_Title = GetSiteTitle&#40;$content&#41;;
  if&#40;!$Site_Title&#41; $Site_Title = $Meta_Title;
  if&#40;!$Site_Title&#41; $Site_Title = basename&#40;$url&#41;;

  if &#40;substr&#40;$content, 0, strlen&#40;$Site_Title&#41;&#41; == $Site_Title&#41; $content = substr&#40;$content, strlen&#40;$Site_Title&#41;&#41;;

  $content = strip_tags&#40;$content&#41;;
  $content = str_replace&#40;"\n", " ", $content&#41;;
  $content = str_replace&#40;"\r", "", $content&#41;;
  $sc = " ".trim&#40;$content&#41;;

  while&#40;strpos&#40;$sc,"  "&#41;&#41;&#123;
    $sc=str_replace&#40;"  "," ",$sc&#41;;
  &#125;
  $content=$sc;

  // Deutsche Umlaute konvertieren
  if&#40;$ActivateUmlaut&#41;&#123;
    $content=str_replace&#40;"&auml;","ä",$content&#41;;
    $content=str_replace&#40;"&ouml;","ö",$content&#41;;
    $content=str_replace&#40;"&uuml;","ü",$content&#41;;
    $content=str_replace&#40;"&Auml;","Ä",$content&#41;;
    $content=str_replace&#40;"&Ouml;","Ö",$content&#41;;
    $content=str_replace&#40;"&Uuml;","Ü",$content&#41;;
    $content=str_replace&#40;"&szlig;","ß",$content&#41;;
  &#125;
  $content=str_replace&#40;"&euro;","€",$content&#41;;
  $content=str_replace&#40;"&nbsp;"," ",$content&#41;;

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

  if&#40;!$found&#41; return false;
  if&#40;$result_text&#41; $result_text.="...";

  $Site_Content=$result_text;

  return true;
&#125;

function FormatSearchString&#40;$search&#41;&#123;
  $chars=".&#58;-_,;!§$%&/&#40;&#41;=#+*~'?\&#91;|&#93;&#123;^°&#125;²³µ@€ š&#273;ž&#263;&#269;äöüß1234567890abcdefghijklmnopqrstuvwxyz";
  $s="";
  for&#40;$i=0;$i<strlen&#40;$search&#41;;$i++&#41;&#123;
    $a=substr&#40;$search,$i,1&#41;;
    if&#40;stristr&#40;$chars,$a&#41;&#41; $s.=$a;
  &#125;
  while&#40;strpos&#40;$s,"  "&#41;&#41;&#123;
    $s=str_replace&#40;"  "," ",$s&#41;;
  &#125;
  return trim&#40;$s&#41;;
&#125;

function ReadDirs&#40;$d,$ExtArray&#41;&#123;
  $fileArray=array&#40;&#41;;
  if&#40;$hDir = opendir&#40;$d&#41;&#41;&#123;
    while&#40;$file=readdir&#40;$hDir&#41;&#41;&#123;
      if&#40;!is_dir&#40;$d."/".$file&#41;&#41;&#123;
        // *** .*-Dateien &#40;zB .htaccess&#41; ignorieren ***
        if&#40;substr&#40;$file,0,1&#41;!="."&#41;&#123;
              foreach&#40;$ExtArray as $ext&#41;&#123;
                if&#40;substr&#40;strtolower&#40;$file&#41;,strlen&#40;$file&#41;-strlen&#40;$ext&#41;,strlen&#40;$ext&#41;&#41;==strtolower&#40;$ext&#41;&#41;&#123;
                    array_push&#40;$fileArray,$d."/".$file&#41;;
                    continue;
                &#125;
              &#125;
          &#125;
      &#125;
    &#125;
    closedir&#40;$hDir&#41;;
  &#125;
  return $fileArray;
&#125;

function GetSiteTitle&#40;$content&#41;
&#123;
  $p1=strpos&#40;strtolower&#40;$content&#41;,"<title>"&#41;;
  if&#40;!$p1&#41; return false;
  $p2=strpos&#40;strtolower&#40;$content&#41;,"</title>",$p1&#41;;
  if&#40;!$p2&#41; return false;
  return trim&#40;substr&#40;$content,$p1+7,$p2-$p1-7&#41;&#41;;
&#125;

function GetParam&#40;$ParamName, $Method = "P", $DefaultValue = ""&#41; &#123;
  if &#40;$Method == "P"&#41; &#123;
    if &#40;isset&#40;$_POST&#91;$ParamName&#93;&#41;&#41; return $_POST&#91;$ParamName&#93;; else return $DefaultValue;
  &#125; else if &#40;$Method == "G"&#41; &#123;
    if &#40;isset&#40;$_GET&#91;$ParamName&#93;&#41;&#41; return $_GET&#91;$ParamName&#93;; else return $DefaultValue;
  &#125; else if &#40;$Method == "S"&#41; &#123;
    if &#40;isset&#40;$_SERVER&#91;$ParamName&#93;&#41;&#41; return $_SERVER&#91;$ParamName&#93;; else return $DefaultValue;
  &#125;
&#125;

?>



</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!

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

SloMo
PostRank 10
PostRank 10
Beiträge: 4880
Registriert: 04.01.2005, 18:26

Beitrag von SloMo » 10.11.2009, 23:02

<form class=formbox action="<?php echo GetParam("PHP_SELF", "S"); ?>" method="post" target="_blank">

croxxx69
PostRank 4
PostRank 4
Beiträge: 190
Registriert: 08.10.2008, 15:13

Beitrag von croxxx69 » 11.11.2009, 14:58

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?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

nerd
PostRank 10
PostRank 10
Beiträge: 4023
Registriert: 15.02.2005, 04:02

Beitrag von nerd » 11.11.2009, 18:49

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

Kassandra70
PostRank 4
PostRank 4
Beiträge: 198
Registriert: 11.01.2006, 00:48
Wohnort: Gran Canaria

Beitrag von Kassandra70 » 11.11.2009, 20:57

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 ...
https://www.anabell.de - ein nicht optimiertes Projekt mit tausend Themen

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag