Seite 1 von 1

Einträge bei durchlauf durch request_var leer!

Verfasst: 11.03.2009 23:17
von Anacronn
Hi @ll!

Ich habe auf meiner Seite einen Newsbereich. Dieser Newsbereich hat logischerweise ein Eingabeformular. Dieses wollte ich mit dem Forum verbinden, damit man die News-Einträge im Forum diskutieren/kommentieren kann.

Soweit hab ich alles bereits geschafft, bis auf eines.

Sobald ich eine News erstelle, wird sehr wohl ein Topic im Forum erstellt, jedoch ist dieses nicht auswählbar, da sowohl der Titel als auch der Text nicht vorhanden sind.
Wenn ich die Funktion request_var beim einlesen weglasse, dann kommt zwar ein Text, jedoch stehen anstatt der Umlaute Fragenzeichen da.

Hier mal mein Code:

Code: Alles auswählen

function do_thread($boardRoot="./",$my_subject,$my_text,$forum){
  
  if(strlen($my_subject) < 5 || strlen($my_text) < 5){
    exit;
  }
  
  include_once($boardRoot."includes/functions_posting.php");
  
  // note that multibyte support is enabled here 
  $my_subject   = utf8_normalize_nfc($my_subject); //Umlaute werden mit dieser Methode nicht angezeigt
  $my_text   = utf8_normalize_nfc($my_text); //Umlaute werden mit dieser Methode nicht angezeigt

/*So wird gar kein Text in das phpBB3-Board übernommen
  $my_subject   = utf8_normalize_nfc(request_var('my_subject', '', true));
  $my_text   = utf8_normalize_nfc(request_var('my_text', '', true));
*/
  
  // variables to hold the parameters for submit_post
  $poll = $uid = $bitfield = $options = ''; 
  
 generate_text_for_storage($my_subject, $uid, $bitfield, $options, false, false, false);
 generate_text_for_storage($my_text, $uid, $bitfield, $options, true, true, true);
  
  $data = array( 
     'forum_id'      => $forum,
     'icon_id'      => false,
     'topic_title'      => $my_subject,
  
     'enable_bbcode'      => true,
     'enable_smilies'   => true,
     'enable_urls'      => true,
     'enable_sig'      => true,
  
     'message'      => $my_text,
     'message_md5'   => md5($my_text),
              
     'bbcode_bitfield'   => $bitfield,
     'bbcode_uid'      => $uid,
  
     'post_edit_locked'   => 0,
     'topic_title'      => $my_subject,
     'notify_set'      => false,
     'notify'         => false,
     'post_time'       => 0,
     'forum_name'      => '',
     'enable_indexing'   => true,
  );
  
  submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data);

}
Und so Rufe ich diese Funktion auf:

Code: Alles auswählen

do_thread($phpbb_root_path,$_POST['subject'],$_POST['message'],$_POST['forum']);
Weder eine Suche hier im Forum noch eine Suche bei Google konnten mir weiter helfen. Vielleicht weiß einer von euch eine Lösung.

Danke im Voraus

Anacronn

Re: Einträge bei durchlauf durch request_var leer!

Verfasst: 11.03.2009 23:47
von Anacronn
Hab's selber lösen können:
Die Texte waren nicht utf8-codiert. Nun hab ich sie vorher durch die Funktion utf8_encode laufen lassen, und die request_var-Funktion weggelassen, fertig :D .

Code: Alles auswählen

	$my_subject = utf8_encode($my_subject);
	$my_text = utf8_encode($my_text);
	
	$my_subject   = utf8_normalize_nfc($my_subject);
	$my_text   = utf8_normalize_nfc($my_text);