Home Sitemap Impressum
SEO Welten - Webcoding, Editoren, Scripte und Anwendungen

Webcoding - Script für AWS in der Variante für PHP4, DOM/XML und ISO-8859-1

Voraussetzung: DOM/XML und PHP4

Auf dieser Seite sehen Sie die Ansicht des Scripts in der Ausführung für PHP4, DOM/XML und ISO-8859-1. Wie bereits bei den Kurzbeschreibungen der Scripte mit SimpleXML erwähnt, ist der eigentliche Unterschied zwischen ISO und Unicode beim Aufbau der Scripts eher gering. Neben dem veränderten Aufbau des Posteingangsbereiches kommt die Funktion utf8_decode an allen wesentlichen Ausgabestellen zur Anwendung und eine entsprechende Deklaration des verwendeten Standards im Headbereich und bei den Formularen sollte nicht fehlen, damit das Script fehlerfrei läuft. Weitere Erläuterungen finden Sie unter den nachfolgenden Verweisen.

Hinweis: Der Download für dieses Script wird eingestellt, da es nur noch für Anschauungszwecke dient und da ohne Signarur und Timestamp ab Mitte August 2009 keine Anfragen mehr vom Amazon Webserver beantwortet werden. Lauffähige Scripte mit Signatur und Zeitstempel finden Sie jedoch ebenfalls auf unseren Seiten, wenn Sie den Link in der rechten Spalte folgen.

Zu Anschauungszwecken und zum Vergleich,
ein Script mit DOM XML, PHP 4 und UTF-8

weiterlesen » Script für PHP4 / UTF-8


Neu ab August 2009

Scripts für Product Advertising API mit
SimpleXML, PHP5, Zeitstempel und Signatur
finden Sie unter:

Ein einfaches Script...


Neu ab Oktober 2011

Beschreibung | DemoShop | Download

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<title>Literatur / B&uuml;cher zum Thema: Perl Programmierung</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="demos.css"> 
</head>

<body bgcolor="#F1EDDA">

<h1 align="center">Ein Demo mit PHP4, DOMXML und ISO</h1>
<div align="center"><center>
		
<?php

/* 
 Bitte dieses Script nicht mehr verwenden! Ab Mitte August 2009 werden vom Amazon-Server nur noch Anfragen beantwortet, die 
 mit einer Signatur versehen sind. Zum Erstellen dieser Signatur ist PHP in der Version PHP 5.1.2 oder höher erforderlich.
 Dieses Seite mit dem Listing dient nur noch der Anschauung. Folgen Sie statt dessen den Linkverweis "Ein einfaches Script..."
 zu den neueren Scripten.
*/

//------ Hier bitte Ihre persoenlichen Zugangsschluessel eintragen --------

$access_key_id = "0X0"; //-- Hier bitte an Stelle von 0X0 zwischen "" ohne Leerstellen Ihre AWSAccessKeyId eintragen
$associate_id  = "0X0"; //-- Hier bitte an Stelle von 0X0 zwischen "" ohne Leerstellen Ihre Partner-Id eintragen


//------ Rubrik und Thema vorwaehlen, damit Seite nicht leer ladet --------

$dierubrik = "Books";   //-- Eine Rubrik eintragen, z.B. Books oder Tools
$meinthema = "Perl";    //-- Ein Suchwort, Thema, Titel oder Autor eintragen


//------ Ab hier bitte nur bei Bedarf die Zahlenwerte abaendern! ----------

$tableweite = "width=\"880\"";     //-- Tabellenweite anpassen -------------
$cellspacg  = "cellspacing=\"0\" cellpadding=\"0\"";
$zellenall  = "padding-left: 10px; padding-right: 10px; padding-top: 12px; padding-bottom: 15px;";
$zellunten  = "padding-left: 10px; padding-right: 10px; padding-top: 10px; padding-bottom: 10px;";


//------ Ab hier bitte keine Veraenderungen mehr vornehmen! ---------------
//------ Auslagerung dient nur zur Verkuerzung der Zeilen -----------------

$tabla   = "target=\"_blank\"";
$goldbr  = "<span class=\"goldbraun\">";

//------ Der Briefkasten vom Formular mit Umwandlung der Umlaute ----------

if ($_GET) {

   $SearchIndex = $_GET['SearchIndex'];
   $Keywords    = $_GET['Keywords'];
   $ItemPage    = $_GET['ItemPage'];

   $eingang = array('Ä','ä','Ö','ö','Ü','ü','ß','<','>','(',')','{','}','[',']','/','\\',' ');        
   $ausgang = array('Ae','ae','Oe','oe','Ue','ue','ss','no','nie','nicht','nein','na','nae','nee','nu','nn','mm','+');
   $umlautade = str_replace($eingang,$ausgang,$Keywords);

   $SearchIndex = preg_replace("/[^a-zA-Z]/", "no", $SearchIndex);
   $ItemPage    = preg_replace("/[^0-9]/", "1", $ItemPage);     
   }
   else {$SearchIndex = $dierubrik;          
         $umlautade   = $meinthema;
         $ItemPage    = 1;
   }

//----- Die Titelzeile und das obere Suchformular --------------------------------

print "\t<table border=\"0\" ".$tableweite." ".$cellspacg.">\n".
      "\t<tr><td width=\"100%\" style=\"padding-top: 1px; padding-bottom: 2px; "background-image: url(../images/zellendkl.gif)\">\n".
      "\t<p align=\"center\">".$goldbr."Literatur / B&uuml;cher zum Thema " .$umlautade. " bei Amazon</span></td></tr>\n".
      "\t</table>\n";

?>

<form name="Suchoptionen" action="<?php echo basename($_SERVER["PHP_SELF"]);?>" method="get" accept-charset="iso-8859-1">

<br><br>
<select name="SearchIndex">
   <option value="Books">B&uuml;cher</option>
   <option value="DVD">DVD</option>
   <option value="Music">Musik</option>
   <option value="Toys">Spielwaren</option>
   <option value="OutdoorLiving">Hobby & Freizeit</option>
   <option value="Software">Software</option>
   <option value="Tools">Werkzeug</option>
   <option value="SoftwareVideoGames">Video & PC Spiele</option>
   <option value="HomeGarden">Haus & Garten</option>
   <option value="Kitchen">Haushalt</option>
   <option value="Photo">Fotografie</option>
   <option value="Electronics">Elektronik</option>
</select>
 
&nbsp; Eingabe

<input type ="text" name="Keywords" value="" size="30">
<input type ="hidden" name="ItemPage" value="1">
<input type ="submit" value="Suchen">
</form>

<?php

print "\t<hr color=\"#FDFCFB\" />\n\n";
print "\t<table border=\"0\" ".$tableweite." cellspacing=\"0\" cellpadding=\"0\">\n\n";

//------ Das eigentliche Sende- und Empfangsteil -------------------------
//------ Die restlichen Parameter werden gebildet. -----------------------


$alleparameter = "AWSAccessKeyId" ."=".  $access_key_id ."&".
                 "AssociateTag"   ."=".  $associate_id  ."&".
                 "Operation"      ."=". "ItemSearch"    ."&".
                 "SearchIndex"    ."=".  $SearchIndex   ."&".
                 "Keywords"       ."=".  $umlautade     ."&".
                 "ResponseGroup"  ."=". "Medium"        ."&".
                 "ItemPage"       ."=".  $ItemPage;

//------ Die XML-Datei wird geladen. --------------------------------------

$doc = domxml_open_file("http://ecs.amazonaws.de/onca/xml?Service=AWSECommerceService&."$alleparameter);

//------ Aus der XML-Datei werden zuerst die Bilder ausgelesen. -----------
//------ Wenn kein Bild vorhanden, so wird ein Ersatzimage geladen. --------

$Elemente = $doc->get_elements_by_tagname('Item');

foreach ($Elemente as $artikel) {

$ersatzBild  = "ersatzbild.jpg";      //-- Pfad fuer das Ersatzbild hier! ----

    $BildElement = $artikel->get_elements_by_tagname('MediumImage');

     if (count($BildElement) > 0) {$ImageElement = $BildElement[0];
         $mediumimages = $ImageElement->first_child();      
         $einBild = $mediumimages->get_content();
    }   else {$einBild = $ersatzBild;
    }

//------ Ab hier werden die textlichen Inhalte ausgelesen. ----------------

    $titel = $artikel->get_elements_by_tagname('Title');

     if (count($titel) > 0) {$Beginn = $titel[0];
         $derTitel = $Beginn->get_content();
    }   else {$derTitel = 'Keine Angaben zum Titel abrufbar!';
    }

    $Autor = $artikel->get_elements_by_tagname('Author');

     if (count($Autor) > 0) {$Autoreins = $Autor[0];
         $einAutor = $Autoreins->get_content();
    }    else {$einAutor = 'Siehe unter weitere Details';
    }

     if (count($Autor) > 1) {$Autorzwei = $Autor[1];
         $Mitautor = $Autorzwei->get_content();
    }    else {$Mitautor = ' ';
    }

     if (count($Autor) > 2) {$Autordrei = $Autor[2];
         $zweiterMitautor = $Autordrei->get_content();
    }    else {$zweiterMitautor = ' ';
    }

    $Buchbindung = $artikel->get_elements_by_tagname('Binding');

    if (count($Buchbindung) > 0) {$welcheBindung = $Buchbindung[0];
        $dieseBindung = $welcheBindung->get_content();
    }   else {$dieseBindung = '-';
    }

    $Bestellung = $artikel->get_elements_by_tagname('DetailPageURL');

    if (count($Bestellung) > 0) {$Informationen = $Bestellung[0];
        $Infos = $Informationen->get_content();
    }   else {$Infos = 'weitere Informationen nicht zugaenglich';
    }

    $Hersteller = $artikel->get_elements_by_tagname('Manufacturer');

    if (count($Hersteller) > 0) {$Herausgeber = $Hersteller[0];     
       $Manufacturer = $Herausgeber->get_content();
    }  else {$Manufacturer = 'keine Angaben';
    }

    $einDatum = $artikel->get_elements_by_tagname('PublicationDate');

    if (count($einDatum) > 0) {$diesesDatum = $einDatum[0];
       $PublicationDate = $diesesDatum->get_content();
    }  else {$PublicationDate = '-';
    }   

//------- Was die Beschaffenheit anbelangt, z.B. tadelose Neuware --------

     $Feature = $artikel->get_elements_by_tagname('Feature');

     if (count($Feature) > 0) {$Angabeeins = $Feature[0];
         $Neuware = $Angabeeins->get_content();
    }    else {$Neuware = 'keine Angaben';
    }

     if (count($Feature) > 1) {$Angabezwei = $Feature[1];
         $weitereAngaben = $Angabezwei->get_content();
    }    else {$weitereAngaben = '*siehe unter Details';
    } 

//------ Offizieller Handelspreis und Angebotspreise ---------------------

$Neupreis = $artikel->get_elements_by_tagname('LowestNewPrice');

   if (count($Neupreis) > 0) {$Preisinfo = $Neupreis[0];
        $derPreis = $Preisinfo->last_child();
        $ganztoll = $derPreis->get_content();
    }   else {$ganztoll = 'keine Angaben';
    }

$Altpreis = $artikel->get_elements_by_tagname('LowestUsedPrice');

    if (count($Altpreis) > 0) {$malsehen = $Altpreis[0];
        $Preiszwei = $malsehen->last_child();
        $Testpreis = $Preiszwei->get_content();
    }   else {$Testpreis = 'keine Angebote';
    }

//------ Hier beginnt die Bildschirmausgabe für Content und Tabelle -------

print "\t<tr><td align=\"center\" style=\"".$zellenall." border-bottom: 1px solid rgb(255,255,255)\">".
      "<a href=\"".$Infos."\" target=\"_blank\"><img src=\"".$einBild."\" border=\"0\"></a></td>".
      "<td align=\"center\" style=\"".$zellenall." border-bottom: 1px solid rgb(255,255,255)\">".
      "<a class=\"braungold\" href=\"".$Infos."\" target=\"_blank\">".utf8_decode($derTitel)." </a><br>".
      "<b>·</b> ".utf8_decode($einAutor)." <b>·</b> ".utf8_decode($Mitautor)." <b>·</b> ".utf8_decode($zweiterMitautor)."<br>".
      "Verlag/Produzent: ".utf8_decode($Manufacturer)."<br>".
      "erschienen: ".$PublicationDate." ".utf8_decode($dieseBindung)." <br>".
      "Beschaffenheit: ".utf8_decode($Neuware).", ".utf8_decode($weitereAngaben)." <br>".
      "Neupreis: ".$ganztoll." / erhaeltlich ab: ".$Testpreis." <br><br>".
      "<a class=\"braungold\" href=\"".$Infos."\" target=\"_blank\">weitere Details</a>\n\t</td></tr>\n\n";

}  //-- Nur immer schoen an diese Klammer und an die anderen Klammern denken!


print "\t<tr><td align=\"center\" style=\"".$zellunten." border-bottom: 1px solid rgb(255,255,255)\" colspan=\"2\">\n\n"; 


$Headelemente = $doc->get_elements_by_tagname('Items');

foreach ($Headelemente as $Gesamtergebnisse) {

//----- Anzahl der Summe aller Ergebnisse ----------------------------------

     $Gesamt = $Gesamtergebnisse->get_elements_by_tagname('TotalResults');

     if (count($Gesamt) > 0) {$alleErgebnisse = $Gesamt[0];     
        $TotalResults = $alleErgebnisse->get_content();
        }

//----- Anzahl der Seiten insgesamt ---------------------------------------

   $Total = $Gesamtergebnisse->get_elements_by_tagname('TotalPages');

    if (count($Total) > 0) {$Seitenzahl = $Total[0];     
       $TotalPages = $Seitenzahl->get_content();
       }

//----- Die gesuchten Begriffe ------------------------------------------- 

    $Suchebegriffe = $Gesamtergebnisse->get_elements_by_tagname('Keywords');

    if (count($Suchebegriffe) > 0) {$gefunden = $Suchebegriffe[0];     
       $Keywords = $gefunden->get_content();
       }    

//----- Sie aktuelle Seite -----------------------------------------------

    $Total = $Gesamtergebnisse->get_elements_by_tagname('ItemPage');

    if (count($dieSeite) > 0) {$welche = $dieSeite[0];     
       $ItemPage = $welche->get_content();
       }

//----- Die Kategorie betreffend - z.B. Books ----------------------------

   $Kategorie = $Gesamtergebnisse->get_elements_by_tagname('SearchIndex');
     
    if (count($Kategorie) > 0) {$wasnun = $Kategorie[0];     
       $SearchIndex = $wasnun->get_content();
       }

//------ Hier erhalten die Kategorien ihren deutschen Namen -------------- 

$Deutsch = array('Books'              => 'Bücher',
                 'Music'               => 'Musik',
                 'DVD'                 => 'DVDs',
                 'Toys'                => 'Spielwaren & Modellbau',
                 'OutdoorLiving'       => 'Hobby & Freizeit',
                 'Software'            => 'Software',
                 'Tools'               => 'Werkzeug',
                 'SoftwareVideoGames'  => 'Video & PC Spiele',
                 'HomeGarden'          => 'Haus & Garten',
                 'Kitchen'             => 'Haushalt',
                 'Photo'               => 'Fotografie',
                 'Electronics'         => 'Elektronik');


$Keywords = preg_replace("/[ ]/", "+", $Keywords);

//------ Ab hier erfolgt die Bildschirmausgabe der Treffer usw.. ---------

print "Seite ".$ItemPage." - Rubrik: ".$Deutsch[$SearchIndex]." - Thema: ".utf8_decode($Keywords)."<br />\n";
print "Treffer insgesamt: ".$TotalResults." auf ".$TotalPages." Seiten\n";

} //--- Diese Klammer nicht vertrödeln! ----------------------------------

//----- Das Formular ist bis auf PHP_Self normales HTML ------------------
?>

<form name="Suchoptionen" action="<?php echo basename($_SERVER["PHP_SELF"]);?>" method="get" accept-charset="iso-8859-1">

<br><br>
<select name="SearchIndex">
   <option value="Books">B&uuml;cher</option>
   <option value="DVD">DVD</option>
   <option value="Music">Musik</option>
   <option value="Toys">Spielwaren</option>
   <option value="OutdoorLiving">Hobby & Freizeit</option>
   <option value="Software">Software</option>
   <option value="Tools">Werkzeug</option>
   <option value="SoftwareVideoGames">Video & PC Spiele</option>
   <option value="HomeGarden">Haus & Garten</option>
   <option value="Kitchen">Haushalt</option>
   <option value="Photo">Fotografie</option>
   <option value="Electronics">Elektronik</option>
</select>
 
&nbsp; Eingabe

<input type="text" name="Keywords" value="" size="30">
<input type="hidden" name="ItemPage" value="1">
<input type="submit" value="Suchen">
</form>

<?php  

//------- Hier beginnt der Seiten counter ----------------------------------

print "\t</td></tr>\n\t<tr><td style=\"padding-top: 10px; padding-bottom: 10px\" colspan=\"2\">\n";
print "\t<table border=\"0\" width=\"100%\"><tr><td width=\"33%\" align=\"left\" style=\"padding-left: 20px\">\n";



  if ($TotalPages > 1) {

        if ($ItemPage > 1) {

        echo   "\t<a class=\"braungold\" href=\"?" .
               "SearchIndex"."=". $SearchIndex ."&".
               "Keywords"   ."=". $Keywords    ."&".
               "ItemPage"   ."=".($ItemPage -1).
               "\">« zur&uuml;ck </a>\n";

        }  else {echo "\t<span class=\"zueinsam\">« zur&uuml;ck</span></td>\n";} 
        }

$scautor  = "Script von www.seo-welten.de";
$lscautor = "href=\"http://www.seo-welten.de\"";

print "\t<td width=\"33%\" align=\"center\"><a class=\"braunklein\" ".$lscautor." ".$tabla.">".$scautor."</a></td>\n";
print "\t<td  width=\"34%\" align=\"right\" style=\"padding-right: 20px\">\n"; 


     if ($TotalPages > 1) {

if ($ItemPage*1 <= $TotalPages) {

        echo   "\t<a class=\"braungold\" href=\"?" .
               "SearchIndex"."=". $SearchIndex ."&".
               "Keywords"   ."=". $Keywords    ."&".
               "ItemPage"   ."=".($ItemPage +1).
               "\">n&auml;chste Seite »</a>\n";

        }  else {echo "*\n";}
        }


   print "\t</td></tr></table>\n\n</td></tr></table>\n";

?> 

</center></div>
</body>
</html>  

Copyright © 2008 - Verlag Horst Müller - Stendal | Datenschutz | Nutzungsbedingungen März 2008,