Seite 1 von 1
Formulardaten per PHP in JS-Variablen schreiben
Verfasst: 12.02.2012 23:01
von hangelhaten
Hallo zusammen,
ich stehe glaube ich auf dem Schlauch oder es gibt da irgendetwas über phpBB, das ich nicht weiß... Ich versuche Folgendes:
Ich möchte die Daten aus einem Formular per PHP-echo in einer zweiten Datei (Beitrag posten in phpBB) in eine Javascript-Variable schreiben. Soll dazu dienen, aus etlichen Formulareingaben einen Beitrag zu generieren, die Leute beim Posten also durch eine Eingabemaske mit vorgegebenen kleinen Feldern und Auswahlbutton zu unterstützen.
FORMULAR IN DATEI 1:
Code: Alles auswählen
<form name="blubb" id="blubb" method="post" accept-charset="UTF-8" action="http://domain.de/posting.php?mode=post&f=1" enctype="multipart/form-data">
<input type="text" name="bla" id="bla" value="" />
<input type="submit" name="bla_submit" id="bla_submit" value="Weiter" /></p>
</form>
AUSGABE IN DATEI 2:
Code: Alles auswählen
<script type="text/javascript">
// <![CDATA[
var bla ="<?php echo $_POST['bla']; ?>";
// ]]>
</script>
Der Haken ist: Es geht nicht; in der php-Datei wird nur
var bla=""; ausgegeben, ohne Inhalt sozusagen. Wäre nett, wenn mir jemand weiterhelfen könnte. PHP ist nicht meine Stärke und mit phpBB hab zum ersten mal zu tun...
Vielen Dank schonmal!
Re: Formulardaten per PHP in JS-Variablen schreiben
Verfasst: 13.02.2012 16:52
von BNa
Hier
viewtopic.php?p=1253919#p1253919
und da
viewtopic.php?p=1254231#p1254231
mal aufmerksam lesen.
Ersetze lediglich LanguageVariablen mit normalen Variablen. Geht auf jeden Fall genau so.
Re: Formulardaten per PHP in JS-Variablen schreiben
Verfasst: 13.02.2012 20:12
von hangelhaten
Hallo
und vielen Dank an BNa! Ich hab mir die Threads aufmerksam durchgelesen, kapier aber trotzdem nicht, wie ich die Variablen aus dem HTML-Formular anschließend in der zweiten Datei (in meinem Fall im Template "posting_layout.html") nutzen kann. Ich bin ja schon dankbar für die Hilfe, aber ich kapier's grad nicht, wie ich aus den Threads schlau werden könnte...
Normalerweise komm ich doch an die Formularinhalte per PHP dran, oder? Klappt das evtl. nicht, weil die Zieldatei des Formulars erst noch von phpBB "zusammengebaut" wird (aus versch. Templates)? Irgendwie kommen die Werte aus dem Formular nicht durch...
Vielen Dank nochmal!
Re: Formulardaten per PHP in JS-Variablen schreiben
Verfasst: 13.02.2012 22:11
von BNa
Erstmal solltest Du php in Templates, wenn es nicht absolut notwendig ist, deaktivieren.
Ferner ist die Frage, welche phpVariable Du aus welcher phpDatei in welche TemplateDatei "beamen" möchtest?
Zeig doch mal genau, was Du machen möchtest?
Re: Formulardaten per PHP in JS-Variablen schreiben
Verfasst: 14.02.2012 23:50
von hangelhaten
Hallo,
danke nochmal BNa! Ok, mal von Anfang an: Es geht um ein Forum, das nur registrierten Mitgliedern zur Verfügung steht und vor allem dazu dient, Arbeitsaufträge zu verwalten und zu besprechen. Es geht dabei um Hilfsprojekte, daher ist alles low-budget, also z.B. phpBB anpassen anstatt was "richtiges". Anfragen können auch ohne Registrierung gepostet werden, alles andere ist nur intern für angemeldete Nutzer.
Das ganze soll so ablaufen, dass die Anfragen als Posts reinkommen, von einem Koordinator freigeschaltet werden und ins passende Forum verschoben werden. Die Helfer haben die entsprechenden Foren abonniert, werden per Mail informiert und sprechen sich in dem neuen Thread auch gleich ab.
Mein Problem jetzt: Anstatt dass die Anfragen einfach so gepostet werden (da wird gerne mal ein wichtiges Detail vergessen...), soll es eine Eingabemaske geben. Aus den Eingaben (HTML-Formular in einer eigenen Datei) wird dan die Anfrage als Post zusammengebaut und in das Posting Feld geschrieben, Betreff wird ausgefüllt etc. Der Anfragende muss dann nur noch das Captcha ausfüllen, kann sich alles noch einmal durchlesen und abschicken.
Dazu habe ich eine Datei mit dem Formular (s.o.), welches an ....../posting.php?mode=post&f=1 geschickt wird. Dort ist das "normale" Feld von phpBB zum posten (genauer: im Template posting_layout.html), wo ich mit PHP die Eingaben in eine Javascript-Variabel schreibe und dann in das Posting-Feld übergebe.
Geht halt nur nicht, die Formularangaben kommen in der Zieldatei nicht an (s.o.)...
Wenn Du einen anderen eleganteren Weg hast, für genau dieses eine Forum des Boards sowas zu basteln, wäre das natürlich gut. Was ich das versuche war einfach das, was mir bis jetzt als Lösung eingefallen ist. Wenn's anders/besser geht - sehr gerne! Ich muss es nur irgendwie hinbekommen... Ansonsten läuft schon alles.
Viele Grüße und danke nochmal für alle Tipps und die Hilfe!
PS: Mal ne blöde Frage... ist PHP vielleicht standardmäßig in den Templates deaktiviert? Dein Hinweis hat mich stutzig gemacht. Das würde natürlich einiges erklären...
Re: Formulardaten per PHP in JS-Variablen schreiben
Verfasst: 15.02.2012 00:13
von BNa
Eventuell solltest Du Dich damit beschäftigen
http://wiki.phpbb.com/Deutsch:Vorlage_f ... ene_Seiten
Ferner ist es natürlich sehr gut, das php standardmässig in Templates deaktivert ist
Nehmen wir das Untenstehende mal als Beispiel.
Um von da aus etwas in eine entsprechende Datei zu bekommen, musst Du eine php ansprechen, die wiederum eine Template Datei anspricht.
Abgesehen davon, das Dein Beispiel keine SID (Session ID) berücksichtigt und ich immer noch nicht weiss, welche Variablen von Dir wie, wo
eingebaut wurden, sollte es erstmal funktionieren.
Code: Alles auswählen
<form name="blubb" id="blubb" method="post" accept-charset="UTF-8" action="http://domain.de/posting.php?mode=post&f=1" enctype="multipart/form-data">
<input type="text" name="bla" id="bla" value="" />
<input type="submit" name="bla_submit" id="bla_submit" value="Weiter" /></p>
</form>
Die Frage bleibt aber offen, wie heisst Datei 1, wie ist Datei 2 eingebunden. Was tut sie, wie sieht der Code aus, etc. etc.
Daher kann ich nur allgemeine Angaben machen.
Grundsätzlich ist es so:
action="http://domain.de/posting.php?mode=post&f=1
schickt den Wert aus
bla
(wegen
name="bla" id="bla"
) an eine Datei, hier posting.php. posting.php fängt diese via
request_var()
ab. Hierfür solltest Du eine Variable definieren
$bla = request_var('bla', '', true);
. Wenn Du nun testweise in der posting.php nach dieser Zeile ein
echo $bla;
einfügst, würde diese Variable ausgegeben. Nun kannst Du damit weiterarbeiten und meinem ersten Link folgen, wo klar wird, wie es funktioniert mit dem übergeben eine Variable aus zB. posting.php nach JS. Hierzu einfach einem Template Array in der zB. posting.php die Variable unterjubeln und das genannte Beispiel nachbilden.