Aussensaiter Forum

Diskussionen mit neuen Beiträgen

Hier darf jeder frei heraus seine Meinung sagen, solange niemand beleidigt wird. Auf Postings von Vollidioten sinnvollerweise gar nicht erst antworten.
Extrem unerwünscht sind reine Werbe-Beiträge. Danke.

Derzeit nix Neues in der AS-Börse - vielleicht magst Du das ändern?

Nix los die nächsten 30 Tage?!

(-) Header verbergen



Übersicht

Re: HTML Schrott - kennt sich da jemand aus ?

Joh.
Was soll gehen?
Serverseitig: PHP, JSP, ASP, whatever
Clientseitig: Javascript
?
angenommen
du hast ein
[form name="formName"].....[form]

abschnitt auf deiner website.
(die "spitzen" html-klammern schreibe ich hier mal mit "eckigen" klammern, damit der forums-code nicht durcheinander kommt).
in diesem stehen die formularfelder, wahrscheinlich in der form:
[input type="text" ... value="abc" name="wert1"]
[input type="text" ... value="abc" name="wert2"]
[input type="text" ... value="abc" name="wert3"]

irgendwo steht dann noch ein Submit-Button in der Form
[input type="submit" name="tollerSubmitName" value="absenden"]

so.
du willst, dass nach dem absenden des formulars die formularfelder addiert werden. wo soll das ergebnis angezeigt werden?
Am einfachsten wäre es, dazu innerhalb des formulars ein weiteres eingabe-feld zu haben, welches den errechneten wert bekommt:
[input type="text" value="" name="ergebnisFeld"]

(das muss innerhlab der oben genannten "form" tags stehen).
jetzt brauchst du noch etwas script, was dafür sorgt, dass deine berechnung gemacht wird und dann im ergebnisfeld angezeigt wird:

function berechnen(){
var ele = document.forms['formName'].elements;
ele.ergebnisFeld.value = eval(ele.wert1.value+ele.wert2.value+ele.wert3.value);
}

das schreibst du innerhalb von "script" tags damit der browser auch weiss, dass du ihm jetzt javascript andienst:
[script type="text/javascript"]
(hier der code mit der funktion)
[/script]

das packst du am besten in den "head" breich deines html-codes, auf jeden fall aber vor den abschnitt mit den "form" tags.

nun musst du nur noch die funktion mit dem submit deines formulars verbinden:
[form name="formName" ... onSubmit=" berechnen();"]


und schon sollte es klappen.

ich habe das jetzt nicht getestet, sondern einfach so hingeschrieben, aber so sollte es gehen. die funktion kann man sicherlich noch eleganter machen, aber irgendwas ist ja immer. :-)

gruss
Tom

Re: HTML Schrott - kennt sich da jemand aus ?

nochwas vergesen...

Kennst Du eine "einfache" Möglichkeit aus einer HTML Seite über den Link zu einem Formular Parameter zu übergeben und diese dann im Formular zu verwenden ?

Bsp: ein Bestellformular mit jeweils anderen Artikel-Daten aufzurufen - als Parameter.
Ohne Datenbank.

Bisher habe ich für jeden Artikel eine eigene Formularseite - bei 100 Artikeln dann also 100 Formularseiten.

GRuZZ *


Re: HTML Schrott - kennt sich da jemand aus ?

hi,

du kannst die artikel-daten natürlich per get-parameter in der url mit übergeben - allerdings ist das a) anfällig gegenüber manipulationen und b) ist auch die zeichenlänge beschränkt, die übergeben werden kann.

also zb
linkzumformular.html?artikel=schuh&farbe=rot&preis=2


besser wäre, nur eine ID mit zu übergeben, und deine formular-seite enthält alle infos, die du brauchst und nimmt anhande dieser ID die richtige info.
linkzumformular.html?ID=2


das formular muss dann allerhand javascript-voodoo machen, um die info auszuwählen und den formular-feldern zuzuordnen.

wahrscheinlich brauchst du erstmal ein array, in dem die daten jeden artikels drinstehen, zb

artikelData = array(

0 = array('schuh','rot','2 EUR'),
1 = array('hose','grün','5 EUR'),
2 = array('jacke','grau','1 EUR')

);


bei dir wären das dann eben 100 array-einträge.

anhand der ID in der url kann das script dann nur die infos des eintrags auslesen, den Du haben willst


var artikelID = document.location.search; // da steht jetzt ?ID=2 drin
artikelID = artikelID.substring(1, artikelID.length); // jetzt ID=2
artikelID = artikelID.split('='); // array mit 'ID' und '2'
var showID = artikelID[1]; // '2'
...


da wo du die daten anzeigen willst, kannst Du nun mit der Variablen showID auf den Inhalt des arrays zugreifen:


var Artikel-Art = artikelData[showID][0]; // wäre hier: 'jacke'
var Artikel-Farbe = artikelData[showID][1]; // wäre hier: 'grau'
var Artikel-Preis = artikelData[showID][2]; // wäre hier: '1 EUR'


Das kannst Du dann mit

document.write(Artikel-Art);

ausgeben.

gruss
Tom


Re: HTML Schrott - kennt sich da jemand aus ?

Hallo Gomez aka Tom(2),

hier ist das PHP:

$recipient = "email@adresse.de";
$fmtResponse= implode("", file("response.htt"));
$fmtMail= implode("", file("Bestellmail.htt"));
foreach($_POST as $key=> $val) {
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
if ($_POST["access"] == "irregeheim") {
mail($recipient, $_POST["subject"], $fmtMail);
}
echo $fmtResponse;
?>

Ausserdem ist da noch die letzte Frage:

dieses Bestellmail.htt und response.htt musste ich mit dem WORDPAD erstellen. Da kann ich nix formatieren - oder einen Kasten drum machen.

Was für ein Format sollte denn so eine Datei haben (unicode...) damit ich das bißchen gestalten kann.

GRuZZ *

Re: HTML Schrott - kennt sich da jemand aus ?

Hallo Tom,

alles funktioniert soweit ...

Bis auf 3 Kleinigkeiten:

Wenn ich jetzt dem BestellformularLink - unser Bespiel-aufruf mit ID=2 - mehrere Parameter übergeben muss - dann rufe ich den auf mit

zB Link.html?ID=2&Param2&Param3 ...

Soweit klar - diese Param1 2 ... sind aber FormularEingaben über Select (ich wähle da zB Farbe aus) - also wie kriege ich die Select eingaben als Parameter in den Link.

Und dann hast Du ja geschreiben wie ich ID=2 im Bestellformular auswerte ... = document.lacation.search ...

wie bekomme ich da die anderen Parameter raus ?

Zu guter letzt:

mein PHP Programm filtert ja nur die name="irgendwas" aus dem Formular für den Einsatz in die E-Mail.
Wie finde ich die übergebenen Variablen - also in unserem Bsp. Artikel-Art, Artikel-Farbe usw.

Ich hoffe Du hast noch Lust ...

Es geht ja auch schon viel bis jetzt - und ich bin 3m vor dem Ziel !

GRuZZ *

Re: HTML Schrott - kennt sich da jemand aus ?

hiho,

: zB Link.html?ID=2&Param2&Param3 ...
:
: Soweit klar - diese Param1 2 ... sind aber FormularEingaben über Select (ich wähle da zB Farbe aus) - also wie kriege ich die Select eingaben als Parameter in den Link.
:
: Und dann hast Du ja geschreiben wie ich ID=2 im Bestellformular auswerte ... = document.lacation.search ...
:
: wie bekomme ich da die anderen Parameter raus ?


also... in der document.location.search steht alles drin, was in der url nach dem fragezeichen kommt...
info = ?ID=2¶m1=ddd¶m2=rrr¶m3=fff


also, erstmal das fragezeichen weg:
info = info.substring(1, artikelID.length);

jetzt den verbleibenden rest anhand des "&" splitten, um die einzelnen parameter zu bekommen:
infos = info.split('&');

jetzt ist 'infos' ein array mit den ganzen parametern:
info[0] = 'ID=2';
info[1] = 'param1=ddd';
info[2] = 'param2=rrr';
info[3] = 'param3=fff';

jetzt kannst du die einzelnen dinger wiederum splitten anhand des "=", um an die bezeichnung und den wert zu kommen:
for(i=0;i[*]info.length;i++){ // [*]das sollte eine "kleiner als" klammer sein, aber das html hier zickt
temp[i] = info[i].split('=');
}

jetzt sollte
temp[0][0] = 'ID'
und
temp[0][1] = '2'
enthalten,
temp[1][0] = 'param1‘
und
temp[1][1] = 'ddd'
, usw...

wie immer, nicht getestet :-)
gruss
Tom

Re: HTML Schrott - kennt sich da jemand aus ?

: Soweit klar - diese Param1 2 ... sind aber FormularEingaben über Select (ich wähle da zB Farbe aus) - also wie kriege ich die Select eingaben als Parameter in den Link

hi,
wenn Du dein Formular per
method="get"
verschickst, sollten automatisch alle Deine Felder/Werte Dinger in der URL stehen.

- eingabefeld heisst "material" und der User schreibt "cord" rein
- select heisst "farbe" und eine der options ist "rot"
- hidden input heisst "ID" und der Wet ist "2"

dann sollte die URL nach senden des submitbuttons so aussehen
irgendwas.html?material=cord&farbe=rot&ID=2


gruss
Tom

Re: HTML Schrott - kennt sich da jemand aus ?

Hallo Tom,

alles klar - das habe inzw. auch so schon gemacht...

Ich richtig happy !

Jetzt habe ich alles zusammen - bis auf das auslesen dieser Parameter dann im PHP Programm.

Also ich habe jetzt die Parameter als Variable ja im Bestellformular - das originale PHP Programm sucht ja nur die Feldnamen.

Wie greife ich da auf die variablen zu ?

GRuZZ *

Re: HTML Schrott - kennt sich da jemand aus ?

öhm...

wieso hast du da nur die feldnamen?


[?php
$recipient = "derannern@irgendwo.de";
$fmtResponse= implode("", file("response.htt"));
$fmtMail= implode("", file("Bestellmail.htt"));
foreach($_POST as $key=> $val) {
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
if ($_POST["access"] == "irregeheim") {
mail($recipient, $_POST["subject"], $fmtMail);
}
echo $fmtResponse;
?]

schreib da mal ein debug ding mit ins script, um zu sehen, was da eigentlich übergeben wird


[?php
$recipient = "derannern@irgendwo.de";
$fmtResponse= implode("", file("response.htt"));
$fmtMail= implode("", file("Bestellmail.htt"));
// debug:
echo '[pre]';
print_r($_POST);
echo '[/pre]';
// :debug
foreach($_POST as $key=> $val) {
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
if ($_POST["access"] == "irregeheim") {
mail($recipient, $_POST["subject"], $fmtMail);
}
echo $fmtResponse;
?]

(eckige durch spitze klammern ersetzen).

gruss
Tom

Re: HTML Schrott - kennt sich da jemand aus ?

Hallo Tom,

folgendes kommt:

{pre}Array ( [subject] => xxx Bestellformular [access] => irregeheim [Menge] => 1 [Gesamtbestellwert] => [Kundennr] => [01-Anrede] => Herr [Name] => [Vorname] => [Strasse] => [Hausnr] => [PLZ] => [Ort] => [Land] => [Telefon] => [Fax] => [Email] => [Nachricht] => Test [Senden] => Absenden ) {/pre} Folgende Bestellung wurde an xxx gesendet: Kunden Daten: Kundenr. Name Vorname Strasse Nr. PLZ Ort Land Tel. FAX Email Nachricht Bestellung Bikes: Menge Bike Farbe Groesse Preis Summe

GRuZZ *