| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

16-06-2009, 12:59
|
|
guru85
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 11
|
|
Eingabebestätigung für E-Mail Formular
Hallo zusammen,
Ich bin dabei ein E-Mail Formular mit Attachment Funktion in meine Seite einzubauen. Dazu habe ich einfach ein fertiges Script meiner Seite angepasst. Hier mal die grobe Funktionsweise:
Auf der Seite (html) befindet sich ein Formular (name, email, text, etc.) incl. einer Dateianlage Funktion. Dieses Formular ist mit dem script verbunden. Hat man alles richtig ausgefüllt und bestätigt mit submit, wird die ausgewählte file auf den server geladen und aus den Informationen eine E-Mail incl. anhang versendet. So weit so gut, funktioniert einwandfrei.
Jetzt will ich das ganze aber um eine Funktion erweitern: Und zwar soll nach dem ersten Bestätigen eine weitere Seite erscheinen, auf der die eingetragenen Daten nochmals zur überprüfung aufgelistet werden. Erst mit dem zweiten Bestätigen wird die Email versendet.
Ich bin mir nicht sicher wie ich das ganze machen soll. Lässt sich das ganze mit 2 html seiten und einem php skript realisieren oder packe ich lieber gleich alles in eine php datei?
Für mich ist das alles Neuland.
Schöne Grüße,
|

16-06-2009, 13:04
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.455
|
|
Zitat:
Zitat von guru85
Ich bin mir nicht sicher wie ich das ganze machen soll. Lässt sich das ganze mit 2 html seiten und einem php skript realisieren oder packe ich lieber gleich alles in eine php datei?
|
Das ist total egal.
Wichtig ist nur, dass du die Datei nach dem Hochladen erst mal irgendwohin sicherst, sonst ist sie anschliessend futsch.
Und dann musst du dir auch noch eine Möglichkeit überlegen, diese gesicherten Dateien wieder aufzuräumen. Nach dem Versenden der Mail die betreffende Datei löschen, ist simpel - aber du musst auch die Fälle berücksichtigen, in denen der Nutzer diesen Schritt nicht mehr durchführt, sondern die Seite einfach verlässt. Da bleibt dir nämlich eine Dateileiche liegen, die auch irgendwann entsorgt werden will.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-06-2009, 18:51
|
|
steve46
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 44
|
|
<form action="nachfolgendeseite.php" method="post">
<input type="text" name="mail">
<input type="submit" value="Bestätigen">
nachfolgendeseite.php
<?php
$adresse = $_POST["mail"];
echo $adresse;
?>
Nachdem der User dann Bestätigt hat bindest du deine Funktion hier ein mit der Mail
lg steve46
|

17-06-2009, 05:42
|
|
guru85
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 11
|
|
Danke schonmal für eure Antworten.
Genau dein Ansatz habe ich auch verwendet steve, allerdings weiß ich da nicht weiter:
form.html:
Code:
<form action="script.php" method="post">
<input type="text" name="mail">
<input type="submit" value="Bestätigen">
script.php:
Code:
<?php
$adresse = $_POST["mail"];
echo $adresse;
?>
Die Eigabe wird wird mit "Bestätigen" gesendet. Auf der neuen Seite erscheint die Eingabe zur Übersicht. So nun muss ich aber nochmal einen Button einbauen der genau diese Übersicht bestätigt. Habe ein bisschen rumprobiert. Da ich die meisten Klassen von php nicht kenne ist das Ergebnis nicht gerade elegant:
form.html wie gehabt.
script.php:
Code:
<body>
<?php
$adresse = $_POST["mail"];
?>
<form action="script2.php" method="post">
<input type="text" name="hallo" value="<?php echo $adresse;?>">
<input type="submit" value="Bestätigen">
</body>
script2.php:
Code:
<?php
$ad = $_POST["hallo"];
mail($ad,....)
echo "nachricht gesendet";
?>
Wie kann ich das ganze denn in einem Skrip realisieren? Wie schaffe ich es einen Teil einer php Datei quasi auf Knopfdruck auszuführen? Sprich wenn der Inhalt aus Script.php bestätigt wurde wird die mail Funktion ausgeführt. Bin mir sicher, dass es eine andere Möglichkeit gibt, als ein neues Form zu definieren.
mfg,
|

17-06-2009, 10:04
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Alles in eine Datei? Na, dann nutze if ... else ... oder switch.
|

17-06-2009, 11:01
|
|
guru85
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 11
|
|
Ok ich will das ganze nicht notwendigerweise in eine Datei packen. Was ich im Moment noch nicht weiß:
Wenn meine script.php einen Wert mittels $adresse = $_POST["mail"]; durch die submit funktion übergeben bekommt, wie kann ich diesen wert dann weiter an das zweite script senden, sodass ich den Wert ebenfalls mit $adresse = $_POST["mail"];im zweiten skript empfangen und verwenden kann?
|

17-06-2009, 11:25
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
entweder in $_SESSION ablegen (empfohlen) oder in hidden-field im Formular.
|

17-06-2009, 11:31
|
|
guru85
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 11
|
|
Ja hört sich gut an, hab leider keine idee wie ich das machen könnte.
Kannst du mir vlrt kurz schildern wie ich das umzusetzen habe? Ich meine was ich in den beiden php dateien einbauen muss um in der zweiten php datei die variablen verwenden zu können?
|

17-06-2009, 11:54
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.455
|
|
Du kannst entweder ein neues Formular dynamisch erstellen, mit vorbelegten Feldern - das verarbeitest du dann nach dem Abschicken genauso, wie das erste.
Oder du informierst dich zum Stichwort Sessions.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

25-06-2009, 12:07
|
|
guru85
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 11
|
|
So wollt mich nochmal melden, dass jetzt alles FAST bestens klappt. Habe es mit hidden fields gelöst.
Das Formluar ermöglicht es jetzt zwei Dateien mit maximal 5 mb hochzuladen und der Email anzuhängen. Funktioniert mit kleineren Dateien wunderbar, ABER: sobald ich Dateien hochlade, die größer sind als 2 MB scheint sich das Skript aufzuhängen. Hat einer ne Idee woran das liegen könnte?
mfg,
|

25-06-2009, 12:17
|
|
Wyveres
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
|
|
php.ini MAX_UPLOAD_FILESIZE ist hier das stichwort.
|

25-06-2009, 12:23
|
|
guru85
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 11
|
|
ja super hört sich gurt an. von dieser php.ini hab ich schonmal gehört
habe ich darauf zugriff, wenn ich einen Webserver von 1&1 verwende? wenn ja wie kann ich diesen eintrag ändern?
|

26-06-2009, 04:28
|
|
guru85
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 11
|
|
In meiner info.php Datei habe ich follgenden Eintrag gefunden:
upload_max_filesize (local/master) = 20M
sollte eigentlich keine probleme machen, oder?
|

26-06-2009, 12:57
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 644
|
|
Zitat:
Zitat von guru85
So wollt mich nochmal melden, dass jetzt alles FAST bestens klappt. Habe es mit hidden fields gelöst.
Das Formluar ermöglicht es jetzt zwei Dateien mit maximal 5 mb hochzuladen und der Email anzuhängen. Funktioniert mit kleineren Dateien wunderbar, ABER: sobald ich Dateien hochlade, die größer sind als 2 MB scheint sich das Skript aufzuhängen. ...
|
Definiere "aufhängen"!
Was sagt das Script bei aktiviertem error_reporting(E_ALL)?
Was schiebt der Browser nach oben?
(Hilfsmittel: HTTP-Proxy, LiveHTTPHeaders, TamperData etc.)
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|

07-07-2009, 08:47
|
|
guru85
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 11
|
|
Hallo,
das Problem bestht leider immernoch. Ich habe diese Zeilen in den Kopf des skripts gepackt:
<?php error_reporting(E_ALL | E_STRICT);
ini_set("log_errors", 1);
ini_set("error_log", "app_xyz.php.log");
?>
Weiß nicht ob da alles richtig ist. Auf jeden Fall hat sich bei der Ausführung leider nichts geändert. Bestätige ich die Übersicht, läd er zwar das zweite Skript, aber die Inhalte erscheinen nicht. Das lässt darauf schließen, dass das php Skript nicht ordentlich durchlaufen wird, da am Ende eigentlich eine nachricht erscheinen müsste "E-Mail erfolgreich versendet". Was auch noch auffällt, dass die Tabellen ein wenig verrutscht sind, also das Erscheinungbild passt nicht zu 100%.
Es erscheint auch keine Fehlermeldung oder ähnliches, auch nicht mit den Zeilen im Kopf...
Wie gesagt, aber erst ab Files über 2000 kb.
Gruß
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|