Formulardaten sichern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • programmiersprache

    Hi,

    erstmal danke für den Feedback. Das habe ich mir schon fast gedacht, Was hältst du von der umsetzung mit DOM?
    Ich habe den ganzen zusammenhang der ganzen XML Spezifschen Formate noch nicht so ganz begriffen.
    Mir fehlt ein wenig der anfang. Bei vba,php etc. ist das ein wenig einfacher, "eine datei" und los gehts...
    Hast du dafür ein weiteren tipp für mich?#

    gruß
  • aber wie willst du denn das HTML Formular in DOM bekommen?

    Mit PHP ist es relativ simpel ein Array (alle daten, die man im formular absendet werden ja ins $_POST Array gepackt) in xml zu transferieren

    Schau dir z.B. mal diese Seite an:
    http://gvtulder.f2o.org/notities/arraytoxml/

    Quellcode

    1. function array_to_xml($array, $level=1) {
    2. $xml = '';
    3. // if ($level==1) {
    4. // $xml .= "<array>\n";
    5. // }
    6. foreach ($array as $key=>$value) {
    7. $key = strtolower($key);
    8. if (is_object($value)) {$value=get_object_vars($value);}// convert object to array
    9. if (is_array($value)) {
    10. $multi_tags = false;
    11. foreach($value as $key2=>$value2) {
    12. if (is_object($value2)) {$value2=get_object_vars($value2);} // convert object to array
    13. if (is_array($value2)) {
    14. $xml .= str_repeat("\t",$level)."<$key>\n";
    15. $xml .= array_to_xml($value2, $level+1);
    16. $xml .= str_repeat("\t",$level)."</$key>\n";
    17. $multi_tags = true;
    18. } else {
    19. if (trim($value2)!='') {
    20. if (htmlspecialchars($value2)!=$value2) {
    21. $xml .= str_repeat("\t",$level).
    22. "<$key2><![CDATA[$value2]]>". // changed $key to $key2... didn't work otherwise.
    23. "</$key2>\n";
    24. } else {
    25. $xml .= str_repeat("\t",$level).
    26. "<$key2>$value2</$key2>\n"; // changed $key to $key2
    27. }
    28. }
    29. $multi_tags = true;
    30. }
    31. }
    32. if (!$multi_tags and count($value)>0) {
    33. $xml .= str_repeat("\t",$level)."<$key>\n";
    34. $xml .= array_to_xml($value, $level+1);
    35. $xml .= str_repeat("\t",$level)."</$key>\n";
    36. }
    37. } else {
    38. if (trim($value)!='') {
    39. echo "value=$value<br>";
    40. if (htmlspecialchars($value)!=$value) {
    41. $xml .= str_repeat("\t",$level)."<$key>".
    42. "<![CDATA[$value]]></$key>\n";
    43. } else {
    44. $xml .= str_repeat("\t",$level).
    45. "<$key>$value</$key>\n";
    46. }
    47. }
    48. }
    49. }
    50. //if ($level==1) {
    51. // $xml .= "</array>\n";
    52. // }
    53. return $xml;
    54. }
    Alles anzeigen


    Aufzurufen wäre das Script einfach so:

    Quellcode

    1. array_to_xml($_POST);


    //EDIT: Mit dem Script kann man rekursiv alles auslesen. $_POST ist natürlich nur eindimensional.. daher kannst du es viel simpler machen

    Quellcode

    1. <?php
    2. foreach($_POST as $key => $name) {
    3. echo "<$key>$name</$key>";
    4. }
    5. ?>