Seite 1 von 2

10 € Belohnung für den der meine posting.php wieder hinbügel

Verfasst: 29.12.2004 16:49
von KevinD
So, nachdem ich immer noch keine Lösung für mein Problem (Klick) gefunden habe, aber ich die Funktion benötige, bekommt derjenige, der meine posting.php wieder hinbügelt - schöne 10 € (oder irgendwas anderes was er gerne hätte und das ich machen kann) ;-)

Nochmal eine Kurzzusammenfassung:
Wenn man bei einer Umfrage teilnehmen will erscheint obwohl man eine Antwort ausgewählt hat dies hier: "Du musst eine Auswahl treffen, um abzustimmen."

desweiteren bekomme ich eine fehlermeldung des page_headers

Mit einer Original posting.php kann man an Umfragen teilnehmen, nur habe ich mein Board mit mehreren Mods vollgestopft :D (Liste: Klick)

Leider ist mir als Zahlungsmöglichkeit nur die Überweisung möglich, da ich nicht bei PayPal oder ähnlichem angemeldet bin.

Die posting.php gibt es hier: http://www.klasse88-89.de/posting.txt

Schonmal nen Guten Rutsch
Kevin

Verfasst: 29.12.2004 17:31
von PhilippK
Versuch mal:
Bei dir:

Code: Alles auswählen

				while ( $row = $db->sql_fetchrow($result) );
				$db->sql_freeresult($result);
			}
Richtig:

Code: Alles auswählen

				while ( $row = $db->sql_fetchrow($result) );
			}
			$db->sql_freeresult($result);
Gruß, Philipp

Verfasst: 29.12.2004 17:46
von KevinD
der fehler ist leider immernoch da :(

Verfasst: 29.12.2004 21:18
von PhilippK
Dann machen wir hier weiter:

Code: Alles auswählen

                if ( !($result2 = $db->sql_query($sql)) )
                {
                        message_die(GENERAL_ERROR, 'Could not obtain user vote data for this topic', '', __LINE__, __FILE__, $sql);
                }

                if ( !($row = $db->sql_fetchrow($result2)) )
                {
                        $vote_id = $vote_info['vote_id'];

                        $sql = "SELECT *
                                FROM " . VOTE_USERS_TABLE . "
                                WHERE vote_id = $vote_id
                                        AND vote_user_id = " . $userdata['user_id'];
                        if ( !($result = $db->sql_query($sql)) )
                        {
                                message_die(GENERAL_ERROR, 'Could not obtain user vote data for this topic', '', __LINE__, __FILE__, $sql);
                        }

                        if ( !($row = $db->sql_fetchrow($result)) )
                        {
                                $sql = "UPDATE " . VOTE_RESULTS_TABLE . "
                                        SET vote_result = vote_result + 1
                                        WHERE vote_id = $vote_id
                                                AND vote_option_id = $vote_option_id";
                                if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
                                {
                                        message_die(GENERAL_ERROR, 'Could not update poll result', '', __LINE__, __FILE__, $sql);
                                }

                                $sql = "INSERT INTO " . VOTE_USERS_TABLE . " (vote_id, vote_user_id, vote_user_ip, vote_cast)
                                        VALUES ($vote_id, " . $userdata['user_id'] . ", '$user_ip', $vote_option_id)";
durch

Code: Alles auswählen

		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain vote data for this topic', '', __LINE__, __FILE__, $sql);
		}

		if ( $vote_info = $db->sql_fetchrow($result) )
		{
			$vote_id = $vote_info['vote_id'];

			$sql = "SELECT * 
				FROM " . VOTE_USERS_TABLE . "  
				WHERE vote_id = $vote_id 
					AND vote_user_id = " . $userdata['user_id'];
			if ( !($result2 = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not obtain user vote data for this topic', '', __LINE__, __FILE__, $sql);
			}

			if ( !($row = $db->sql_fetchrow($result2)) )
			{
				$sql = "UPDATE " . VOTE_RESULTS_TABLE . " 
					SET vote_result = vote_result + 1 
					WHERE vote_id = $vote_id 
						AND vote_option_id = $vote_option_id";
				if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
				{
					message_die(GENERAL_ERROR, 'Could not update poll result', '', __LINE__, __FILE__, $sql);
				}

				$sql = "INSERT INTO " . VOTE_USERS_TABLE . " (vote_id, vote_user_id, vote_user_ip) 
					VALUES ($vote_id, " . $userdata['user_id'] . ", '$user_ip')";
Sieht nach viel aus, sind aber nur ein paar Variablen...

Gruß, Philipp

Verfasst: 29.12.2004 21:25
von KevinD
Also die Fehlermeldung im Header hat sich nach diesem Codewechsel geändert

sie lautet nun:

Code: Alles auswählen

Warning: mysql_fetch_array(): 36 is not a valid MySQL result resource in /www/htdocs/khschule/forum/db/mysql4.php on line 214

Warning: mysql_free_result(): 36 is not a valid MySQL result resource in /www/htdocs/khschule/forum/db/mysql4.php on line 318

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/khschule/forum/db/mysql4.php:214) in /www/htdocs/khschule/forum/includes/page_header.php on line 556

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/khschule/forum/db/mysql4.php:214) in /www/htdocs/khschule/forum/includes/page_header.php on line 558

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/khschule/forum/db/mysql4.php:214) in /www/htdocs/khschule/forum/includes/page_header.php on line 559

Verfasst: 29.12.2004 21:26
von PhilippK
Dann bitte die page_header.php als Datei posten...

Gruß, Philipp

Verfasst: 29.12.2004 21:28
von KevinD

Verfasst: 29.12.2004 21:43
von Nico Haase
philipp, die nützt dir nix, da ist ja alles okay. aber irgendwo wird die funktion

Code: Alles auswählen

function sql_fetchrow($query_id = 0)
mit falschen parametern aufgerufen, was zu den ersten zwei fehlermeldungen führt. die dritte verschwindet, wenn die ersten zwei nimmer da sind

Verfasst: 29.12.2004 22:45
von PhilippK
Nico Haase hat geschrieben:philipp, die nützt dir nix, da ist ja alles okay. aber irgendwo wird die funktion

Code: Alles auswählen

function sql_fetchrow($query_id = 0)
mit falschen parametern aufgerufen, was zu den ersten zwei fehlermeldungen führt. die dritte verschwindet, wenn die ersten zwei nimmer da sind
Das ist mir auch klar - nur muss ich mich ja in irgendeiner Reihenfolge nach oben tasten ;-)

Ersetze mal bitte

Code: Alles auswählen

        include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
durch

Code: Alles auswählen

echo('<p>1</p>');
        include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
echo('<p>2</p>');
Poste bitte dann die Fehlermeldung, die erscheint und mach dann die Änderung rückgängig.

Zum Hintergrund: der Fehler liegt darin, dass phpBB das Ergebnis einer DB-Abfrage löschen will, obwohl diese Abfrage schon nicht mehr existent ist. Das deutet prinzipiell auf einen falschen Code hin - nur ist die Suche etwas komplizierter, da die Fehlermeldung erst deutlich später auftritt.

Gruß, Philipp

Verfasst: 30.12.2004 10:36
von KevinD
Diese fehlermeldung erscheint nun überall im header:

Code: Alles auswählen

1

2

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/khschule/forum/includes/page_header.php:106) in /www/htdocs/khschule/forum/includes/page_header.php on line 558

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/khschule/forum/includes/page_header.php:106) in /www/htdocs/khschule/forum/includes/page_header.php on line 560

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/khschule/forum/includes/page_header.php:106) in /www/htdocs/khschule/forum/includes/page_header.php on line 561
bei dem abstimmen bei einer umfrage lautet sie dann:

Code: Alles auswählen

Warning: mysql_fetch_array(): 36 is not a valid MySQL result resource in /www/htdocs/khschule/forum/db/mysql4.php on line 214

Warning: mysql_free_result(): 36 is not a valid MySQL result resource in /www/htdocs/khschule/forum/db/mysql4.php on line 318

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/khschule/forum/db/mysql4.php:214) in /www/htdocs/khschule/forum/includes/page_header.php on line 558

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/khschule/forum/db/mysql4.php:214) in /www/htdocs/khschule/forum/includes/page_header.php on line 560

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/khschule/forum/db/mysql4.php:214) in /www/htdocs/khschule/forum/includes/page_header.php on line 561
achja, kann dir auch ftp zugang geben wenn du willst ;-)

so, dateien wieder zurückgesetzt - kevin