Einträge bei durchlauf durch request_var leer!

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Anacronn
Mitglied
Beiträge: 3
Registriert: 08.03.2009 14:40

Einträge bei durchlauf durch request_var leer!

Beitrag 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
Anacronn
Mitglied
Beiträge: 3
Registriert: 08.03.2009 14:40

Re: Einträge bei durchlauf durch request_var leer!

Beitrag 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);
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“