mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 17:51 Benutzername: Passwort: Auto-Login

Thema: Möchte Formular ausgefüllt zurückbekommen vom 03.05.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Möchte Formular ausgefüllt zurückbekommen
Seite: Zurück  1, 2, 3  Weiter
Autor Nachricht
zecloin
Threadersteller

Dabei seit: 03.05.2007
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Fr 11.05.2007 09:17
Titel

Antworten mit Zitat Zum Seitenanfang

Morjen,

mittlerweile hat sich ein bisschen was getan.
Bin jetzt soweit, das der User das Form auf der Seite ausfüllen kann, auf den senden button klickt und damit eine Vorschau auf das Formular bekommt (.html). Ausserdem wird diese html datei auf den Server geschrieben. jetzt hätte ich gern nurnoch, das diese datei außerdem noch an eine bestimmte email addy gesendet wird, das muss doch nun auch noch möglich sein oder????
Vielen Dank schonmal im voraus

greetz icke
  View user's profile Private Nachricht senden
Cream

Dabei seit: 07.03.2006
Ort: .at
Alter: 37
Geschlecht: Männlich
Verfasst Fr 11.05.2007 09:19
Titel

Antworten mit Zitat Zum Seitenanfang

wie schreibst du denn diese datei??

bzw wie sieht dein code dazu aus?


Zuletzt bearbeitet von Cream am Fr 11.05.2007 09:20, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
zecloin
Threadersteller

Dabei seit: 03.05.2007
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Fr 11.05.2007 10:19
Titel

Antworten mit Zitat Zum Seitenanfang

[...]

Code:

echo "$html";

#Formular als html speichern
$datei = fopen("Kursanmeldung $aname".".html", "w+");
if ($datei)
{
fputs ($datei,"$html");
fclose ($datei);
}

#Formular als im Anhang E-Mail verschicken

$Dateiname     = "Anmeldungzumtesten.html"; // ggf. inkl. Pfad
$DateinameMail = "Kursanmeldung $aname.html";

// Aufbau der Nachricht und des Anhangs

$datei.= "\r\n";
$datei.= "begin 666 $DateinameMail\r\n";
$tmp.= convert_uuencode(fread(fopen($Dateiname, "r"), filesize($Dateiname)));
$datei.= $tmp;
$datei.= "end\r\n";


mail("ich@hier.de", "Kursanmeldung $aname", "$emailtext","From: $kemail");


reicht die das oder brauchst noch mehr wenn , dann was??

thx[/code]
  View user's profile Private Nachricht senden
Cream

Dabei seit: 07.03.2006
Ort: .at
Alter: 37
Geschlecht: Männlich
Verfasst Fr 11.05.2007 10:26
Titel

Antworten mit Zitat Zum Seitenanfang

wenn ich mit der annahme richtig bin das in $html sowas wie <html><head>...</body></html> steht, sollte es ja so auch gehen:

Code:
mail("ich@hier.de", "Kursanmeldung $aname", "$html","From: $kemail");
  View user's profile Private Nachricht senden
zecloin
Threadersteller

Dabei seit: 03.05.2007
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Fr 11.05.2007 11:12
Titel

Antworten mit Zitat Zum Seitenanfang

funktioniert leider nicht, liegt aber wohl daran das die Funktion für php ab 5.0 und ich noch das 4.4.4 -9 habe, deshalb funzt die uuencode funktion nicht.

hast ne idee für mich ich verzweifel nämlich nach 2wochen langsam.
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Fr 11.05.2007 21:51
Titel

Antworten mit Zitat Zum Seitenanfang

mit "funktioniert nicht" kann man nichts anfangen.
Eine Fehlermeldung wäre sinnvoll...

Aber wenn du meinst, es liegt an convert_uuencode(), dann setzte base64_encode() ein.
Ich weiß ohnehin nicht, wieso du das nicht tust... Warum keine Base64-Codierung (das ist das, was man fälschlicherweise immer als MIME-Kodierung bezeichnet)?

Oder du versuchst das Programm uuencode auf dem Server zu nutzen.
Sicherlich setzt dein Hoster einen Unix/Linux-Server ein.
Im Normalfall ist uuencode dort installiert. Die Frage ist nur, ob du die Möglichkeit hast, darauf zuzugreifen...
Eventuell kannst du dir auch ein uuencode-Programm selbst in ein Verzeichnis legen und dieses nutzen.

Oder du schreibst dir selber eine Funktion, die die Kodierung für dich übernimmt.
Ist nicht besonders schwer. Kriegst du mit wenigen Zeilen Code hin.
Sicherlich findest du auch ganz schnell ein fertiges Script dafür, wenn du mal eine Suchmaschine fragst.
  View user's profile Private Nachricht senden
zecloin
Threadersteller

Dabei seit: 03.05.2007
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Mo 14.05.2007 08:41
Titel

Antworten mit Zitat Zum Seitenanfang

Morgen,

Also folgendes ist mittlerweile passiert Lächel habe mittlerweile das BASE - zeugs drin. Es funktioniert soweit, dass ich eine Email auf die angegebene Addy bekomme, wo auch eine .html Datei angehangen ist. Sie scheint nicht leer zu sein, da sie 270B groß ist, aber es wird beim öffnen nix angezeigt.

schicke mal den hoffentlich für euch brauchbaren Code mit, mit der Hoffnung das ihr mir mal wieder helfen könnt.

THX und greetz Steve


Code:

 .
 .
 .
 hier steht noch mehr zeugs mit der syntax wie die kurse, wenn ihr den kompletten braucht sagt bitte bescheid
 
#kurse

if ($kurs1<>"")  $html = ereg_replace("%kurs1%","checked",$html);
if ($kurs2<>"")  $html = ereg_replace("%kurs2%","checked",$html);
if ($kurs3<>"")  $html = ereg_replace("%kurs3%","checked",$html);
if ($kurs4<>"")  $html = ereg_replace("%kurs4%","checked",$html);
if ($kurs5<>"")  $html = ereg_replace("%kurs5%","checked",$html);

echo "$html";

#Formular als html speichern
$datei = fopen("Kursanmeldung $aname".".html", "w+");
if ($datei)
{
fputs ($datei,"$html");
fclose ($datei);
}

#Formular als im Anhang E-Mail verschicken

$Dateiname     = "Anmeldungzumtesten.html"; // ggf. inkl. Pfad
$DateinameMail = "Kursanmeldung $aname.html";

// Aufbau der Nachricht und des Anhangs
/*
$datei.= "\r\n";
$datei.= "begin 666 $DateinameMail\r\n";
$tmp.= convert_uuencode(fread(fopen($Dateiname, "r"), filesize($Dateiname)));
$datei.= $tmp;
$datei.= "end\r\n";
*/

//version ab 3.0

$Trenner = md5(uniqid(time()));
#$Header .= "\n";
$Header .= "MIME-Version: 1.0";
$Header .= "\n";
$Header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$Header .= "\n\n";
$Header .= "This is a multi-part message in MIME format";
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: text/html";
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: 8bit";
$Header .= "\n\n";
$Header .= "Meine erste Mail mit Anhang!";
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: text/html; name=$DateinameMail";
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base8";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=$DateinameMail";
$Header .= "\n\n";
$Dateiinhalt = fread(fopen($templatevorschau, "r"), filesize($templatevorschau));

$Header .= "\n";
$Header .= "--$Trenner--";

mail("ich@test.de", $templatevorschau, "$templatevorschau", $Header);

#mail("ich@test.de", "Kursanmeldung $aname", "$emailtext","From: $kemail");



?>


das auskommentierte ist meist von voherigen versuchen.

Wär echt schön wenn ihr was draus machen könntet weil ich * Ich geb auf... * bald
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Di 15.05.2007 01:37
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Sie scheint nicht leer zu sein, da sie 270B groß ist, aber es wird beim öffnen nix angezeigt.

Irgendwas muß aber drin sein, wenn sie 270 Byte groß ist...
Was heißt "beim öffnen nix angezeigt"?
Beim Öffnen womit? Emailprogramm? Texteditor? Hexeditor?
Da muß doch irgendwas drin sein...

Zitat:
schicke mal den hoffentlich für euch brauchbaren Code mit,

Ich geh jetzt ins Bett.
Wenn ich morgen Zeit hab, schau ich mir den Code mal genau an und gucke mal, ob ich den Fehler finde...

In jedem Fall, fallen mir auf den ersten Blick ein paar andere Dinge auf:
Code:
ereg_replace("%kurs1%","checked",$html);

Wenn du mit regulären Ausdrücken arbeitest, dann solltest du nicht die POSIX-RegEx verwenden, sondern die PCRE.
D.h. vergiss die ereg-Funktionen und nimm die preg-Funktionen.
Die arbeiten bei weitem schneller.

Code:
if ($kurs1<>"")

Du willst prüfen, ob die Variable leer ist?
Warum nutzt du nicht empty()?

Code:
echo "$html";

Wofür die Quotes hier?

Code:
$Header .= "MIME-Version: 1.0";
$Header .= "\n";

Header müssen laut dem SMTP-RFC mit \r\n abgetrennt werden und nicht mit einem \n.
Ich weiß, daß die meisten MTA das so mitmachen, aber es ist nicht korrekt und du kannst dich nicht drauf verlassen, daß es wirklich jeder MTA auch so futtert.

Code:
$Header .= "Meine erste Mail mit Anhang!";

Was soll denn das bitte für ein Mail-Header sein?
Irgendwie hast du 'ne Menge Krams in deinen Mailheadern, was da nicht reingehört.
Vielleicht liegt der Fehler hier.
Was stellst du denn eigentlich mit $Dateiinhalt an?
Du liest deine Datei in diese Variable.
Aber das übergibst du nirgendwo der Mailfunktion...

Sieht für mich alles ziemlich vermurkst aus, wenn ich mir das jetzt so anschaue...
Da wundert mich gar nichts mehr, daß das nicht funktioniert...

Schau dir doch mal im Handbuch die Funktion mail() an.


So, jetzt gehe ich aber endlich mal ins Bett. Muß morgen früh raus.
Morgen abend schreibe ich dir noch mal was dazu, wenn du dann noch keine Lösung hast.
  View user's profile Private Nachricht senden
 
Ähnliche Themen PHP Formular - Fehlermeldung wenn nicht alles ausgefüllt ist
PHP Abfrage ob alle Felder ausgefüllt wurden
kontakt php meldet immer "nicht alles ausgefüllt"
Möchte mir ein paar Bücher kaufen
möchte swf-pageflip in ein pdf einbinden - brauche hilfe!
ch möchte eine kleine Homepage basteln
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.