$userdata geht verloren

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

$userdata geht verloren

Beitrag von karstenkurt »

Deine phpBB Version: Vanilla phpBB 2.0.18
MODs: Ja
Dein Wissensstand: Grundwissen
Link zu Deinem Forum: [url]http://[/url]

PHP Version:
MySQL Version:


Was hast Du gemacht, bevor das Problem aufgetreten ist?



Was hast Du bereits versucht um das Problem zu lösen?




Fehlerbeschreibung und Nachricht

Hallo,

habe mir vor einiger Zeit den UploadPic-Mod von phpbb eingebaut. Nun tritt ein Problem auf. WEnn ich beim Posten den Lionk für den Mod aufrufe, sind in der $uerdata keine Daten mehr enthalten. d.h. eigentlich bin ich nicht angemeldet. In der posting.php wird allerdings vor

Code: Alles auswählen

emplate->assign_vars(array(
	'USERNAME' => $username,
	'SUBJECT' => $subject,
	'MESSAGE' => $message,
noch alles korrekt angezeigt. Hab mal ein print_r($userdata);
eingebaut. und es werden die korrekten Daten angezigt. Wenn allerdings aus dem Posting-Bereich selber die upload_pic.php aufgerufen wird, steht in den Daten plötzlich user_id auf -1?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wird denn eine User-ID an die upload_pic.php übergeben?
Und auch von dort angenommen?

Nur, wenn die Userdaten auch korrekt übergeben und im Zielscript neu abgefragt werden, kann die user_id wieder korrekt sein.
Normalerweise ist das aber nicht nötig, solange man das Session-Management verwendet. Fehlt das, muss man die Userdaten eben übergeben (user_id reicht aus) und dann neu abfragen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Ja, das Script verwendet das Session-Management

Code: Alles auswählen

/* UploadPic can be freely copied and used, as long as all provided files remain unchanged. */
/* For all further terms, the GNU GENEREAL PUBLIC LICENSE applies to this MOD. */


	// Start
	define('IN_PHPBB', true);
	$phpbb_root_path = './';
	include($phpbb_root_path . 'extension.inc');
	include($phpbb_root_path . 'common.php');
	$gen_simple_header = TRUE;
	$up_parent = str_repeat("../", max(0,substr_count($board_config['script_path'],"/")-1));

	// Start session management
	$userdata = session_pagestart($user_ip, PAGE_INDEX);
	init_userprefs($userdata);

Hier mal der Auszug. Wie gesagt, in der posting.php stimmen die Werte uind wenn ich das Script über einen Link im Posting-Bereich aufrufe, ist der User weg. D.h. ein echo $userdata8"user_id"] liefert -1
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

WO hast Du denn das echo eingesetzt?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Direkt hinter "init_userprefs($userdata);"
Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann wird die SID nicht mit übergeben.
Der Aufruf darf also nur mittels append_sid(); geschehen.
Prüfe da mal den Aufruf in der posting.php...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Das war Anfangs wirklich so. Hab das aber geändert.

Code: Alles auswählen

$template->assign_vars(array(
	'USERNAME' => $username,
	'SUBJECT' => $subject,
	'MESSAGE' => $message,
	'HTML_STATUS' => $html_status,
	'BBCODE_STATUS' => sprintf($bbcode_status, '<a href="' . append_sid("faq.$phpEx?mode=bbcode") . '" target="_phpbbcode">', '</a>'), 
	'SMILIES_STATUS' => $smilies_status, 

	'L_SUBJECT' => $lang['Subject'],
	'L_MESSAGE_BODY' => $lang['Message_body'],
	'L_OPTIONS' => $lang['Options'],
	'L_PREVIEW' => $lang['Preview'],
	'L_SPELLCHECK' => $lang['Spellcheck'],
	'L_SUBMIT' => $lang['Submit'],
	'L_CANCEL' => $lang['Cancel'],
	'L_CONFIRM_DELETE' => $lang['Confirm_delete'],
	'L_DISABLE_HTML' => $lang['Disable_HTML_post'], 
	'L_DISABLE_BBCODE' => $lang['Disable_BBCode_post'], 
	'L_DISABLE_SMILIES' => $lang['Disable_Smilies_post'], 
	'L_ATTACH_SIGNATURE' => $lang['Attach_signature'], 
	'L_NOTIFY_ON_REPLY' => $lang['Notify'], 
	'L_DELETE_POST' => $lang['Delete_post'],
  'CST_MODE' => $supportsystem,
  'CST_HEAD' => $lang['cst_head'],
  'CST_PHPBBVERSION' => $lang['cst_phpbbversion'],
  'CST_PHPBBTYPE' => $lang['cst_phpbbtype'],
  'CST_STANDARD' => $lang['cst_standard'],
  'CST_PREMOD' => $lang['cst_premod'],
  'CST_ANDDIST' => $lang['cst_anddist'],
  'CST_MODS' => $lang['cst_mods'],
  'CST_YES' => $lang['cst_yes'],
  'CST_NO' => $lang['cst_no'],
  'CST_KNOWLEDGE' => $lang['cst_knowledge'],
  'CST_BEGINNER' => $lang['cst_beginner'],
  'CST_BASICKNOW' => $lang['cst_basicknow'],
  'CST_EXTENDED' => $lang['cst_extended'],
  'CST_PROFI' => $lang['cst_profi'],
  'CST_BEFOREERR' => $lang['cst_beforeerr'],
  'CST_SELFSOLUTION' => $lang['cst_selfsolution'],
  'CST_BOARDLINK' => $lang['cst_boardlink'],
  'CST_SQLVER' => $lang['cst_sqlver'],
  'CST_PHPVER' => $lang['cst_phpver'],
  'CST_HEAD_MSG' => $lang['cst_head_msg'],
  'CST_OPTIONAL' => $lang['cst_optional'],
  //ToDo
  'L_BBCODE_B_HELP' => $lang['bbcode_b_help'], 
	'L_BBCODE_I_HELP' => $lang['bbcode_i_help'], 
	'L_BBCODE_U_HELP' => $lang['bbcode_u_help'], 
	'L_BBCODE_Q_HELP' => $lang['bbcode_q_help'], 
	'L_BBCODE_C_HELP' => $lang['bbcode_c_help'], 
	'L_BBCODE_L_HELP' => $lang['bbcode_l_help'], 
	'L_BBCODE_O_HELP' => $lang['bbcode_o_help'], 
	'L_BBCODE_P_HELP' => $lang['bbcode_p_help'], 
	'L_BBCODE_W_HELP' => $lang['bbcode_w_help'], 
	'L_BBCODE_A_HELP' => $lang['bbcode_a_help'], 
	'L_BBCODE_S_HELP' => $lang['bbcode_s_help'], 
	'L_BBCODE_F_HELP' => $lang['bbcode_f_help'],
	'L_BBCODE_H_HELP' => $lang['bbcode_h_help'],
	'L_BBCODE_HU_HELP' => $lang['bbcode_hu_help'],
	'L_EMPTY_MESSAGE' => $lang['Empty_message'],
  'L_FONT_COLOR' => $lang['Font_color'], 
	'L_COLOR_DEFAULT' => $lang['color_default'], 
	'L_COLOR_DARK_RED' => $lang['color_dark_red'], 
	'L_COLOR_RED' => $lang['color_red'], 
	'L_COLOR_ORANGE' => $lang['color_orange'], 
	'L_COLOR_BROWN' => $lang['color_brown'], 
	'L_COLOR_YELLOW' => $lang['color_yellow'], 
	'L_COLOR_GREEN' => $lang['color_green'], 
	'L_COLOR_OLIVE' => $lang['color_olive'], 
	'L_COLOR_CYAN' => $lang['color_cyan'], 
	'L_COLOR_BLUE' => $lang['color_blue'], 
	'L_COLOR_DARK_BLUE' => $lang['color_dark_blue'], 
	'L_COLOR_INDIGO' => $lang['color_indigo'], 
	'L_COLOR_VIOLET' => $lang['color_violet'], 
	'L_COLOR_WHITE' => $lang['color_white'], 
	'L_COLOR_BLACK' => $lang['color_black'], 
  'L_FONT_SIZE' => $lang['Font_size'], 
	'L_FONT_TINY' => $lang['font_tiny'], 
	'L_FONT_SMALL' => $lang['font_small'], 
	'L_FONT_NORMAL' => $lang['font_normal'], 
	'L_FONT_LARGE' => $lang['font_large'], 
	'L_FONT_HUGE' => $lang['font_huge'], 
	'URL_UPLOADPIC' => ($userdata['user_allow_uploadpic'] == 1) ? '<a href="' . append_sid("uploadpic.php") . '" onclick="window.open(\'' . append_sid("uploadpic.php") . '\', \'_uploadpic\', \'HEIGHT=350,resizable=yes,scrollbars=yes,WIDTH=450\');return false;" target="_uploadpic" class="nav" onMouseOver="helpline(\'up\')">'.$lang['UploadPic'].'</a>&nbsp;<br \>' : '',
	'L_UPHELP' => $lang['UP_Help'],
	'L_BBCODE_CLOSE_TAGS' => $lang['Close_Tags'], 
	'L_STYLES_TIP' => $lang['Styles_tip'], 
 	'U_VIEWTOPIC' => ( $mode == 'reply' ) ? append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&postorder=desc") : '', 
	'U_REVIEW_TOPIC' => ( $mode == 'reply' ) ? append_sid("posting.$phpEx?mode=topicreview&" . POST_TOPIC_URL . "=$topic_id") : '', 
	'S_HTML_CHECKED' => ( !$html_on ) ? 'checked="checked"' : '', 
	'S_BBCODE_CHECKED' => ( !$bbcode_on ) ? 'checked="checked"' : '', 
	'S_SMILIES_CHECKED' => ( !$smilies_on ) ? 'checked="checked"' : '', 
	'S_SIGNATURE_CHECKED' => ( $attach_sig ) ? 'checked="checked"' : '', 
	'S_NOTIFY_CHECKED' => ( $notify_user ) ? 'checked="checked"' : '', 
	'S_TYPE_TOGGLE' => $topic_type_toggle, 
	'S_TOPIC_ID' => $topic_id, 
	'S_POST_ACTION' => append_sid("posting.$phpEx"),
	'S_HIDDEN_FORM_FIELDS' => $hidden_form_fields)
Wichig schien mir diese Zeile zu sein

Code: Alles auswählen

'URL_UPLOADPIC' => ($userdata['user_allow_uploadpic'] == 1) ? '<a href="' . append_sid("uploadpic.php") . '" onclick="window.open(\'' . append_sid("uploadpic.php") . '\', \'_uploadpic\', \'HEIGHT=350,resizable=yes,scrollbars=yes,WIDTH=450\');return false;" target="_uploadpic" class="nav" onMouseOver="helpline(\'up\')">'.$lang['UploadPic'].'</a>&nbsp;<br \>' : '',
und da hab ich 2mal das append eingesetzt.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Und damit hast du die Fehler?
Dann entferne diese mal testweise. Was aber komisch wäre...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Der Fehkler tritt mit und ohne auf. Das ist ja das komische.
Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nimm mal diesen Teil auch dem Link raus:

Code: Alles auswählen

onclick="window.open(\'' . append_sid("uploadpic.php") . '\', \'_uploadpic\', \'HEIGHT=350,resizable=yes,scrollbars=yes,WIDTH=450\');return false;" target="_uploadpic" class="nav" onMouseOver="helpline(\'up\')"
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Das Echo zeigt mir in der upload_pic.php jetzt eine 2 an. Das stimmt. Wenn ich nun aber ein Bild auswähle, und abschicke kommt :
User_id:-1 und "Please login."


Edit (8:43)
So, nach langem Suche und Probieren: Der Fehler ist weg.

Was hab ich gemacht:
Unter

Code: Alles auswählen

$template->assign_vars(array(
hab ich einen neuen Parameter eingefügt.

Code: Alles auswählen

'S_UL_ACTION' => append_sid("uploadpic.$phpEx"),
und in der uploadpic_body.tpl

Code: Alles auswählen

<form action="uploadpic.php" method="post" enctype="multipart/form-data" name="form_uploadpic"> 
durch

Code: Alles auswählen

<form action="{S_UL_ACTION}" method="post" enctype="multipart/form-data" name="form_uploadpic"> 
ersetzt. Jetzt gehts :D
Zuletzt geändert von karstenkurt am Mo 28.Nov, 2005 08:42, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Jo, so ist es auch richtig.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Man lernt immer was dazu. Klappt aber eigentlich schon ganz gut:)
Bild
Antworten