Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 06. Dezember 2013 22:39
- Darkholylein
- hat von CMS/ms gehört
- Registriert: 10. August 2013
- Beiträge: 15
Modul Statistik: Warning: join(): Invalid arguments passed
Hallo zusammen,
wenn ich meine Seite auf Google suche und dem Suchmaschinen-Link folgen möchte, wird mir folgende Fehlermeldung auf der Seite angezeigt:
Warning: join(): Invalid arguments passed in [...]/modules/Statistics/Statistics.module.php on line 471
In Zeile 471 des Scriptes steht folgender Inhalt:
$statkeywords=$this->ReplaceKeywords(join(" ", $keyword_array));
Der bei Google gesuchte String besteht aus drei einzelnen Worten.
Die Tipps in diesem Thread habe ich bereits ausprobiert: ich konnte kein Ergebnis erzielen.
Hat von euch noch jemand einen Tip für mich, wie ich das Problem lösen kann?
Danke im Voraus.
Schöne Grüße
Darkholylein
Offline
#2 07. Dezember 2013 10:13
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: Modul Statistik: Warning: join(): Invalid arguments passed
Eigentlich steht die Lösung in diesem Beitrag: http://www.cmsmadesimple.de/forum/viewt … 301#p28301
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#3 07. Dezember 2013 10:58
- Darkholylein
- hat von CMS/ms gehört
- Registriert: 10. August 2013
- Beiträge: 15
Re: Modul Statistik: Warning: join(): Invalid arguments passed
Eigentlich steht die Lösung in diesem Beitrag: http://www.cmsmadesimple.de/forum/viewt … 301#p28301
Hallo NaN,
den Thread habe ich bereits gelesen, meines erachtens stimmt die Reihenfole im Code so, wie sie in meinem Ausgangspost steht. Ich habe auch schon das Wort "join" durch "implode" ersetzt, aber die Fehlermeldung ist trotzdem aufgetaucht.
Gibt es vllt. eine Einstellung, die ich im Statistik-Modul setzen muss?
Gruß
Darkholylein
Offline
#4 07. Dezember 2013 11:28
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: Modul Statistik: Warning: join(): Invalid arguments passed
Seltsam... in meiner Datei befindet sich der besagte Code nicht bei Zeile 471, sondern viel weiter unten.
Es gab mal eine inoffizielle Version 1.1.3a, die ich überall einsetze. Ich weiß aber nicht mehr, wo die her kam.
Welche Version wird bei dir angezeigt?
Offline
#5 07. Dezember 2013 11:31
- Darkholylein
- hat von CMS/ms gehört
- Registriert: 10. August 2013
- Beiträge: 15
Re: Modul Statistik: Warning: join(): Invalid arguments passed
Ich habe Version 1.1.3
Offline
#6 07. Dezember 2013 11:33
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: Modul Statistik: Warning: join(): Invalid arguments passed
Du kannst dir ja mal die 1.1.3a von mir anschauen, bzw. ausprobieren.
https://www.dropbox.com/s/71cznjqrlzpf8 … 1.1.3a.zip
Offline
#7 10. Dezember 2013 12:39
- Darkholylein
- hat von CMS/ms gehört
- Registriert: 10. August 2013
- Beiträge: 15
Re: Modul Statistik: Warning: join(): Invalid arguments passed
Also, ich hab mir grade mal die 1.1.3a angeschaut...
Vom Code her ändert sich was Referer betrifft nichts, daran kann es also nicht liegen.
Ich habe jetzt auch mal etwas weiter analysiert:
Wenn ich auf yahoo.de die 3 Stichworte eingebe, bekomme ich die Fehlermeldung nicht und alles wird Korrekt in der Datenbank eingetragen.
Wenn ich die 3 Stichworte bei google.de eingebe, bekomme ich weiterhin die Fehlermeldung und es wird nichts in der Datenbank eingetragen.
Aktuell weiß ich nicht, wie ich das Problem beheben soll... Hat jemand von euch eine Idee?
Vermutlich liegt das Problem hier drin:
[== php ==]
if (preg_match("/www\.google/i",$url)) {
preg_match("'(\?|&)q=(.*?)(&|$)'si", " $url ", $keywords);
$search_engine = 'Google'; }
Danke und schöne Grüße
Darkholylein
Beitrag geändert von Darkholylein (10. Dezember 2013 12:44)
Offline
#8 10. Dezember 2013 14:46
- Darkholylein
- hat von CMS/ms gehört
- Registriert: 10. August 2013
- Beiträge: 15
Re: Modul Statistik: Warning: join(): Invalid arguments passed
Ich habe noch mal etwas weiter nachgeforscht...
Wenn ich diesen Teil des Skriptes:
[== php ==]
$url="https://www.google.de/#q=Wort1+Wort2+Wort3";
if (preg_match("/www\.google/i",$url)) {
preg_match("'(\?|&|#)q=(.*?)(&|$)'si", " $url ", $keywords);
$search_engine = 'Google';
}
if ((preg_match("/yahoo\.com/i",$url)) or (preg_match("/search\.yahoo/i",$url))) {
preg_match("'(\?|&)p=(.*?)(&|$)'si", " $url ", $keywords);
$search_engine = 'Yahoo';
}
// create keyword array
if (($keywords[2] != '') and ($keywords[2] != ' ')) {
$keywords = preg_replace('/"|\'/', '', $keywords[2]);
// remove quotes
$keyword_array = preg_split("/[\s,\+\.]+/", $keywords); // create keyword array
}
$name=join($keyword_array, " ");
echo $name;
getrennt betrachte, bekomme ich folgende Ausgabe: "Wort1 Wort2 Wort3".
Soweit ist das ja korrekt. Wenn ich die URL auf den Suchstring von Yahoo ändere, bekomme ich das gleiche Ergebnis.
Trotzdem ist es immer noch der Fall, dass ich bei Anklicken des Suchergebnisses in Google die Fehlermeldung:
Warning: join(): Invalid arguments passed
und die Suchwörter werden nicht im Statistik-Modul eingetragen.
Wenn ich das Suchergebniss bei Yahoo anklicke, funktioniert alles einwandfrei...
Solangsam bin ich echt am Verzweifeln...
Offline
#9 10. Dezember 2013 14:53
- Darkholylein
- hat von CMS/ms gehört
- Registriert: 10. August 2013
- Beiträge: 15
Re: Modul Statistik: Warning: join(): Invalid arguments passed
Ah, ich habe die Lösung gefunden...
Google benutzt für seine Suche HTTPS-Seiten. Wenn von HTTPS auf HTTP verlinkt wird, wird kein REFERER mitgegeben...
Yahoo benutzt noch HTTP-Seiten für seine Suche, deswegen funktioniert das.
Offline
#10 10. Dezember 2013 15:51
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: Modul Statistik: Warning: join(): Invalid arguments passed
Das wurde glaube ich sogar vor ein oder zwei Jahren angekündigt.
Damals haben sich einige darüber aufgeregt, weil man eben solche Tools wie statistische Erfassung von Suchbegriffen oder das Hervorheben von Suchbegriffen im Text nicht mehr anwenden kann. (Aber zumindest für die Suchbegriff-Statistik kann man ja Google-Webmaster Tools bzw. Analytics verwenden)
Man sollte die Variable $keyword_array generell als Array() deklarieren. Dann sollte dieser Fehler nicht auftreten. Also in der Zeile 532 (Statistics 1.1.3a) bzw. 462 (Statistics 1.1.3) gleich unter "// create keyword array" diese Zeile einfügen:
$keyword_array = array();
Somit ist man zumindest diese Warnung los.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
Seiten: 1