Fussball Tippspiel MOD (BETA)

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Lechon
Mitglied
Beiträge: 152
Registriert: 25.10.2004 20:37

Beitrag von Lechon »

Guten Morgen,
also alle Deine Fehler bis aufs Session hören sich nach nem Datenbankfehler an, prüf doch noch mal ob Du alle SQL Befehle richtig ausgeführt hast und ob die Tabellen bestehen.
Zur Session, ich hab das Sessionhandling noch etwas genauer geschrieben und im Page Header den Link geändert, vielleicht hilft das.
Abgeänderte Variante ist online.
Also ich hatte kein Probleme.
Nochmal zu Deinen Datenbank Fehlern, die Funktiom, die Du da nennst ist garnicht in meinen Tippspiel-Dateien drin, hast Du da vielleicht was anderes falsch gemacht?
Ansonsten gib mir den Link und schau es mir mal bei Dir an.
Ist doch eigentlich gut, das Du Fehler hast, deswegen ist es ja auch BETA :lol:
Warte die Funktion hat mit dem freeresult zu tun, das schau ich mir nochmal an.
Lechon
Mitglied
Beiträge: 152
Registriert: 25.10.2004 20:37

Beitrag von Lechon »

Ok ich war ein wenig freizügig mit der freeresult funktion, bei mir hat es keine Probleme gemacht, aber das liegt wohl immer an der Datenbank Version, hab den Code bereinigt, neue Version ist online.
Benutzeravatar
Budman
Mitglied
Beiträge: 327
Registriert: 02.02.2005 10:46

Beitrag von Budman »

hallo!

Also ich hab dann mal ein bisschen gebastelt, und geschrieben, ich hoffe meine laienhaften Ansätze zerstören da nichts ;)

Zu dem free_result... Seltsame Funktion, und brauchen tut man die in dem Fall doch sowieso nicht. Die Daten die ausgelesen werden sind ja nicht wirklich viele, insofern dachte ich mir alle raus :) Seitdem sind die Fehlermeldungen verschwunden, bislang keine Fehler.

Das von mir erwähnte "weisse Seite" Problem hängt an der ersten Abfrage if($userdata = ['User_logged_in']).

Diese habe ich aus allen Dateien entfernt, und siehe da, es erscheint auch ohen session_id eine Seite. Das ist ja auch nicht nötig, da die Userdaten ja oberhalb erst angestossen werden bzw initialisiert werden. Oder hatte das einen speziellen Grund?

Zu dem Userproblem komme ich noch nicht weiter, er schreibt mir immer "User does not exist", was ich insofern merkwürdig finde, da das Board als Standardsprache Deutsch hat...???

Vielleich findest Du da ja noch was zu, denn so ohne User geht's nicht :D Was wird denn bei der spieltage.php für eine Art User vorausgesetzt, denn das könnte durchaus auch am CH hängen... (da werden die Userdaten per Array initialisiert...)

Gruss Bud
Lechon
Mitglied
Beiträge: 152
Registriert: 25.10.2004 20:37

Beitrag von Lechon »

Hast Du die neue Version mit den bereinigten freeresults schon getestet?
Die if user logged in Abfrage ist ne reine Sicherheitssache, die ich auf meinem Board verwende um Zugriffe von Gästen abzuwehren, hast recht die kann natürlich raus.
Zu dem User not found Problem fällt mir nichts ein, wie zeigt er das denn an?
Im phpbb template oder auf ner weißen Seite?
Da fällt mir ein bist Du denn in Dein phpbb eingeloggt, wenn Du die Seiten aufrufst? Dann sollte nämlich auch die "if user logged in" Abfrage kein Problem sein.
cornell
Mitglied
Beiträge: 41
Registriert: 28.04.2005 22:33

Beitrag von cornell »

Hallo Lechon,

ich finde Dein Bundesliga-Tipp Mod echt spitze.
Ich habe auch schon ein bisschen rumprobiert.

Ich habe keine Fehler festgestellt aber ein paar kleine Verbesserungsvorschläge:

1. Wenn man nicht angemeldet, und klickt auf Tippspiel gibt es eine weiße Seite, es wäre schön wenn man direkt zur Login Seite gelangt.

2. Im ACP sind die Bestätigungsseiten nicht in der Hintergrundfarbe von Subsilver.

3. Ich habe mich noch nicht mit Cronjobs befasst, aber so wie ich weiß benötigt man die Serverunterstützung also wäre es toll wenn man die Erinnerung auch übers ACP per Mail verschicken kann.


Gruß
Cornell
Benutzeravatar
Budman
Mitglied
Beiträge: 327
Registriert: 02.02.2005 10:46

Beitrag von Budman »

Hallo!

So, ein bisschen weiter getestet. Ich habe die aktuellste Version des Mods, hab grad extra nochmal runtergeladen und überschrieben.

Das mit der if-user-logged-in Abfrage wäre natürlich in meinem Fall am schönsten über eine eigene Auth zu machen, aber das unterstützt nur der CH...

Insofern möchte ich das Tippspiel auch Gästen sichtbar machen. Nur mitspielen dürfen Gäste natürlich nciht. ;)

Ich bin übrigens Standardmäßig schon eingeloggt, aber ich teste immer alle Varianten, weil ich das ja auch für den absoluten Abblock-User haben möchte ;)

Das seltsame an dieser Fehlermeldung ist der "allgemeine Fehler". Alles im Template, mit deutscher Überschrift (Allgemeiner Fehler) und dem Text "User does not exist." den ich in keiner Language Datei finden kann, was mich auf einen ganz tief vergrabenen Fehlercode schliessen lässt, denn so etwas muss irgendwo hardgecoded im Quelltext stehen (eben weil nicht übersetzt).

Ich versuche nochmal weiter zu forschen.
Lechon
Mitglied
Beiträge: 152
Registriert: 25.10.2004 20:37

Beitrag von Lechon »

@colman: Die Vorschläge nehm ich gerne an.

@budman: Ich hab da eine Vermutung, was den user does not exist Fehler betreffen könnte, wieviel User außer Dir sind denn registriert? Nur Du?

Versuche mal in der spieltage.php folgendes:


Code: Alles auswählen

$o = 0;
$f = -1;
$fs=0;

               	$sql = "SELECT * FROM  tippspiel_usertips WHERE spielid > '$tippspieltaganfang' AND spielid < '$tippspieltagende' AND userid != '$userid' ORDER BY userid ASC, spielid ASC";
                if( !$result = $db->sql_query($sql) )
                   	message_die(GENERAL_ERROR, $lang['tipp_Sql_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
                while($row = $db->sql_fetchrow($result))
                {
		
		$otherscheck[] = $row['userid'];
				if ( $f > 0){
		if ( $otherscheck[$f] < $otherscheck[$fs]){$o++;}}
Und hier löscht Du :

Code: Alles auswählen

 if( !$result = $db->sql_query($sql) )
                   	message_die(GENERAL_ERROR, $lang['tipp_Sql_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
Das entscheidene könnte dieser Teil dabei sein, wenn es nur Dich gibt:

Code: Alles auswählen

userid != '$userid'
Oder 2.Vermutung:

Code: Alles auswählen

for ($o = 0; $o < $ocount;$o++){

$useridothers = $others[$o]['userid'][0];
$othersname = get_userdata($useridothers);

$template->assign_block_vars('othersname_block', array(
  	                        
				"OTHERSNAME" => $othersname['username']
		                
					 
                                )
                        );}
Austauschen mit:

Code: Alles auswählen

for ($o = 0; $o < $ocount;$o++){

if (($others[$o]['userid'][0] != '') || ( $others[$o]['userid'][0] != '0')){
$useridothers = $others[$o]['userid'][0];
$othersname = get_userdata($useridothers);

$template->assign_block_vars('othersname_block', array(
  	                        
				"OTHERSNAME" => $othersname['username']
		                
					 
                                )
                        );}}
Die Funktion ist von phpbb und findet den Namen zur userid, kann gut sein, das dort eine falsche userid übergeben wird, wenn es noch keine usertips gibt, also auch keine userid.

Die Sache mit Gästen muss ich wohl noch mal überarbeiten, mal sehen was dort die Beste Lösung ist.
Zuletzt geändert von Lechon am 06.05.2005 02:08, insgesamt 2-mal geändert.
Benutzeravatar
Budman
Mitglied
Beiträge: 327
Registriert: 02.02.2005 10:46

Beitrag von Budman »

Hallo!

Also ich habe da ein etwas älteres Backup vom Original Board am laufen, ca so um die 140 aktive User.

Aber ich probiere das gleich mal asu, mal sehen was raus kommt :)

Schreibe gleich nochmal! ;)
Lechon
Mitglied
Beiträge: 152
Registriert: 25.10.2004 20:37

Beitrag von Lechon »

Hatte meinen Beitrag geändert, liegt defenitiv nicht an registrierten Usern. s.o.
Das BAckup hat aber die neueste phpbb Version?
Benutzeravatar
Budman
Mitglied
Beiträge: 327
Registriert: 02.02.2005 10:46

Beitrag von Budman »

Ok, das ist der aktuelle Stand nach neu aufspielen des Board-Backups und der neuen Dateien (ich hab das Gefühl ich hab da irgendwo vorhin was falsch gehabt):

Beim erstmaligen Aufruf der Seite erscheint jetzt einmal dieser freeresult Fehler

Code: Alles auswählen

Warning: mysql_free_result(): 52 is not a valid MySQL result resource in C:\xampp\htdocs\public\forumBB\db\mysql4.php on line 318
, der aber interessanterweise bei neu laden der Seite nicht merh erscheint. Das dürfte am Cache hängen, denn das kann ich durch löschendes Cache jederzeit reproduzieren.

Das sltsame ist, jetzt kommt gleich der User does not exist, sogar auf der bundesliga.php...

Ich teste erstmal Änderung zwei ;)
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“