Antworten auf deine Fragen:
Neues Thema erstellen

php Formular

kellerwichtel

C4D/CS5 Junkie

Hallo zusammen,

ich stecke mal wieder in einer Problematik fest und komme vermutlich wegen einer Denkblockade einfach nicht weiter. Vielleicht kann mir jemand von euch weiterhelfen oder mir gleich den Wind aus den Segeln nehmen, da mein Vorhaben womöglich nicht realisierbar ist. Also ich versuch` das mal zu beschreiben.

1. Kunde füllt ein Formular aus (das php Formular liegt auf meinem Server)
2. Die eingetragen Daten werden per e- Mail an den Anbieter gesendet, also an einen Dritten.
3. In dieser e- Mail soll ein Link stehen, welcher dem Kunden den Empfang der Nachricht beim Anbieter bestätigt. Die vorher vom Kunden eingetragene e- Mail Adresse müsste sozusagen in diesen Link generiert werden und mit einem vordefinierten Text per Klick auf diesen Link an den Kunden gesendet werden.

Das Ganze soll unabhängig von der verwendeten e- Mail Software funktionieren. Die Outlook- Geschichten scheiden also aus.

Soooo, das war jetzt `ne Menge Holz. Hoffentlich habe ich mich einigermaßen verständlich ausgedrückt. Wie gesagt..... Denkblockade ;)





Vielen Dank für Eure Tipps,

Kellerwichtel
 

Aelfry

Web Developer

AW: php Formular

Du willst also, dass nach Absenden des Formulars, die Daten zum Anbieter geschickt werden, dort ein Mitarbeiter auf einen Link klickt und anschließend an den Kunden eine Mail mit vorgegebenem Text geschickt wird.
Hab ich das richtig verstanden?

Dann müsstest du doch einfach bei der Auswertung des Formulars einen entsprechenden Link erzeugen, der mit in die E-Mail an den Anbieter gepackt wird.
Also z. B. in der Form:

HTML:
<a href="mailto:max.mustermann@test.de?body=vorgegebener%20Text">Empfang bestätigen</a>
 

kellerwichtel

C4D/CS5 Junkie

AW: php Formular

Genau, in diese Richtung soll`s gehen. Nur wie bekomme ich den Absender, der ja nun Empfänger ist, automatisch hinter mailto:?
 

Duddle

Posting-Frequenz: 14µHz

AW: php Formular

Soll die Empfangsbestätigung vom Anbieter oder von deinem Server kommen? Für ersteres muss die Mail (natürlich) vom Anbieter selbst geschickt werden, da hilft der Ansatz von Aelfry.

Falls die Mail aber vom eigenen Server kommen soll, müsstest du dort in einer Datei oder Datenbank die relevanten Daten des Kunden führen. Dazu generierst du noch eine eindeutige Kennung und verbindest die damit. Dem Anbieter schickst du dann den Link zu http://[deinserver.de]/empfang.php?kunde=Npn29a00Ad8dz, die empfang.php holt sich die Daten zur Kennung, verschickt die Mail und markiert intern diesen Kunden als bearbeitet.

Edit:
Genau, in diese Richtung soll`s gehen. Nur wie bekomme ich den Absender, der ja nun Empfänger ist, automatisch hinter mailto:?
Der Kunde gibt doch seine E-Mail-Adresse ein. Diese packst du an die relevante Stelle in der an den Anbieter verschickten Mail. Scheiterst du am Verarbeiten deines Formulars, oder was genau ist hier das schwierige?


Duddle
 

Aelfry

Web Developer

AW: php Formular

Genau, in diese Richtung soll`s gehen. Nur wie bekomme ich den Absender, der ja nun Empfänger ist, automatisch hinter mailto:?
Du wirst doch irgendwo die ausgelesene E-Mail Adresse speichern, also in einer Variablen stehen haben
PHP:
$email = "max.mustermann@test.de";

diese fügst du einfach mit in den Link ein
PHP:
echo '<a href="mailto:'.$email.'?body=vorgegebener%20Text">Empfang bestätigen</a>';
 

kellerwichtel

C4D/CS5 Junkie

AW: php Formular

Hat leider etwas länger gedauert, vielen Dank schon mal für eure Tipps. Ich hab es inzwischen schon mal soweit, das die eingetragene Mailadresse "verlinkt" wird:

echo "<a href=\"mailto: {$RESULTEQAB["email"]}\">";

Schön wäre es jetzt noch, eine Betreffzeile und eine kurze Nachricht unterzubringen. Bin in php leider nicht soooo bewandert.
 

hdandreas88

Noch nicht viel geschrieben

AW: php Formular

Also ich habe hier wahrscheinlich genau den link den du suchst. :D



PHP:
echo '<a href="mailto:beispiel@example.org?subject=eine%20Mail%20von%20deinen%20Web-Seiten&body=Hallo%20Fritz,%0D%0A%0D%0Aich%20wollte%20nur%20sagen,%20dass%20">Mail mit Betreff</a>';

Hab es getestet und es hat einwandfrei funktioniert.

Gruß Andreas
 
P

pemis

Guest

AW: php Formular

Hallo Kellerwichtel, ich habe das mit DW CS5 hinbekommen. Wenn du das Formular abschickst, kommt die Bestätigung. Bei mir allerdings als Danke-Webseite. Ich weiß nicht, ob ich die URL meiner privaten Webseite hier veröffentlichen darf. Klick auf den Link http://www.petermischur.de/r/r10/r10.htm
Auf der Seite ist ein Formular, dass sehr variabel gestaltet werden kann. Klick dann auf den Button absenden und es öffnet sich die Dankeseite. Viel Spaß beim Experimentieren.

Automatisch landet das ausgefüllte Formular in meinem E-Mailfach.
 

kellerwichtel

C4D/CS5 Junkie

AW: php Formular

Leider habe ich es trotz eurer Tipps noch immer nicht geschafft. Das Formular als solches funktioniert tadellos, auch die Kopie an den Absender mit seinen eingetragenen Daten. Ich stehe nur immer noch vor dem Problem, das der Anbieter mit der e- Mail einen generierten Link (mailto:) erhält, da draufklickt, ein vorher definierter Betreff und Text soll schon erscheinen, und nur noch auf SENDEN klicken muss.

Ich hab jetzt schon etliche Varianten probiert, komme aber immer wieder beim echo raus, das wird mir auch ganz brav auf der "Bedankungsseite" gezeigt. Soll aber wie gesagt nur in der Mail beim Empfänger erscheinen.

Trotzdem nochmal vielen Dank für eure Hilfe, vielleicht hat ja doch noch jemand den rettenden Einfall.
 

Duddle

Posting-Frequenz: 14µHz

AW: php Formular

Du hast volle Kontrolle darüber, welche Inhalte wo und wie erscheinen. Da wir keinen Zugriff auf deinen Quellcode / deine Anwendung haben, noch Informationen was du du benutzt (ob Eigenlösung oder kommerzielle Software), wirst du nicht mehr als die oben genannte (korrekte) Lösung bekommen.
Wenn du es nicht schaffst sie einzubauen gibt es, wie immer, zwei Ansätze: Entweder lernst du genug, um es selbst zu machen. Oder du übergibst das Problem an einen besser qualifizierten Menschen.


Duddle
 

hdandreas88

Noch nicht viel geschrieben

AW: php Formular

Ich stehe nur immer noch vor dem Problem, das der Anbieter mit der e- Mail einen generierten Link (mailto:) erhält, da draufklickt, ein vorher definierter Betreff und Text soll schon erscheinen, und nur noch auf SENDEN klicken muss.

Also mal eine kurze checkliste was wir schon haben:

1. Forumlar in dem der Kunde seine daten eingibt. CHECK

2. Eine Phpdatei, die die daten empfängt und verarbeitet CHECK?

3. Eine email, die der Anbieter erhält mit den Sachen die der Kunde eingegeben hat. CHECK?

Was fehlt:

es fehlt der link in der email. dieser wird dir auf der bestätigungsseite ausgegeben und nicht in die email für den Anbieter ?

Ich hab jetzt schon etliche Varianten probiert, komme aber immer wieder beim echo raus, das wird mir auch ganz brav auf der "Bedankungsseite" gezeigt. Soll aber wie gesagt nur in der Mail beim Empfänger erscheinen.

Das echo ist hier warscheinlich der fehler, da echo zur ausgabe auf der seite dient und nicht zum hinzufügen in die email.

das müsset so aussehen:

PHP:
<?php
//Nachricht die der kunde im Forumlar eingegeben hat.
$messageCustomer = $_POST['message'];

//erstellen des email textes
$emailtext = "Sehr geehrter Anbieter sie haben folgende anfrage erhalten:";
$emailtext .= $messageCustomer;
$emailtext .= '<a href="mailto:kunde@example.org?subject=Ihre%20Anfrage%20wurde%20gelesen%20&body=Hallo%20Kunde,%0D%0A%0D%0Aich%20wollte%20nur%20sagen,%20dass%20ich%20ihre%20Email%20erhalten%20habe.">Erhalt der Mail bestätigen</a>';

Das ganze muss man dann natürlich ein wenig schöner machen aber ich hoffe das Prinzip ist klar.
 

kellerwichtel

C4D/CS5 Junkie

AW: php Formular

Mit dem Quellcode kann ich helfen :) Das Formular habe ich generiert, aber nicht gleich mit mir schimpfen... ich bin wirklich noch weit am Anfang, aber lernwillig! Das hier ist natürlich nur ein Beispiel:

<!doctype html>
<html>
<head>
<meta charset="ISO-8859-15">
<title>Testformular</title>

<style>
body, table {
font-family: Verdana, Sans-Serif;
font-size: 14px;
}

span.pflichtfeld {
font-size: 12px;
color: Red;
}

span.hilfetext {
font-size: 10px;
font-style: Oblique;
}

tr:nth-child(even) {
background-color: White;
}

tr:nth-child(odd) {
background-color: Whitesmoke;
}
</style>


</head>
<body>

<?php
/*
Formular - Zeichenkodierung: ISO-8859-15
Aktion: Formulardaten als E-Mail versenden.

Erstellt mit dem Formular Generator (18.06.2013) -


Bitte testen Sie das Formular ausführlich
und beachten Sie die Hinweise im Quelltext!
*/

error_reporting(1); // PHP Meldungen anzeigen (0/1)

// Weiterleitung - Nach dem absenden des Formulars,
// gelangt der Benutzer über einen Link auf folgende Seite:
$Weiterleitung = "startseite.php";

$name = isset($_POST["name"]) ? $_POST["name"] : ""; // Name
$vorname = isset($_POST["vorname"]) ? $_POST["vorname"] : ""; // Vorname
$email = isset($_POST["email"]) ? $_POST["email"] : ""; // E-Mail
$telefon = isset($_POST["telefon"]) ? $_POST["telefon"] : ""; // Telefon
$kiste1 = isset($_POST["kiste1"]) ? $_POST["kiste1"] : ""; // Kiste1
$kiste2 = isset($_POST["kiste2"]) ? $_POST["kiste2"] : ""; // Kiste2

// Benutzereingaben überprüfen
$Fehler = array("name"=>"","vorname"=>"","email"=>"","sicherheit"=>"",);
if (isset(
$_POST["submit"])) {
$Fehler["name"] = strlen($_POST["name"]) < 1 ? "Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["vorname"] = strlen($_POST["vorname"]) < 1 ? "Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["email"] = strlen($_POST["email"]) < 1 ? "Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["sicherheit"] = (md5($_POST["zip"]) != $_POST["zip2"]) ? "Die Rechenaufgabe ist leider falsch!" : "";
}

// Sicherheitsabfrage - Zufallszahlen generieren
$Z0 = array(mt_rand(1, 9), mt_rand(1, 9));
$Z1 = max($Z0); $Z2 = min($Z0);
$Spam = $Z1 . " + &#" . (48 + $Z2) . ";";
$Schutz = md5($Z1 + $Z2);

// Formular erstellen
$Formular = "
<form action='"
. $_SERVER["SCRIPT_NAME"] . "' method='post'>
<table>

<caption><h3>Testformular</h3></caption>

<tr>
<td>
<label for='Name'> Name:</label>
</td>
<td>
<input type='text' name='name' id='Name' value='"
. $name . "' size='35' required='required'>
<span class='pflichtfeld'>✲ "
. $Fehler["name"] . "</span>
</td>
</tr>

<tr>
<td>
<label for='Vorname'> Vorname:</label>
</td>
<td>
<input type='text' name='vorname' id='Vorname' value='"
. $vorname . "' size='35' required='required'>
<span class='pflichtfeld'>✲ "
. $Fehler["vorname"] . "</span>
</td>
</tr>

<tr>
<td>
<label for='Email'> E-Mail:</label>
</td>
<td>
<input type='text' name='email' id='Email' value='"
. $email . "' size='35' required='required'>
<span class='pflichtfeld'>✲ "
. $Fehler["email"] . "</span>
</td>
</tr>

<tr>
<td>
<label for='Telefon'> Telefon:</label>
</td>
<td>
<input type='text' name='telefon' id='Telefon' value='"
. $telefon . "' size='35'>
</td>
</tr>

<tr>
<td>
<label for='Kiste'> Kiste1:</label>
</td>
<td>
<input type='text' name='kiste1' id='Kiste' value='"
. $kiste1 . "' size='35'>
</td>
</tr>

<tr>
<td>
<label for='Kiste'> Kiste2:</label>
</td>
<td>
<input type='text' name='kiste2' id='Kiste' value='"
. $kiste2 . "' size='35'>
</td>
</tr>

<tr>
<td colspan='2'>
<label> Sicherheitsabfrage: &nbsp;
<em>"
. $Spam . "</em> =
<input type='text' name='zip' size='4' required='required' autocomplete='off'>
</label>
<input type='hidden' name='zip2' value='"
. $Schutz . "'>
<span class='pflichtfeld'>✲ "
. $Fehler["sicherheit"] . "</span>
<br><span class='hilfetext'> Bitte lösen Sie die Rechenaufgabe. </span>
</td>
</tr>

<tr>
<th colspan='2'>
<br>
<input type='submit' name='submit' value='Formular absenden'>
</th>
</tr>

</table>

<small>Bitte alle mit <span class='pflichtfeld'>✲</span> markierten Felder ausfüllen.</small>
</form>
"
;

// Formular abgesendet
if (isset($_POST["submit"])) {

// Sind keine Benutzer-Eingabefehler vorhanden
if (implode("", $Fehler) == "") {

// Daten als E-Mail versenden (Vorschlag) - Bitte anpassen!
$Mailto = "name@example.com"; // Empfänger E-Mail
$betreff = "Nachricht"; // Betreff
$Datum = date("d.m.Y H:i");
$Text = "Gesendet am: $Datum
Name:
$name
Vorname:
$vorname
E-Mail:
$email
Telefon:
$telefon
Kiste1:
$kiste1
Kiste2:
$kiste2
"
;

// E-Mail versenden
mb_internal_encoding("ISO-8859-15");
$Betreff = mb_encode_mimeheader($betreff, "ISO-8859-15", "Q");
$Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "ISO-8859-15", "Q") .
"<" . $email . ">" . "\nContent-Type: text/plain; Charset=ISO-8859-15;\n";
if (
mail($Mailto, $Betreff, $Text, $Kopfzeile)) {
echo
"<p>Vielen Dank, die Nachricht wurde versendet.</p>";
}
else {

// Wenn die Daten nicht versendet werden konnten,
// wird die E-Mail-Adresse für den direkten Kontakt eingeblendet.
echo "<p>Beim Senden der Nachricht ist ein Fehler aufgetreten!<br>" .
"Bitte wenden Sie sich direkt an: <a href='mailto:" . $Mailto . "'>" . $Mailto . "</a></p>";
}

// Weiterleitung
echo "<p><a href='" . $Weiterleitung . "' target='_top'>Weiter</a></p>";
}
else {

// Formular und Benutzer-Eingabefehler ausgeben
echo $Formular;
}
}
else {

// Formular ausgeben
echo $Formular;
}
?>

</body>
</html>
 

hdandreas88

Noch nicht viel geschrieben

AW: php Formular

nimm doch bitte das nächste mal die PHP tags oder CODE tags dann kann man den code auch lesen.

PHP:
// Formular abgesendet
if (isset($_POST["submit"])) {

 // Sind keine Benutzer-Eingabefehler vorhanden
 if (implode("", $Fehler) == "") {

  // Daten als E-Mail versenden (Vorschlag) - Bitte anpassen!
  $Mailto = "name@example.com"; // Empfänger E-Mail
  $betreff = "Nachricht"; // Betreff
  $Datum = date("d.m.Y H:i");
  $Text = "Gesendet am: $Datum
   Name: $name
   Vorname: $vorname
   E-Mail: $email
   Telefon: $telefon
   Kiste1: $kiste1
   Kiste2: $kiste2
   <a href='mailto:kunde@example.org%3Fsubject%3Deine%20Mail%20von%20deinen%20Web-Seiten%26body%3DSehr%20geehrter%20Kunde%2C%0A%0AWir%20haben%20Ihre%20Email%20erhalten%20....%0A'>Email Bestätigen</a>
  ";

hier der teil <a href='mailto:....' ist der link zum bestätigen

habe dir mal den entscheidenden Teil verbessert das müsste so klappen. habe das jetzt nicht getestet.

Über feedback wäre ich dankbar.
 
Zuletzt bearbeitet:

hdandreas88

Noch nicht viel geschrieben

AW: php Formular

mach mal aus:

PHP:
"<" . $email . ">" . "\nContent-Type: text/plain; Charset=ISO-8859-15;\n";

PHP:
"<" . $email . ">" . "\nContent-Type: text/html; Charset=ISO-8859-15;\n";

also text/plain zu text/html.

Gruß Andreas

Ps: ich gebe nicht auf :D
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben