• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] JSON Wert in PHP Formular einbinden.

hakura

Mitglied
Ich möchte gerne wissen, wie ich einen JSON Wert in einem PHP-Formular übertragen kann, dass mir dieser geschickt wird.

Code:
     {
      "enddate": "2014-10-15T00:00:00",
      "form": {
        "fields": [
          {
            "default": "Hans",
            "length": "40",
            "name": "Vorname:",
            "type": "text"
          },
          {
            "default": "Muster",
            "length": "40",
            "name": "Nachname:",
            "type": "text"
          },
          {
            "default": "Movento Schweiz",
            "length": "40",
            "name": "Unternehmen:",
            "type": "text"
          },
          {
            "default": "[email protected]",
            "length": "40",
            "name": "E-Mail:",
            "type": "text"
          }
        ],
        "recipient": "[email protected]",
        "subject": "CeBIT",
        "submit": "Anmelden"
      },
      "infoText": "Wir besuchen Sie auf der weltgrößten IT-Messe und zeigen Ihnen, wie Sie effizient Messen vorbereiten, durchführen und nachbereiten können.",
      "name": "CeBIT",
      "location": "Hannover",
      "logo": "images/Events/Cebit_Logo.jpg",
      "startdate": "2014-03-10",
      "enddate": "2014-03-14"
    },

Ich möchte den "subject" in meiner PHP drin haben.

PHP:
<?php
// An welche Adresse sollen die Mails gesendet werden?
$zieladresse = '[email protected]';

// Welche Adresse soll als Absender angegeben werden?
// (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
//$absenderadresse = '[email protected]';

// Welcher Absendername soll verwendet werden?
$absendername = 'movento-Events';

// Welchen Betreff sollen die Mails erhalten?
//$betreff = 'Anmeldung';
$betreff = $text->subject;
//$betreff["subject"] = subject;
// Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
// Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$urlDankeSeite = 'http://www.movento.com/Events.html';

// Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$trenner = ":\t"; // Doppelpunkt + Tabulator

/**
* Ende Konfiguration
*/

if ($_SERVER['REQUEST_METHOD'] === "POST") {

    $header = array();
    $header[] = "From: ".mb_encode_mimeheader($absendername, "utf-8", "Q")." <".$absenderadresse.">";
    $header[] = "MIME-Version: 1.0";
    $header[] = "Content-type: text/plain; charset=utf-8";
    $header[] = "Content-transfer-encoding: 8bit";
  
    $mailtext = "";
  
    foreach ($_POST as $name => $wert) {
        if (is_array($wert)) {
            foreach ($wert as $einzelwert) {
                $mailtext .= $name.$trenner.$einzelwert."\n";
            }
        } else {
            $mailtext .= $name.$trenner.$wert."\n";
        }
    }

    mail(
        $zieladresse,
        mb_encode_mimeheader($betreff, "utf-8", "Q"),
        $mailtext,
        implode("\n", $header)
    ) or die("Die Mail konnte nicht versendet werden.");
    header("Location: $urlDankeSeite");
    exit;
}

header("Content-type: text/html; charset=utf-8");

?>

den inhalt von subject will ich auch mitsenden zu den anderen default pro textfield.
Wie mache ich das ?
 
Zuletzt bearbeitet:
Werbung:
Bitte teile deine Lösung den anderen Neugierigen mit, die diesen Post irgendwann mal über eine Suchmaschiene finden könnten. :)
 
Werbung:
Ich baue in einer .js Datei das Formular zusammen, weil ich dieses Formular mehrmals auf der Seite brauche. Da drin muss ich die json variable übergeben, dass habe ich so gemacht:

Code:
movento.createForm = function(formData, subject){
//..
formHtml += '<input type="hidden" name="subject" value="' + subject + '" >';
//..

}

Danach teste ich in der php Datei was in der json-subject variable drin ist:

PHP:
    foreach ($_POST as $name => $wert) {
//..

            if (strcmp($name, "subject") == 0){
                    $betreff = $wert;
                }
//..
    }
 
Zurück
Oben