SET_VAR umgehen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
mps
Mitglied
Beiträge: 138
Registriert: 10.11.2013 21:02

SET_VAR umgehen

Beitragvon mps » 05.02.2016 19:57

Hallo zusammen,

gibt es eine Möglichkeit, die Funktion SET_VAR zu umgehen in der Funktion REQUEST_VAR zu umgehen?

Mal ganz davon zu schweigen, dass mein Latein bei PHPBB3.1.X am Ende ist mit dieser Funktion :mrgreen:

Es geht nämlich darum, dass später in meinem Script ein Array erzeugt werden soll, dass eine Eingabe aus einem Textfeld nach Zeilenbrüchen trennt und dann erneut multidimensionale Arrays erzeugt, wo dann die einzelnen Zeilen erneut durch \t (Tabulator) getrennt werden sollen. Dient zur Massendatenverarbeitung.

Leider scheint es der Fall zu sein, dass eben eine dieser Funktion alles raus löscht und zu einem einfach String konvertiert.

Vielen Dank.

Gruß,
mps

Benutzeravatar
gn#36
Administrator
Administrator
Beiträge: 9246
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: SET_VAR umgehen

Beitragvon gn#36 » 06.02.2016 02:23

Ich verstehe nicht ganz was du willst, denke aber nicht, dass es nötig ist, die request_var Funktion zu ändern. Eine Eingabe, die aus einem Textfeld stammt sollte in meinen Augen ein String sein.

Wenn du ein Array von mehreren Textfeldern erwartest, weil dein Skript z.B. das z.B. vorverarbeitet und dann als array verschickt, kannst du auch ein Array von request_var bekommen, du musst nur dementsprechend deinen Standardwert angeben, z.B. array('') oder evtl. array('' => '').

Siehe auch https://wiki.phpbb.com/Function.request ... ted_to_int

Wenn du die Daten im client vorverarbeitest solltest du sie im Server validieren.

Übrigens würde ich dir empfehlen auf die Request Klasse umzusteigen, die request_var Funktion ist deprecated. Die Request Klasse verhält sich aber nahezu identisch, du nutzt lediglich statt request_var $request->variable.

Hilft dir das nicht werde mal etwas konkreter in dem was du tun willst (Beispiel mit ist und soll).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.

mps
Mitglied
Beiträge: 138
Registriert: 10.11.2013 21:02

Re: SET_VAR umgehen

Beitragvon mps » 06.02.2016 16:15

Das ist es noch nicht ganz.

Mein Soll (Eingabe in einem Textfeld):

Code: Alles auswählen

Hier steht text \t hier steht weiterer text \n
und so weiter \t und so fort


Mein Ist (gehe ich mal davon aus):

Code: Alles auswählen

Hier steht text hier steht weiterer text und so weiter und so fort


Mit der Funktion explode soll eigentlich die Eingabe aus dem Soll getrennt werden nach \n und \t in ein Array. Das geht aber nicht, da diese Zeichen von der Funktion anscheinend entfernt werden.

__________________

Zur PHP-Klasse noch einmal, wie sehe das konkrete Beispiel zum Beispiel dafür aus:

$hallo = request_var('hallo', true);

Danke sehr

Benutzeravatar
gn#36
Administrator
Administrator
Beiträge: 9246
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: SET_VAR umgehen

Beitragvon gn#36 » 06.02.2016 16:56

Nein, Umbrüche werden nicht entfernt und Tabstops auch nicht. Die Beiträge laufen ja auch durch die request_var Funktion und da kannst du ebenfalls Umbrüche und Tabstops benutzen (wobei die Tabstops in HTML natürlich eh wirkungslos sind). Zeig' doch bitte mal deinen Code mit dem du die Daten verarbeitest, da ist vermutlich was drin falsch. Ein häufiger Fehler ist z.B. dass \n oder \t in einfachen Anführungszeichen genutzt wird.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.

mps
Mitglied
Beiträge: 138
Registriert: 10.11.2013 21:02

Re: SET_VAR umgehen

Beitragvon mps » 06.02.2016 17:14

Das war sogar schon der Fehler :D Danke sehr!

Manchmal kann es doch so einfach sein :oops:

BTW: Tap-Stopp-Zeichen benötigt man dann, wenn man Massendatenverarbeitungen machen will und Daten aus einer Excel-Tabelle kopieren will.

Benutzeravatar
gn#36
Administrator
Administrator
Beiträge: 9246
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: SET_VAR umgehen

Beitragvon gn#36 » 06.02.2016 17:32

Klar, ich habe ja nicht behauptet dass man das Zeichen nicht nutzen kann.

Aber in einem Browser kann man es von Hand meist nicht eingeben, außer per Copy & Paste und wenn man nicht gerade vorformatierten Text - wie z.B. im "code" bbcode - hat, dann wird der bei der Darstellung einfach in ein Leerzeichen umgewandelt.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.


Zurück zu „Extension Bastelstube“