Kann man mit Formularfeldern rechnen?

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by juergen »

Oliver kennt die Prozeduren, die das ganze sicher halten... wenn man solche Prozeduren ohne Prüfung durch die Gegend würgt ist man schnell seinen Server los oder man hat eine Mailbombe gewonnen.
User avatar
Jörg_L
Posts: 69
Joined: Thu 3. Feb 2005, 09:41
Location: Eichwalde
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by Jörg_L »

Das ist interessant. Folgendes Skript habe ich in das Verzeichnis /template/inc_script/frontend_render und die Rechte auf 755 gestellt:
if(isset($_POST['Anzahl'])) {
// hier die Berechnung durchführen - an der Stelle ganz beispielhaft realisiert.
$_POST['Gesamtpreis'] = xss_clean($_POST['Anzahl']) * 350;
}
Obwohl ich das skript auf ausführbar gestellt habe, wird das ganze als Textzeile im Browser angezeigt. Es wird auch kein Ergebnis berechnet, das im Mailtext auftaucht

Was mache ich nur falsch? :oops:

fragt sich

Jörg
User avatar
Heiko H.
Posts: 868
Joined: Thu 27. Oct 2005, 11:41
Location: Dresden
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by Heiko H. »

Jörg_L wrote:Das ist interessant. Folgendes Skript habe ich in das Verzeichnis /template/inc_script/frontend_render
Oliver Georgi wrote:b) dazu dann ein frontend_init Script "my_form_init.php":
Not longer here - sorry...

Haubner-IT GbR Dresden
User avatar
Jörg_L
Posts: 69
Joined: Thu 3. Feb 2005, 09:41
Location: Eichwalde
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by Jörg_L »

Du meinst, dass das Skript in das Verzeichnis /template/inc_script gehört und dass es genau so heißen muss, wie Oliver es benannt hat, damit es funktioniert?

Immer noch ratlos

Jörg
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by juergen »

Nein, er meint in frontend_init Verzeichnis, da ist es dann als Wachhund (Watchdog ;) ) und checkt allgegenwärtig auf das auftauchen dieser Variablen. Im Render hingegen sitzen die Hunde die man pfeiffen muss, mit {HUND} :lol: :lol:

Sorry, ich sollte nicht so viele Tierheimhunde ausführen ;)
User avatar
Jörg_L
Posts: 69
Joined: Thu 3. Feb 2005, 09:41
Location: Eichwalde
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by Jörg_L »

Ok. Jetzt liegt es im Verzeichnis /template/inc_script/frontend_init. Nur wird es nicht ausgeführt, sondern als Textzeile im Browser angezeigt.

Wat nu?

Beste Grüße

Jörg
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Kann man mit Formularfeldern rechnen?

Post by update »

Vielleicht mal
$phpwcms['allow_ext_init'] = 1; //allow including of custom external scripts at frontend initialization
$phpwcms['allow_ext_render'] = 1; //allow including of custom external scripts at frontend rendering
so?
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Jörg_L
Posts: 69
Joined: Thu 3. Feb 2005, 09:41
Location: Eichwalde
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by Jörg_L »

Ist beides in der config auf 1 gesetzt.

Daran wird's wohl nicht liegen.
User avatar
markus s
Moderator
Posts: 654
Joined: Sat 16. Dec 2006, 19:21
Location: Radfeld / Tirol
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by markus s »

Code: Select all

<?php
if(isset($_POST['fieldname'])) {
  // hier die Berechnung durchführen - an der Stelle ganz beispielhaft realisiert.
  $_POST['hidden_field_name'] = xss_clean($_POST['fieldname']) * 1000;
}
?>
moderator
propelled by fresh air from tirol
XING|FACEBOOK|OMENTO
User avatar
Jörg_L
Posts: 69
Joined: Thu 3. Feb 2005, 09:41
Location: Eichwalde
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by Jörg_L »

<vordiestirnhau>patsch</vordiestirnhau>

Das war's ich hatte tatsächlich die php-Tags vergessen.

Danke für Eure Hilfe.
User avatar
markus s
Moderator
Posts: 654
Joined: Sat 16. Dec 2006, 19:21
Location: Radfeld / Tirol
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by markus s »

also:
läuft einwandfrei !

erstelle dir die felder im formular wie im bild.

Image

erstelle dir eine datei mit dem namen check.php und speichere diese
unter template\inc_script\frontend_init .

inhalt der datei:

Code: Select all

<?php
if(isset($_POST['eingabe'])) {
  // hier die Berechnung durchführen - an der Stelle ganz beispielhaft realisiert.
  $_POST['versteckt'] = xss_clean($_POST['eingabe']) * 1000;
}
?>
jetzt kannst du deine berechungen durchführen.
zur zeit wird der inhalt des feldes "eingabe" mit 1000 multipliziert.
angezeigt wird der eingabe wert und das ergebnis.
moderator
propelled by fresh air from tirol
XING|FACEBOOK|OMENTO
User avatar
Jensensen
Posts: 3000
Joined: Tue 17. Oct 2006, 21:11
Location: auf der mlauer

Re: Kann man mit Formularfeldern rechnen?

Post by Jensensen »

Funktioniert.

Das ist doch mal ein Konjunkturprogramm: 1 Teil bestellen und dann liegen 1000 Pakete vor der Tür.
Funktioniert das auch im Shop nach dieser Methode?

Sobald aber Buchstaben im Input-Feld eingetragen werden (können), ergibt die Rechnung in diesem Beispiel = 0. Das sehen dann alle Beteiligten sofort in der E-Mail, was ggf. etwas spät sein kann.
[edit] [so ein fe-init-hintenrum-zahlendreher könnte zudem ggf. kanzleien {jur} auf den plan rufen] [/edit]

Wie wäre das FEinit-Script zu ändern, damit
A) eine Error-Meldung ausgegeben wird und
B) das Formular erneut geladen, im Browser gezeigt wird?

Stichwort "error"
1) das template, lieber Markus S., ist komisch. Es funktioniert nicht mit label alignment: custom. Damit wird das gesamte Template als Text ausgegeben.

2.) Des weiteren hatte ich mal "required" angeklickt für "eingabe". Allerdings erscheint, obwohl unter required mark: * angegeben ist, in keinem Fall ein Sternchen.

Liegt das nun am Template oder ist das ein Bug?



BTW: Klar geht im Internet alles schnell, aber für meine Begriffe "fluppt" das Formular immer etwas schnell durch. Ist ja auch prinzipiell gut so. Aber wäre nicht (insofern ggf. per optional click on) eine Art preview der eingegeben Daten --> mit Ausgabe im Browser VOR dem Absenden interessant?
Sinngemäß (neuerdings gewohnheitsgemäß) ungefähr so: Das sind Ihre Daten, alle Eingaben richtig? dann GO/ else hier ändern.
Last edited by Jensensen on Thu 18. Dec 2008, 00:55, edited 1 time in total.
{so_much} | Knick-Knack. | GitHub
Umlaute im URL sind meistens immer Kacke.
User avatar
markus s
Moderator
Posts: 654
Joined: Sat 16. Dec 2006, 19:21
Location: Radfeld / Tirol
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by markus s »

doppelte prüfung - ich denke schon lange an eine ajax lösung nach - alla yahoo eingabeformular...
mal sehen...
das formular ist absolut standard !
moderator
propelled by fresh air from tirol
XING|FACEBOOK|OMENTO
User avatar
Oliver Georgi
Site Admin
Posts: 9892
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Kann man mit Formularfeldern rechnen?

Post by Oliver Georgi »

@Markus: Ajax wird eher selten für die Formularprüfung benutzt ;-) Nicht immer verwechseln.

@Jensensen: Dem hidden Feld einen Standardwert mitgeben. Feld als Pflichfeld im CP definieren. Bei Fehler in der Berechnung Feldwert auf "" ($_POST['my_hidden_field'] = "";) setzen. Ergebnis: Fehlermeldung -> ist das Ergebnis gültig, hat auch der hidden Feldwert das gültige Ergebnis.

Gruß
Oliver
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Post Reply