Kann man mit Formularfeldern rechnen?
Re: Kann man mit Formularfeldern rechnen?
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.
Re: Kann man mit Formularfeldern rechnen?
Das ist interessant. Folgendes Skript habe ich in das Verzeichnis /template/inc_script/frontend_render und die Rechte auf 755 gestellt:
Was mache ich nur falsch?
fragt sich
Jörg
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 auftauchtif(isset($_POST['Anzahl'])) {
// hier die Berechnung durchführen - an der Stelle ganz beispielhaft realisiert.
$_POST['Gesamtpreis'] = xss_clean($_POST['Anzahl']) * 350;
}
Was mache ich nur falsch?
fragt sich
Jörg
Re: Kann man mit Formularfeldern rechnen?
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":
Re: Kann man mit Formularfeldern rechnen?
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
Immer noch ratlos
Jörg
Re: Kann man mit Formularfeldern rechnen?
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}
Sorry, ich sollte nicht so viele Tierheimhunde ausführen
Sorry, ich sollte nicht so viele Tierheimhunde ausführen
Re: Kann man mit Formularfeldern rechnen?
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
Wat nu?
Beste Grüße
Jörg
Re: Kann man mit Formularfeldern rechnen?
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?
$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.
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.
Re: Kann man mit Formularfeldern rechnen?
Ist beides in der config auf 1 gesetzt.
Daran wird's wohl nicht liegen.
Daran wird's wohl nicht liegen.
Re: Kann man mit Formularfeldern rechnen?
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;
}
?>
Re: Kann man mit Formularfeldern rechnen?
<vordiestirnhau>patsch</vordiestirnhau>
Das war's ich hatte tatsächlich die php-Tags vergessen.
Danke für Eure Hilfe.
Das war's ich hatte tatsächlich die php-Tags vergessen.
Danke für Eure Hilfe.
Re: Kann man mit Formularfeldern rechnen?
also:
läuft einwandfrei !
erstelle dir die felder im formular wie im bild.
erstelle dir eine datei mit dem namen check.php und speichere diese
unter template\inc_script\frontend_init .
inhalt der datei:
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.
läuft einwandfrei !
erstelle dir die felder im formular wie im bild.
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;
}
?>
zur zeit wird der inhalt des feldes "eingabe" mit 1000 multipliziert.
angezeigt wird der eingabe wert und das ergebnis.
Re: Kann man mit Formularfeldern rechnen?
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.
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.
Re: Kann man mit Formularfeldern rechnen?
doppelte prüfung - ich denke schon lange an eine ajax lösung nach - alla yahoo eingabeformular...
mal sehen...
das formular ist absolut standard !
mal sehen...
das formular ist absolut standard !
- Oliver Georgi
- Site Admin
- Posts: 9892
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Kann man mit Formularfeldern rechnen?
@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
@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