Quiz Mod / Yellow Card Problem

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.
Antworten
Benutzeravatar
Supersonic
Mitglied
Beiträge: 162
Registriert: 16.08.2004 09:04
Kontaktdaten:

Quiz Mod / Yellow Card Problem

Beitrag von Supersonic »

Hab den Quiz mod installiert. Wenn man die Frage beantworten will und den "Go"-Button drückt, kommt folgende Fehlermeldung:
No user/post specified

DEBUG MODE

post_id="", user_id=""

Line : 85
File : card.php
Wenn man auf "Antwort erstellem" drückt und die Antwort auswählt klappt alles einwandfrei....

Hier noch die Zeilen aus der "card.php"

Code: Alles auswählen

if ( !( $post_id + $user_id ) )
	message_die(GENERAL_ERROR, "No user/post specified", "", __LINE__, __FILE__,'post_id="'.$post_id.'", user_id="'.$user_id.'"');
if ( empty($mode) )
	message_die(GENERAL_ERROR, "No action specified", "", __LINE__, __FILE__,'mode="'.$mode.'"');
Habt ihr einen Mod übersetzt oder sucht ihr eine deutsche Version eines Mods?
http://www.phpbbmods.de
Signaturen dürfen maximal 3 Zeilen lang sein
Benutzeravatar
Supersonic
Mitglied
Beiträge: 162
Registriert: 16.08.2004 09:04
Kontaktdaten:

Beitrag von Supersonic »

*schieb*
Habt ihr einen Mod übersetzt oder sucht ihr eine deutsche Version eines Mods?
http://www.phpbbmods.de
Signaturen dürfen maximal 3 Zeilen lang sein
chris478
Mitglied
Beiträge: 189
Registriert: 22.11.2002 18:13
Wohnort: Sulzbach-Rosenberg
Kontaktdaten:

Beitrag von chris478 »

Da wird wohl $post_id und $user_id nicht übergeben

Post uns mal die Function

Gruss
---chris
Benutzeravatar
Supersonic
Mitglied
Beiträge: 162
Registriert: 16.08.2004 09:04
Kontaktdaten:

Beitrag von Supersonic »

Aber gern


posting_body.tpl

Code: Alles auswählen

<script>
function checkForm() {
   formErrors = false;
   if (document.post.message.value.length < 2) {
      formErrors = "You must enter a message when posting";
   }
<!-- BEGIN switch_quiz_answer_js -->
{switch_quiz_answer_js.JS}
<!-- END switch_quiz_answer_js -->
   if (formErrors) {
      alert(formErrors);
      return false;
   } else {
      //formObj.preview.disabled = true;
      //formObj.submit.disabled = true;
      return true;
   }
}
</script>
EDIT

und hier noch die Stelle aus der quiz.php (ich denke, daß diese Stelle dafür verantwortlich ist)

includes/quiz.php

Code: Alles auswählen

	//
	// This function generate the quiz answer box
	//
	function generate_answer_box($topic_id, $user_id, $value)
	{
		global $db;
		$sql = "SELECT quiz_type, answer, answer2, answer3, answer4
			FROM " . QUIZ_TABLE . "
			WHERE quiz_topic_id = '$topic_id'";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not select quiz', '', __LINE__, __FILE__, $sql);
		}
		if ( !($row = $db->sql_fetchrow($result)) )
		{
			message_die(GENERAL_ERROR, 'Quiz question doesn\' t exist.');
		}
		if ( $row['quiz_type'] > 0 )
		{
			$return = '<select tabindex="4" name="answer">';
			$return .= '<option value="">-</option>';
			for ($i = 1; $i <= 4; $i++)
			{
				$answer = $row['answer' . ( $i == 1 ? '' : $i )];
				$answer = preg_replace('#\[img:' . $this->bbcode_uid . '\].*?\[\/img:' . $this->bbcode_uid . '\]#', ' ', $answer);
				$answer = preg_replace('#\[\/?url(=.*?)?\]#', ' ', $answer);
				$answer = preg_replace('#\[\/?[a-z\*=\+\-]+(\:?[0-9a-z]+)?:' . $this->bbcode_uid . '(\:[a-z0-9]+)?=?.*?\]#', ' ', $answer);
				$selected = ( $i == $value ) ? ' selected="selected"' : '';
				$return .='<option value="' . $i . '"' . $selected . '>' . $this->quiz4_chars[$i - 1] . ') ' . $answer . '</option>';
			}
			$return .= '</selected>';
			$js = 'if ( formErrors && document.post.answer.selectedIndex > 0 ) formErrors = false;';

		}
		else
		{
			$return = '<input type="text" name="answer" tabindex="4" value="' . $value . '" size="25" maxlenght="100" />';
			$js = 'if ( formErrors && document.post.answer.value.length != 0 ) formErrors = false;';
		}
		return array($return, $js);
	}
und aus

posting.php

Code: Alles auswählen

// BEGIN Quiz Hack
if ( $auth_answer )
{
	list($answer_field, $js) = $quiz->generate_answer_box($topic_id, $userdata['user_id'], $answer);
	$template->assign_block_vars('switch_quiz_answer', array(
		'L_ANSWER' => $lang['Answer'],
		'ANSWER' => $answer_field)
	);
	$template->assign_block_vars('switch_quiz_answer_js', array(
		'JS' => $js)
	);
}
// END Quiz Hack
Habt ihr einen Mod übersetzt oder sucht ihr eine deutsche Version eines Mods?
http://www.phpbbmods.de
Signaturen dürfen maximal 3 Zeilen lang sein
chris478
Mitglied
Beiträge: 189
Registriert: 22.11.2002 18:13
Wohnort: Sulzbach-Rosenberg
Kontaktdaten:

Beitrag von chris478 »

äh..der fehler tritt doch in der card.php auf
post uns halt die function wo die entsprechende Fehlermeldung herkommt
Line : 85
File : card.php
Benutzeravatar
Supersonic
Mitglied
Beiträge: 162
Registriert: 16.08.2004 09:04
Kontaktdaten:

Beitrag von Supersonic »

Stehen doch im ersten Post....

Zeile 80-87 card.php

Code: Alles auswählen

$post_id = ( isset($HTTP_POST_VARS['post_id']) ) ? intval ($HTTP_POST_VARS['post_id']) : '';
$user_id = ( isset($HTTP_POST_VARS[POST_USERS_URL]) ) ? intval ($HTTP_POST_VARS[POST_USERS_URL]) : '';

// check that we have all what is needed to know
if ( !( $post_id + $user_id ) )
	message_die(GENERAL_ERROR, "No user/post specified", "", __LINE__, __FILE__,'post_id="'.$post_id.'", user_id="'.$user_id.'"');
if ( empty($mode) )
	message_die(GENERAL_ERROR, "No action specified", "", __LINE__, __FILE__,'mode="'.$mode.'"');
EDIT:
Zeile 80-83 hinzugefügt...
Habt ihr einen Mod übersetzt oder sucht ihr eine deutsche Version eines Mods?
http://www.phpbbmods.de
Signaturen dürfen maximal 3 Zeilen lang sein
Benutzeravatar
Supersonic
Mitglied
Beiträge: 162
Registriert: 16.08.2004 09:04
Kontaktdaten:

Beitrag von Supersonic »

*schieb*
Habt ihr einen Mod übersetzt oder sucht ihr eine deutsche Version eines Mods?
http://www.phpbbmods.de
Signaturen dürfen maximal 3 Zeilen lang sein
Benutzeravatar
Supersonic
Mitglied
Beiträge: 162
Registriert: 16.08.2004 09:04
Kontaktdaten:

Beitrag von Supersonic »

und nochmal *schieb*
Habt ihr einen Mod übersetzt oder sucht ihr eine deutsche Version eines Mods?
http://www.phpbbmods.de
Signaturen dürfen maximal 3 Zeilen lang sein
Benutzeravatar
Supersonic
Mitglied
Beiträge: 162
Registriert: 16.08.2004 09:04
Kontaktdaten:

Beitrag von Supersonic »

Konnte den Fehler etwas analysieren. Beim Klick auf den "GO" Button wird die card.php aufgerufen. (domainname/card.php) Wenn man die card.php direkt aufruft, kommt dieser Fehler zustande.
Aber warum wird die card.php überhaupt aufgerufen?

Das Script wird wohl hier generiert:

posting.php

Code: Alles auswählen

// BEGIN Quiz Hack
if ( $auth_answer )
{
	list($answer_field, $js) = $quiz->generate_answer_box($topic_id, $userdata['user_id'], $answer);
	$template->assign_block_vars('switch_quiz_answer', array(
		'L_ANSWER' => $lang['Answer'],
		'ANSWER' => $answer_field)
	);
	$template->assign_block_vars('switch_quiz_answer_js', array(
		'JS' => $js)
	);
}
// END Quiz Hack
und das ist die Submit-Funktion aus der

templates/quiz.tpl

Code: Alles auswählen

<!-- BEGIN quiz -->
<table align="center" cellpadding="3" cellspacing="1" border="0" class="forumline">
<tr>
<td class="row1"> <span class="gen">{L_QUESTION}:</span> </td>
<td class="row1"> <span class="gen">{QUESTION}</span> </td>
</tr>
<tr>
<td class="row2"> <span class="gen">{L_ANSWER}:</span> </td>
<td class="row2"><form method="POST" action="{S_ACTION}">
<input type="text" size="30" maxlenght="100" name="answer" /> </td>
</td>
</tr>
<tr>
<td colspan="2" align="center" class="catBottom">
<input type="submit" value="{L_GO}" class="mainoption">
</td>
</tr>
</table></form><br clear="all" />
<!-- END quiz -->
Habt ihr einen Mod übersetzt oder sucht ihr eine deutsche Version eines Mods?
http://www.phpbbmods.de
Signaturen dürfen maximal 3 Zeilen lang sein
Antworten

Zurück zu „phpBB 2.0: Mod Support“