WinFuture-Forum.de: E-Mail Formular - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 4 Seiten +
  • 1
  • 2
  • 3
  • 4

E-Mail Formular wieder Problem :(


#1 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 19. September 2011 - 09:52

Hallo alle zusammen,


ich bastle gerade etwas an einem E-Mail Formular. Klappen tuts auch soweit schon gut ;)
Nur ist mir das etwas zu umständlich zu erstellen...

im Moment schauts so aus:

<?php
$zieladresse = '[email protected]';

$absenderadresse = '[email protected]';

$absendername = 'sam-konzepte.com';

$betreff = 'Anfrage über Internetseite';

$urlDankeSeite = 'dankeseite.html';

$trenner = ":\t"; // Doppelpunkt + Tabulator


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");

?>

[...]

 <form action="" method="post" class="formular1">
            <dl>
                <dt>Anrede:</dt>
                <dd><input type="radio" name="Anrede" value="Herr" />Herr 
                <input type="radio" name="Anrede" value="Frau" />Frau
                </dd>
                <dt>Ihr Name:</dt>
                <dd><input type="text" name="Absender" /></dd>
                <dt>Ihre E-Mail:</dt>
                <dd><input type="text" name="E-Mail" /></dd>      
                <dt>Ihr Anliegen:</dt>
                <dd>
                <select name="Anliegen">
                <option value="Allgemeine Informationen">Allgemeine Informatonen</option>
                <option value="Informationen zu...">Informationen zu...</option>
                <option value="Informationen zur...">Informationen zur...</option>
                <option value="Weiß nicht...">Weiß nicht...</option>
                </select>
                </dd>
                <dt>Text:</dt>
                <dd><textarea name="Text" rows="5" cols="30"></textarea></dd>
            </dl>
            <p>
            <input type="submit" value="Senden" />
            <input type="reset" value="Zurücksetzen" />
            </p>
        </form>



So hab ich aber das Probelm, dass ich das Formular für jeden neu machen muss... :(

Eigentlich steht auf der Team-Seite unter jedem Namen eine e-mail adresse, wenn man auf diese klickt soll das Formular mit passendem Namen angezeigt werden.

Kann man die ganzen Empänger nicht irgendwie in ein Array packen und beim link von der Teamseite aus immer auf den jeweiligen Namen aus dem Array zugreifen?

Angehängtes Bild: ansicht.jpg

Also x-Verschiedene Empänger aber nur 1 Formular... geht das?

Außerdem:

Hann ich bei $absendername und -adresse irgendwie das Eingegebene aus dem Formular nehmen lassen?

puh... ich hoffe mir kann jemand helfen :)

Dieser Beitrag wurde von J000S bearbeitet: 27. September 2011 - 09:50

0

Anzeige



#2 Mitglied ist offline   Ludacris 

  • Gruppe: Moderation
  • Beiträge: 4.666
  • Beigetreten: 28. Mai 06
  • Reputation: 218
  • Geschlecht:Männlich

geschrieben 19. September 2011 - 18:36

Du kannst die Adresse oder den Namen (und anschließend die Adresse aus nem Array) über den Link mitgeben und dann per GET auslesen also zb:


<a href="[email protected]>Mail an Max Muster</a>


<?php
$zieladresse = $_GET["recipient"];
.
.
.
?>

oder aber:

<a href="mail.php?recipient=maxmuster>Mail an Max Muster</a>

<?php
$adressen= array(
"maxmuster" => "[email protected]",
"jooos" => "[email protected]",
"ludacris" => "[email protected]");
$recipient = $_GET["recipient"];

$zieladresse = $adressen[$recipient];

?>

Wenn du zum zweiten Beispiel etwas mehr lesen möchtest, schau bei der Suchmaschine deiner Wahl nach "assoziativen Arrays"
0

#3 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 19. September 2011 - 18:45

Besten Dank :)

Das zweite sieht interessant aus. Da hol ich mir mal nen Termin bei Dr. Google ;)
0

#4 Mitglied ist offline   Ludacris 

  • Gruppe: Moderation
  • Beiträge: 4.666
  • Beigetreten: 28. Mai 06
  • Reputation: 218
  • Geschlecht:Männlich

geschrieben 19. September 2011 - 18:51

Beitrag anzeigenZitat (J000S: 19. September 2011 - 18:45)

Besten Dank :)

Das zweite sieht interessant aus. Da hol ich mir mal nen Termin bei Dr. Google ;)


Gern geschehen! Wenn du noch Hilfe brauchst, schreib einfach!
0

#5 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 20. September 2011 - 13:00

:imao: es läuft alles wunderbar!!


Nur hätte ich noch ne kleine Frage:

wenn ich jetzt
E-Mail an <?php echo $adressen[$recipient] ?>


in der Überschrift vom Formular nutze, dann wird mir ja die E-Mail ausgegeben. Kann ich das aber irgendwie umgekehrt machen?

Sonst steht da immer:

E-Mail an [email protected]

da soll aber stehen:

E-Mail an Herrn/Frau XY
0

#6 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 21. September 2011 - 08:34

*push* :blush:
0

#7 Mitglied ist offline   skelle 

  • Gruppe: aktive Mitglieder
  • Beiträge: 793
  • Beigetreten: 15. Juli 04
  • Reputation: 0

geschrieben 21. September 2011 - 09:26

Siehe das was Ludacris geschrieben hat:

<a href="[email protected]>Mail an Max Muster</a>

Wenn du die Ausgabe so gestalltest, sieht man nicht direkt die Adresse sondern den gewünschten text
0

#8 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 21. September 2011 - 09:31

steht denn dann im Formular noch die E-Mail? oder ist dann der Name der Empfänger? :unsure:
0

#9 Mitglied ist offline   skelle 

  • Gruppe: aktive Mitglieder
  • Beiträge: 793
  • Beigetreten: 15. Juli 04
  • Reputation: 0

geschrieben 21. September 2011 - 09:34

Wäre glaube ich nicht verkehrt sich die HTML Grundlagen anzueignen wenn man damit arbeitet :)

das href Attribut gibt an wohin der Link führen soll.
Wenn du dort ein "?receipent=xxx" anhängst, dann steht diese Variable auch im Script zur Verfügung
Der Text zwischen <a> und </a> gibt an welcher Text angezeigt werden soll und welcher quasi "anklickbar" ist und beim klicken dann zur Adresse in "href" führt.


Hoffe das war halbwegs verständlich ;D
0

#10 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 21. September 2011 - 09:38

@skelle

ja ne is klar... :rolleyes:

ich meine nur, weil im Formular bei $zieladresse das
<?php echo $adressen[$recipient] ?>

steht.

wenn ich jetzt im Link statt
<a href="mail.php?recipient=maxmuster>Mail an Max Muster</a>


das
<a href="[email protected]>Mail an Max Muster</a> 


nehme, steht doch als Zieladresse Max Muster statt [email protected] :unsure: :blink:

Dieser Beitrag wurde von J000S bearbeitet: 21. September 2011 - 09:39

0

#11 Mitglied ist offline   Ludacris 

  • Gruppe: Moderation
  • Beiträge: 4.666
  • Beigetreten: 28. Mai 06
  • Reputation: 218
  • Geschlecht:Männlich

geschrieben 21. September 2011 - 09:42

Wenn du es so programmierst ja.

Ein Beispiel:

<?php

$recipient = $_GET["recipient"];
?>

<form action="send.php" method="post">
<Label for="recipient">Empfänger</label><Input type="email" id="recipent" value="<?php echo $recipient;?>" />
<Label for="message">Ihre Nachricht</label><textarea id="message"></textarea>



Wenn du beim Empfänger dann aber den Namen haben möchtest statt der Email dann mach das hier:

<a href="mail.php?recipient=maxmuster>Mail an Max Muster</a> 






<?php
$adressen= array(
 "maxmuster" => "[email protected]",
 "jooos" => "[email protected]",
 "ludacris" => "[email protected]");
 $recipient = $_GET["recipient"];
 
$zieladresse = $adressen[$recipient];

?>

<form action="send.php" method="post">
<Label for="recipient">Empfänger</label><Input type="text" value="<php echo $recipient;?>" id="recipent" />
<Input type="hidden" value="<?php echo $zieladresse;?>" id="email" />
<Label for="message">Ihre Nachricht</label><textarea id="message"></textarea>


0

#12 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 21. September 2011 - 09:47

Beitrag anzeigenZitat (Ludacris: 21. September 2011 - 09:42)


<?php echo $recipient;?>"






Damit gehts, danke. :)


EDIT: Merk gerade selber, dass das irgendwie logisch ist :blush:


EDIT2: Kann mir noch jemand sagen, wie ich aus ü einn ü mache?
Danach hab ich alles, was ich brauch :wink:

Dieser Beitrag wurde von J000S bearbeitet: 21. September 2011 - 13:25

0

#13 Mitglied ist offline   Ludacris 

  • Gruppe: Moderation
  • Beiträge: 4.666
  • Beigetreten: 28. Mai 06
  • Reputation: 218
  • Geschlecht:Männlich

geschrieben 21. September 2011 - 22:09

Ä = &Auml;
Ö = &Ouml;
Ü = &Uuml;
ä = &auml;
ö = &ouml;
ü = &uuml;
ß = &szlig;

Oder aber du stellst den Zeichensatz der Webseite auf UTF 8
0

#14 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 22. September 2011 - 07:39

Beitrag anzeigenZitat (Ludacris: 21. September 2011 - 22:09)

Ä = &Auml;
Ö = &Ouml;
Ü = &Uuml;
ä = &auml;
ö = &ouml;
ü = &uuml;
ß = &szlig;

Oder aber du stellst den Zeichensatz der Webseite auf UTF 8

Da steht nur schon alles auf UTF-8. Sowohl im php-Teil (s.o.) als auch im <head>-Teil


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />




EDIT: Habe festgestellt, dass im Text die Umlaute stimmen. Aber im Betreff ($betreff) passt das nicht.

Dieser Beitrag wurde von J000S bearbeitet: 22. September 2011 - 08:03

0

#15 Mitglied ist offline   FenKeN 

  • Gruppe: aktive Mitglieder
  • Beiträge: 220
  • Beigetreten: 22. September 11
  • Reputation: 8
  • Geschlecht:Männlich
  • Wohnort:Erding
  • Interessen:Php, C#, Programmierung

geschrieben 22. September 2011 - 08:45

Hast du schonmal versucht im Betreff die Umlaute rauszufiltern?
mit str_replace kannst du dann Zeichenketten überprüfen und sie an bestimmten stellen zb.
ü mit &uuml; ersetzen.
MVC Tutorial
<?php
	echo "Liebe Grüße FenKeN";
?>
0

Thema verteilen:


  • 4 Seiten +
  • 1
  • 2
  • 3
  • 4

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0