PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ländercode addon läuft nicht



tombc34
13.08.2006, 20:37
Habe das Ländercode addon installiert,Tabbellen in der Datenbank erstellt;Dateien hochgeladen

Wenn Ich den Cron ausführe bekomme ich keine Meldung "cron gelaufen".
Die Länder werden nicht angezeigt im Adminforce.

Alle anderen angaben der User die sonst noch unter Ländercode angezeit werden sind da

Habe mir das " Admin-Laendercode(Version1[1].0)" und laenderlegal.zip gerade unter Downloads runtergeladen und die neuste version der ip-to-country.csv.

Auch ohne die laenderlegal.zip funktioniert das " Admin-Laendercode(Version1[1].0)" nicht.

phpMyAdmin 2.5.3

MySQL 3.23.55


tombc34

ztk
14.08.2006, 01:31
Schon mal in der Tabelle für die Länder nach gesehen, ob diese überhaupt eingetragen wurden?
Aufgrund der großen Datenmenge bricht das Script meißt nach 30 Sekunden ab.

Zement
14.08.2006, 04:37
Schau mal wie deine DB-Tabelle heißt, vms_laendercode oder lendercode

Irgendwie ist eine Version im Umlauf, wo die Tabelle vms_laendercode heißt, die Crons aber nicht diesem Namen angepasst sind.

tomi28
14.08.2006, 16:41
hab das selbe problem
wie tom

falls mal einer ne version hat kann er sie mir gerne schicken.


mfg tomi

Zement
14.08.2006, 17:01
Schick mir mal deine an die emailadresse in der sig, ich schua da mal nach.

tombc34
14.08.2006, 17:14
Hi

@ ztk:In der Datenbank sind unter laendercode keine Einträge vorhanden.

@ zement: Die Tabelle in der DB heist laendercode.

der Cron( ein ausschnitt )

$anfuegen = db_query("INSERT INTO laendercode (IP_FROM, IP_TO, CC2, CC3, land) values ('$werte_array[0]','$werte_array[1]','$werte_array[2]','$werte_array[3]','$werte_array[4]')");

Kann ich dir auch mein Addon zuschicken?@zement

tombc34

tomi28
14.08.2006, 17:29
Hu zement,

weis nicht ob du mich gemeint hast aber ich hab sie dir mal geschickt.


mfg tomi

tombc34
14.08.2006, 17:44
ich auch :rolleyes:

Zement
14.08.2006, 18:24
mmh, leider konnte ich keinen Fehler finden.
Bitte mal folgendes machen:

Rechte für die ip-to-country.csv 777 eingeben.

Dann im Cron folgendes suchen:



$anfuegen = db_query("INSERT INTO laendercode (IP_FROM, IP_TO, CC2, CC3, land) values ('$werte_array[0]','$werte_array[1]','$werte_array[2]','$werte_array[3]','$werte_array[4]')";);

//echo "$werte_array[0],$werte_array[1],$werte_array[2],$werte_array[3],$werte_array[4] <br>";




Die // vor echo entfernen und // vor $anfuegen machen, nun den Cron
ausführen, dieser schreibt die Daten nun NICHT in die DB sondern gibt diese
auf den Bildschirm aus. Sollte eine Ausgabe erfolgen, die //wieder vor echo
und vor $anfuegen wegmachen, den Cron erneut ausführen.

tomi28
14.08.2006, 19:34
Hu

also habs mal gemacht wie du es gesagt hast

punkt 1 hat auf monitor geeschrieben.

wieder umgestellt

ging wieder nichts..

gibts noch ne möglichkeit?

Zement
15.08.2006, 04:04
Original von tomi28
Hu

also habs mal gemacht wie du es gesagt hast

punkt 1 hat auf monitor geeschrieben.

wieder umgestellt

ging wieder nichts..

gibts noch ne möglichkeit?

Also wenn er es auf den Monitor schreibt, dann MUSS er es auch in die DB schreiben. Es kann nur noch sein, dass das Script vom Server abgebrochen wird, weil zu lange dauert, aber selbst dann müssen Teile in der DB sein.

Gremlin
15.08.2006, 14:11
Das kann man doch direkt in phpmyadmin importieren, ist doch eine xls datei oder? Weil dann wäre vllt. die Chanche eine Fehlermeldung zu bekommen.

Gruß
Gremlin

Darkangel
15.08.2006, 14:29
ich ich hab das mal ausprobiert was gremlin schreibt
folgende fehler meldung bekomme ich

Fehler
Keine Daten zum importieren gefunden!

Gremlin
15.08.2006, 14:36
Jup war Fehler meinerseits, ich dachte importieren einer xls geht auch, hab grade nachgeschaut, aber es geht nur exportieren :( aber es könnte ja jemand, bei dem das Addon klappt, die Datenbank als *.sql exportieren, und dann Darkangel schicken, zum Importieren per phpmadmin :D

Darkangel
15.08.2006, 15:12
ich bin ja net der einzige bei den es nicht geht...
vielelciht sollte man das in dl bereich zum download bereitstellen...
ich sicher einfacher als jeden eine email zuschicken

petro43
16.08.2006, 11:46
Im alten Forum hat mal jemand einen Codeschnipsel gepostet gehabt, wenn man den eingebaut hatte funzte es aber leider habe ich ihn nicht mehr da ich es auf allen seiten ausgebaut habe. Aber vielleicht weiss noch jemand wer das war oder hat den code dann bitte an einen Admin schicken das er getestet wird und in den Dl kommt

mfg
petro43

Zement
17.08.2006, 15:59
Ändert mal den Cron in:

<?@require_once ('../lib/functions.lib.php');db_connect();$delete = mysql_query("TRUNCATE TABLE laendercode");$returned='';$fp=@fopen($_SERVER['DOCUMENT_ROOT'].'/crons/ip-to-country.csv',"r");if($fp){ while($line=fgets($fp,1000)){ $line = str_replace("\"","",$line); $werte_array=split(",",$line); $anfuegen = mysql_query("INSERT INTO laendercode (IP_FROM, IP_TO, CC2, CC3, land) values ('$werte_array[0]','$werte_array[1]','$werte_array[2]','$werte_array[3]','$werte_array[4]')"); //echo "$werte_array[0],$werte_array[1],$werte_array[2],$werte_array[3],$werte_array[4] <br>"; } fclose($fp);}// Zeit setzendb_query ("UPDATE ".$db_prefix."_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Laendercode-DateiUpdate'");db_close();?> und ruf den Cron direkt auf, also nicht übers Adminforce.
http://www.deine-seite.de/crons/laenderupdate.int.php

Zement
17.08.2006, 16:01
arg scheißforum ;)
Wieso kann man beiträge mit Code nciht mehr editieren??? dann hängt sich immer der tolle Editor auf :(((((((((

Also hier nochmal der Code für den Cron:




<?
@require_once ('../lib/functions.lib.php');
db_connect();
$delete = mysql_query("TRUNCATE TABLE laendercode";);
$returned='';
$fp=@fopen($_SERVER['DOCUMENT_ROOT'].'/crons/ip-to-country.csv',"r";);
if($fp){
while($line=fgets($fp,1000)){


$line = str_replace("\"","",$line);
$werte_array=split(",",$line);

$anfuegen = mysql_query("INSERT INTO laendercode (IP_FROM, IP_TO, CC2, CC3, land) values ('$werte_array[0]','$werte_array[1]','$werte_array[2]','$werte_array[3]','$werte_array[4]')";);

//echo "$werte_array[0],$werte_array[1],$werte_array[2],$werte_array[3],$werte_array[4] <br>";
}
fclose($fp);
}
// Zeit setzen
db_query ("UPDATE ".$db_prefix."_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Laendercode-DateiUpdate'";);
db_close();
?>

tomi28
17.08.2006, 21:42
huhu zement,

hab es eingebaut geht denoch nciht

mfg tomi

Zement
18.08.2006, 00:24
Sorry, dann weiß cih auch nciht weiter, ann müßte man sich das direkt mal aufm Server und DB anschauen.

tombc34
23.08.2006, 22:46
Hi

Habe den Code im Cron geändert.Danach per Hand die url im Browser eingegeben und aufgerufen...

Parse error: parse error, unexpected ';' in bla/bla/bla/bla/länderupdate.int.php in line 4 bis 22.

Nachdem ich die " ; " entfernt hatte.konnte ich den Cron aufrufen und er hat die einträge in der Datenbank gemacht...funzt einwandfrei

Hier noch mal der überarbeitete code


<?
@require_once ('../lib/functions.lib.php');
db_connect();
$delete = mysql_query("TRUNCATE TABLE laendercode");
$returned='';
$fp=@fopen($_SERVER['DOCUMENT_ROOT'].'/crons/ip-to-country.csv',"r");
if($fp){
while($line=fgets($fp,1000)){


$line = str_replace("\"","",$line);
$werte_array=split(",",$line);

$anfuegen = mysql_query("INSERT INTO laendercode (IP_FROM, IP_TO, CC2, CC3, land) values ('$werte_array[0]','$werte_array[1]','$werte_array[2]','$werte_array[3]','$werte_array[4]')");

//echo "$werte_array[0],$werte_array[1],$werte_array[2],$werte_array[3],$werte_array[4] <br>";
}
fclose($fp);
}
// Zeit setzen
db_query ("UPDATE ".$db_prefix."_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Laendercode-DateiUpdate'");
db_close();
?>

Jochen18
19.01.2007, 04:53
Hallo,
das funktioniert bei mir leider auch nicht.
Welche Möglichkeiten gibt es noch?

Mit freundlichen Grüßen

maniwelt
19.01.2007, 11:15
@Jochen:

Was funktioniert bei dir nicht, musste schon etwas genauer sein ...

Jochen18
19.01.2007, 11:28
Entschuldigung.

Habe alles installiert und ein neues IP-Update geholt.
Im Adminbereich drücke ich auf den Cron und es erscheint ein neues Browserfenster "Cron gelaufen".
Wechsel ich nun in phpMy Admin (Version: 2.6.4-pl4) habe ich keine Einträge.
Das Addon habe ich erst in der Nacht geladen, daher gehe ich davon aus, es ist das neuste.

Mit freundlichen Grüßen

maniwelt
19.01.2007, 11:37
Was meinste mit Einträge ?

Die werden ja erst dann eingetragen, wenn sich der User wieder anmeldet, also einlogt, dachte auch bei mir sei ein Fehler, ne ist aber korrekt so...

Ansonsten, wenn du den Ordner "crons" mit "httacces" geschutzt hast, musste den cron anders ausführen...

Bei mir ist es: http://nick:passwort@www.deinedomain.de/crons/test.php

Jochen18
19.01.2007, 13:21
Danke.
Ja wenn das so ist bin ich zufrieden.
Allerdings müßte er mich ja auch mit zählen und das macht er nicht,
bzw. es exestiert kein Eintrag in der DB
und nichts in der /usersystem/laendercode.

Oder doch ein Fehler?

Wermeier
27.04.2008, 13:13
Hallo zusammen,

frage hier auch noch mal nach.

Bin hier alles Schritt für Schritt durchgegangen aber nichts passiert und ich werde von Chinesen "überflutet"

Gibt es irgendwo eine Möglichkeit dieses Addon zu holen oder einen Trick.

In der Datenbank wird nichts geschrieben.

Schmuse_Kater40
27.04.2008, 13:48
Soweit ich das weiss verhindert das Addon auch nicht die Anmeldung von Chinesen. Es sorgt vielmehr dafür das die IP Adresse mit dem sich ein User anmeldet entschlüsselt wird. Entschlüsselt in soweit das im Adminforce dann das Land aus dem der User sich angemeldet hat mit angezeigt wird. Sperren und löschen muss man die User schon noch von Hand. Ich habe aber irgendwo schonmal ein Addon gesehen was eine Anmeldung von Chineen usw. unterbinden soll. Aber wo das war kann ich im moment nicht sagen.

Wermeier
27.04.2008, 13:56
Momentan geht es ja noch "Seite gerade neu" aber wenn sie mehrere Anmelden wird es schwer die Chinesen mit der Hand zu Filtern. Und wenn ich jedes mal die Klamm Nickpage Besuchen muß wird es auch schwierig.

Ich glaube die beste Lösung ist eine Auszahlungs Anfrage Addon, jemand eine Idee wo ich das schnell und nicht übertrieben teuer ( 4000000 Klammlose) herbekomme ?

Schmuse_Kater40
27.04.2008, 22:04
Es gibt soviel ich weiss auch eine Auszahlungssperre. Dann müssen sich User für die erste Auszahlung erst freischalten lassen. Nur bin ich mir nicht sicher ob das beim VMS1.2.2 funktioniert. Schau einfach mal in den Downloadbereich unter VMS1.1 da ist es drin.

Du solltest aber möglichst immer drauf achten das du keine Chinesen auf deiner Seite hast. Ansonsten kann es passieren das die Sponsoren dir deine Seite sperren.

Wermeier
27.04.2008, 22:10
Habe Sie bis jetzt auch mit der Hand gefiltert. Die sind ja wie die Fliegen.

Und ich habe zusätzlich noch eine Auszahlungssperre reingemacht, so kann ich auf jeden Fall sichergehen falls mir doch ein Hang Hui Ling Lang durchrutscht. :smile:

breaker
27.04.2008, 23:54
Das kann man doch direkt in phpmyadmin importieren, ist doch eine xls datei oder? Weil dann wäre vllt. die Chanche eine Fehlermeldung zu bekommen.

Gruß
Gremlin

Die einzige Fehlermeldung, die da auftauchen wird, ist ein "Datei nicht gefunden", weil die CSV mehr als 2 MB größe hat und (default) in der php.ini eine Uploadgröße von 2 MB eingestellt ist ;)

Mein Addon in der Hinsicht hat da allerdings noch keine Lösung eingebaut, ich werde es wohl über eine for-while machen ;)

http://pw.country.mt.money-island.eu/

Juchi
05.05.2008, 14:37
was kann man tun , wenn er die länder nicht reinbucht.
er schreibt immer sofort cron gelaufen, bucht aber die länder nicht rein.
weils zu lange dauert wohl. wie ich gelesen habe.

aber wie kann man das ändern ?
habe auch versucht per excel die datei hochzuladen, aber da kommt eine fehlermeldung

Gecko1
06.05.2008, 00:41
Ich glaube die beste Lösung ist eine Auszahlungs Anfrage Addon, jemand eine Idee wo ich das schnell und nicht übertrieben teuer ( 4000000 Klammlose) herbekomme ?

schau mal hier wurde ja schon gefragt und hier ist die version für 1.2


http://www.designerscripte.net/showthread.php?t=4872&highlight=Auszahlungssperre

ekremboz1
21.06.2008, 23:04
hi ich habe auch diese Laendercode eingebaut soweit funktioniert auch alles nur bei manche meine user findert er kein Laendercode die werden auch diregt für klicken gespert nur die user sind aus Deutschland und haben bei kabel deutschland ihr provider nun meine frage was kann ich da machen

mfg ekrem

Lokutos
22.06.2008, 00:20
ist relative einfach trag einfach denen ihre ip in die datenbank ein

im phpmyadmin in die tabelle laendercode gehen und eine neue reihe erstellen und die ip eintragen
wenns nur eine is von und bis das selbe ansonsten alle einzeln oder von/bis benutzen

ekremboz1
22.06.2008, 00:52
ist relative einfach trag einfach denen ihre ip in die datenbank ein

im phpmyadmin in die tabelle laendercode gehen und eine neue reihe erstellen und die ip eintragen
wenns nur eine is von und bis das selbe ansonsten alle einzeln oder von/bis benutzen
also das ist eigendlich nicht das problem den user manuel einzutragen auserdem sind es mehrere user wo einfach kein ip zugeordnet werden kann
ich frage mich ob die von kabel provider ein festen ip haben oder warum wird bei dennen die ip nicht zugeornetwerden kann ich meine wenn ich die mit manuel aktiviere dann hat das ja kein sin laendercode einzubauen da ich nicht mit sicherheit sagen kann ob der user wirklich in deutschlad oder die deutschsprachiegen länder sind

gibt kein andere lösssung

jpwfour
22.06.2008, 11:03
die kabel betreiebr haben so wie alle anderen isp's ihren festen ip bereich, nur ist dieser wohl in der liste/datenbank, die das addon verwendet, noch nicht eingetragen, entweder aktualisierst du die daten nicht oder die liste ist ziemlich verlaltet, oder der bereich wurde erst vor kurzem neu registriert.

SilentKiller
25.11.2009, 02:54
Die einzige Fehlermeldung, die da auftauchen wird, ist ein "Datei nicht gefunden", weil die CSV mehr als 2 MB größe hat und (default) in der php.ini eine Uploadgröße von 2 MB eingestellt ist ;)


Das hat mich bei meiner Fehleranalys schon ein ganzes Stück vorwärts gebracht...
Bei mir folgendes Problem:
Der Cron spuckt am Ende aus:
Premature end of script headers: cron.php

So, wenn ich aber nun hingehe (darauf kam ich wegen breaker) und lösche 70% der CSV läuft der cron ohne probleme durch.

Die neue CSV von November 09 ist mitlerweile 5mb gross, wie löse ich das Problem nun permanent & elegant, das der Cron auch sagen wir mal dateien bis 7mb frisst? Die php.ini hab ich leider nicht gefunden:rant:

Danke aber schonmal an Breaker fürs heranführen an das Problemchen :biggrin1:

breaker
28.11.2009, 13:49
Das sollte dein Problem wohl lösen können ;)

http://www.libe.net/themen/2MB-Upload-PHP.php

SilentKiller
29.11.2009, 03:44
mhh, ne leider nicht- besagtes programm da läuft nicht wirklich bei mir, wird wohl aber da in dem Forum auch oft gesagt das es nicht funzt-

Die php.ini hab ich auch nicht gefunden, hab kein server gerade sondern nur webspace, daher.... Bei meinem Provider im faq auch nix gefunden dazu- nur wei ich das meine Limits sogar reichen wohl- zumindest geht bis 80mb, nur ist es zeitlich auf 60 sek limitiert und das reicht wohl nicht.

Ich dachte halt es wäre evtl leichter scriptseitig zu lösen, da ja die alte liste immer gelöscht wird bevor die neue reingezogen wird- könnt ich das löschen vermeiden, könnte ich ja selber die Einträge auf 3-5 Dateien splitten und nacheinander reinjagen bis alle drin sind. Andererseits werden die ip's doch in der datenbank laendercode gespeichert... Auf dem dedicated Server vom Kollegen klappte es sofort, könnte ich nicht einfach den inhalt per phpMyAdmin exportieren und importieren und quasi selbst die db befüllen?
Weil auf die nächste Aktualisierung kann ich auch erstmal verzichten, hauptsache ich kriege die 5mb schonmal rein, das ist schon die wichtigste Grundlage

Mal sehen was der provider Support dazu sagt, ärgerlich das ic

Lokutos
29.11.2009, 11:14
hm also wenn dir die zeit zum ausführen des crons nicht reicht
sollte dir das helfen
so sind aber nur die ip's aus DE AT und CH in der liste:

suche

$anfuegen = db_query("INSERT INTO laendercode (IP_FROM, IP_TO, CC2, CC3, land) values ('$werte_array[0]','$werte_array[1]','$werte_array[2]','$werte_array[3]','$werte_array[4]')");ersetze mit


if ($werte_array[2] == 'DE' OR $werte_array[2] == 'AT' OR $werte_array[2] == 'CH'){
$anfuegen = db_query("INSERT INTO laendercode (IP_FROM, IP_TO, CC2, CC3, land) values ('$werte_array[0]','$werte_array[1]','$werte_array[2]','$werte_array[3]','$werte_array[4]')");
}


MFg Lokutos

Gabriel
04.04.2014, 20:40
Huhu ihr Lieben.

Entschuldigt dass ich das Thema nochmal aufwärme aber Lokutos' Antwort hat mich nachdenklich gemacht wie ich das so umsetzen könnte.
Und zwar wollte ich gern (da die Seite international läuft) einen speziellen Klickbereich machen nur für die DE/CH/AT leute.
Wenn ich jetzt wie von Lokutos das in die DB eintragen lasse sodass nur die 3 Sachen drin sind...haltet mich bitte nich für blöde (ok auf dem Gebiet bin ichs)...
Wie kann ich denn dann in PHP sagen dass er nur für die ips von den eingefügten div. bereiche anzeigen soll?

Kurzes Beispiel:
WENN ip von nutzer dort drin DANN zeige X (z.b. einen Menueeintrag).

Weil ich dachte mir..wäre doch eigentlich sinnvoller nur die 3 Sachen von DE/CH/AT durchsuchen zu lassen als die ganze bandbreite oder irre ich mich da?

Vielen Dank im Voraus,
MFG,
der Gabi