Affilinator Forum
Partnerprogramm Skript kostenlos testen


Zurück   Affilinator Forum > Kundenforum > PHP Programmierung

PHP Programmierung Tipps und Fragen zum PHP Programmierung.

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.01.2009, 15:00
Benutzerbild von DennisC
DennisC DennisC ist offline
Freundlichster User aller Zeiten
 
Registriert seit: 06.10.2008
Beiträge: 174
Standard "eigene" search.php - Kontrolle

hallo,

habe u.a. auch die URL-Struktur der Suche geändert. Nun funktioniert das normale Formular ja nicht mehr, habe mir deshalb eine eigene "Suche" geschrieben, die die Eingaben verarbeitet und dann zur Such-URL weiterleitet.

Verwende folgendes Muster:

normale Sucheanfrage:
/s/KEYWORD-PAGE.html
Suche inkl. Preis:
/s/PRICEMIN/PRICEMAX/KEYWORD-PAGE.html

Und wenn man jetzt sortiert (rank2, price1, price2) gibts das gleiche nochmal mit unterschiedlichen "Suchindexen": s2,s3 und s4 (statt nur "s").

[Ich weiß, ist kompliziert, sieht aber schön aus und alles außer der normalen Suche ohne Preis kommt eh auf noindex, also kein DC]

Wenn jemand mal über den Code rüberschauen kann, ob es vielleicht irgendwelche Angriffsmöglichkeiten gibt oder Fälle, die ich übersehen habe, wäre nett

PHP-Code:
<?php

$suche 
$_POST['Keywords'];

$suche strip_tags($suche);
$suche strtolower($suche);

$suche str_replace("_""-"$suche);
$suche str_replace(" ""-"$suche);

$min $_POST['PriceMin'];
$max $_POST['PriceMax'];

$min strip_tags($min);
$max strip_tags($max);

if(!empty(
$min) && !empty($max) && is_numeric($min) && is_numeric($max)) {
$min=$min."/";
$max=$max."/";
$s_index="s2";
} elseif (!empty(
$min) && empty($max) && is_numeric($min)) {
$min=$min."/";
$max="-/";
$s_index="s2";
} elseif (!empty(
$max) && empty($min) && is_numeric($max)) {
$max=$max."/";
$min="0/";
$s_index="s2";
} else {
$s_index="s";
$min="";
$max="";
}

header('Location: http://'.$_SERVER['SERVER_NAME'].'/'.$s_index.'/'.$min.$max.$suche.'-1.html'); 

?>
Der Code ist Open Source , könnt ihr euch evtl. Zeit sparen, falls ihr sowas braucht ^^

Nachtrag: habe gerade gelesen, dass die Begriffe dann ja nicht in der Livesuche erscheinen. Habt ihr da eine Idee ? Könnte natürlich auch einfach mit ner DB selber tracken, aber vielleicht gibts da ja nen Trick ^^
__________________
Wenn der Tag nicht reicht... nimm die Nacht hinzu

Geändert von DennisC (05.01.2009 um 15:14 Uhr)
Mit Zitat antworten
  #2  
Alt 05.01.2009, 18:48
Martin-F Martin-F ist offline
Erfahrener Benutzer
 
Registriert seit: 07.01.2008
Beiträge: 659
Standard Nunja

Zitat:
URL-Struktur der Suche geändert. Nun funktioniert das normale Formular ja nicht mehr
stimmt nicht .. das Formular funkt. immer - da es nur Daten an die search.php POSTet ...

Und für das Basteln der Url der 1. Suchseite gibt es viele Config Parameter (irgendwo hier im Forum).
Aber das ist eher unwichtig.

Nach Deinem Umbau solltest Du unbedingt die Variable $UrlKeywords überwachen und mit der blacklust.php ein finetuning machen.
Ansonsten sieht die so aus "S4 1 999 Suchwort"
und damit wohl eine leere Showerror.

lastkeywords ... wird erstellt wenn search.php per POST Daten bekommt - sonst nicht.
Abhängig der Ergebnis Anzahl selbst in SQL schreiben ist sicher sinnvoller. (könnte man ja auch die Kategorie mit speichern :-)))

bis dann ...Martin

Nachtrag: Hinweis UrlKeywords gilt nur dann - wenn Du auch die der Detailseite änderst - sonst nicht!

Config Parameter:

// mod rewrite !
define('SHOP_MODREWRITE','shop');
define('SEARCH_MODREWRITE_OP_SHOP','shop');
define('SEARCH_MODREWRITE_OP_SHOP_ABTEILUNG','shop _abteilung');
define('SEARCH_MODREWRITE_OP_ALLE','all');
define("SEARCH_MODREWRITE","suche");
define("SEARCH_MODREWRITE_LIMITER",",");
define("SEARCH_MODREWRITE_END","/");
*/

Geändert von Martin-F (05.01.2009 um 19:00 Uhr)
Mit Zitat antworten
  #3  
Alt 05.01.2009, 20:38
Benutzerbild von DennisC
DennisC DennisC ist offline
Freundlichster User aller Zeiten
 
Registriert seit: 06.10.2008
Beiträge: 174
Standard

Danke für die Antwort, hätte ich mir ja einiges an Zeit und Arbeit sparen können ^^

Habe noch gar nichts an der black_list.php geändert, klappt alles prima, liegt vllt. an der htaccess ?!

HTML-Code:
RewriteRule ^preise/(.*)-(.*).html showProduct.php?ProductID=$2
RewriteRule ^s/(.*)-(.*).html search.php?where_to_search=alle&PriceMin=0&PriceMax=-&ShopID=0&CategoryID=-&Page=$2&Keywords=$1
RewriteRule ^s2/(.*)/(.*)/(.*)-(.*).html search.php?where_to_search=alle&PriceMin=$1&PriceMax=$2&ShopID=0&CategoryID=-&srt=Rank&dir=2&Page=$4&Keywords=$3
RewriteRule ^s3/(.*)/(.*)/(.*)-(.*).html search.php?where_to_search=alle&PriceMin=$1&PriceMax=$2&ShopID=0&CategoryID=-&srt=Price&dir=1&Page=$4&Keywords=$3
RewriteRule ^s4/(.*)/(.*)/(.*)-(.*).html search.php?where_to_search=alle&PriceMin=$1&PriceMax=$2&ShopID=0&CategoryID=-&srt=Price&dir=2&Page=$4&Keywords=$3
Habe aber leider keine eBay-Ergebnisse in der showError mehr, liegt aber wahrscheinlich eher daran, dass ich die ausversehen in der config deaktiviert hab werde mich mal auf die Suche begeben ^^

Das mit dem Tracking der Suche könnte interessant werden, macht schon Spaß mit dem Affilinator rumzuspielen
__________________
Wenn der Tag nicht reicht... nimm die Nacht hinzu
Mit Zitat antworten
  #4  
Alt 06.01.2009, 06:14
Martin-F Martin-F ist offline
Erfahrener Benutzer
 
Registriert seit: 07.01.2008
Beiträge: 659
Standard Fehlersuche

am besten den Debug Mode einschalten.
Dort wird das Keywort für ebay und amazon genannt.

Zusätzlich schreibe ich Suchen mit 0 Treffern in ein Log zusammen mit der Ladezeit der Seite und dem Key.

Viel Spaß ... Martin

Nachtrag:
das mit der Übergabe PriceMin und Max an die search.php ist eigentlich Bödsinn.
Man kann doch in der Config den Parameter holen - prüfen und setzen.

$mindestpreis = $_GET['PriceMin'];
$mindestpreis = $mindestpreis+1;
define('S_PMIN',$mindestpreis);
define('EBAY_MIN_PRICE',$mindestpreis);
u.s.w.

Geändert von Martin-F (06.01.2009 um 06:24 Uhr)
Mit Zitat antworten
  #5  
Alt 08.01.2009, 17:34
Benutzerbild von DennisC
DennisC DennisC ist offline
Freundlichster User aller Zeiten
 
Registriert seit: 06.10.2008
Beiträge: 174
Standard

Hatte das mit dem Debug-Mode noch gar nicht entdeckt, ist verdammt nützlich, danke !

Zitat:
das mit der Übergabe PriceMin und Max an die search.php ist eigentlich Bödsinn.
Man kann doch in der Config den Parameter holen - prüfen und setzen.
Wenn ich das richtig verstehe, muss der Preis dann auch gar nicht mehr in der URL stehen oder? Werde das auf jeden Fall beim nächsten großen Update meiner Seite einfeeden, muss mir noch überlegen, wie ich das genau Umsetze.
__________________
Wenn der Tag nicht reicht... nimm die Nacht hinzu
Mit Zitat antworten
  #6  
Alt 09.01.2009, 06:47
Martin-F Martin-F ist offline
Erfahrener Benutzer
 
Registriert seit: 07.01.2008
Beiträge: 659
Standard Min Max

Hallo Dennis...

der Min Max .. wird über die Url und die ModRewrute Regel an die search.php gegeben.
Die Prüfung Min Max ist in der Config m.E. besser aufgehoben. Zumal man dort auch den ebay Min Setzen kann.

Alternativ könnte man den Min Max auch in einen Keks schreiben. Was für eine Lösung in der Config spricht.
Und man hat kleinere Url´s.

Beispiel für den Unterschied:
Suche 'Geschenk' von 20 - 40 €
Danach aus der Suche auf die Detailseite gehen und die weiteren Angebote ansehen.

Ich verwende keinen Min Max .. aber Du siehst ich überlege in der Richtung gerade...

Viel Spaß... Martin
Mit Zitat antworten
  #7  
Alt 10.01.2009, 22:28
Benutzerbild von DennisC
DennisC DennisC ist offline
Freundlichster User aller Zeiten
 
Registriert seit: 06.10.2008
Beiträge: 174
Standard

Hallo Martin,

Zitat:
Alternativ könnte man den Min Max auch in einen Keks schreiben.
gute Idee, dann bleibt der Preis ja immer erhalten. Habe die Detailseite jedoch noch kurz vorm live-gehen ausgebaut, da ich noch nicht genug Content für die Suche und die Detailseite zusammen hatte (und habe)

Denke aber, dass ich das bis zum Ende Februar in den Griff bekomme (werde dann auch gleich die Detailseite nochmal etwas aufpeppen).
Danke für den prima Tipp !
__________________
Wenn der Tag nicht reicht... nimm die Nacht hinzu
Mit Zitat antworten
  #8  
Alt 11.01.2009, 06:01
Martin-F Martin-F ist offline
Erfahrener Benutzer
 
Registriert seit: 07.01.2008
Beiträge: 659
Standard Detailseite

Zitat:
Habe die Detailseite jedoch noch kurz vorm live-gehen ausgebaut, da ich noch nicht genug Content für die Suche und die Detailseite zusammen hatte
Hallo Dennis...

erscheint mir nicht der optimale Weg.

Ich benutze innerhalb der Url einen SpiderSchalter.
Bsp.: detailseite/0/12345678/artikel.html
D.h. kann ich das Verzeichnis: /detailseite/0/ sperren, die '0' dann fangen und die Seite damit auf noindex setzen.

Also Menschen haben Detailseiten - Bots nicht.

bis dann ... Martin
Mit Zitat antworten
  #9  
Alt 11.01.2009, 14:23
Benutzerbild von DennisC
DennisC DennisC ist offline
Freundlichster User aller Zeiten
 
Registriert seit: 06.10.2008
Beiträge: 174
Standard

Hallo Martin,
Zitat:
D.h. kann ich das Verzeichnis: /detailseite/0/ sperren, die '0' dann fangen und die Seite damit auf noindex setzen.
ist es nicht einfacher, einfach alle Detailseiten auf noindex zu setzen bzw. einfach das Verzeichnis /detailseite/ zu sperren

Zitat:
Also Menschen haben Detailseiten - Bots nicht.
Die Menschen sind genau das Problem ^^ Bei meiner Detailseite werden die verschiedenen Anbieter inkl. Preis (und ggf. Porto) untereinander gelistet, danach folgt eBay und Amazon mit gleicher Formatierung, also gut geeignet, um Preise zu vergleichen.

Nun ist es jedoch so, dass ich festgestellt habe, dass man es den Leuten so einfach wie möglich machen sollte. Habe daher ein Design mit großen Bildern, freundlichen Call2Action-Buttons und einem schönen Mouseover-Effekt entwickelt - Leider ist jetzt aber kein Platz mehr für einen Detaillink



Nach reichlicher Überlegung habe ich mich entschieden, dieses Design zu belassen und später, wenn die Seite einigermaßen indexiert ist, AB-Tests zu machen (eventuell auch mit AdWords: ein bestimmtes Produkt 'raussuchen, einmal in Form von Suchergebnissen und einmal in Form einer Detailseite mit gleichen Produkten (EAN)).

Sicherlich währe eine Produktbeschreibung bei der Suche auch sehr förderlich, habe auch schon mti einem DIV, welches neben der Maus erscheint, wenn man über ein Produkt "hovert", experimentiert, allerdings sind da noch einige Fehler drin (div öffnet sich nicht an der Mausposition, sondern in der oberen Ecke... mit einer normalen HTML-Seite ohne das Design hat es geklappt).

Edit: Wo ich jetzt so drüber nachdenke, könnte man noch prima einen Textlink unter dem Button einbauen. Damit sollte es dann gehen, ohne das der Besucher zu sehr verwirrt wird ^^
__________________
Wenn der Tag nicht reicht... nimm die Nacht hinzu
Mit Zitat antworten
  #10  
Alt 11.01.2009, 19:52
FrankW FrankW ist offline
Administrator
 
Registriert seit: 07.11.2005
Ort: Aschaffenburg
Beiträge: 4.935
Blog-Einträge: 1
Standard sieht gut aus

Interesse - habe Interesse und biete Lösungen (-:
__________________
KEIN Support per PM, Email oder Telefon.
Bei Problemen bitte immer einen Link zum Problem, ggf. die genutzte Version und wenn nötig Infos zum Host und Hostingpaket angeben.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Search.php Martin-F Affilinator - Wie geht das ? 2 05.03.2008 12:14



Alle Zeitangaben in WEZ +2. Es ist jetzt 15:04 Uhr.


Powered by vBulletin® Version 3.8.0 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO 2.3.2
Affilinator GmbH