IPB

Willkommen, Gast ( Anmelden | Registrierung )

> PHP-Frage Formmailer
amethyst
Beitrag 20.02.2005 - 2:08
Beitrag #1


Kann auf gar keinen Fall einen Videorekorder programmieren!
***

Gruppe: User
Beiträge: 210
Mitglied seit: 08.12.2003
Wohnort: Bad Zwischenahn
Mitglieds-Nr.: 1.751



Hi Ihr,
ich will auf meinen Seiten eine Newsletter-Bestellung einbauen. Das klappt auch, aber, es klappt leider auch dann, wenn die Seite nur aufgerufen wird. Ergo ich mach was falsch. ;-))

Ich hoffe Ihr könnt mir helfen, hier der Code:

QUELLTEXT
<?php
 $admin= 'amethyst@amethyst-edv.de';
 $subject= 'Newsletter-Bestellung';
 $message= 'Nachrichten an '.$admin.' von '.$email.":\n\n";
 foreach($HTTP_POST_VARS as $name=> $value) {
   $message.= "$name:$value\n";
 }
 mail($admin, $subject, $message, "From: $email");

?>
<form method="post" action="mail.php">
<table height="120" width="150" class="news" border="0" >
<tr>
<td align="center"> <span style="text-align:center;color:white;font-weight:bold;font-size:x-small;">E-Mail:</span><br>
 <input class="text" size="10" type="text" name="email"><br><br>

 <input class="senden" type="submit" name="senden" value="Senden"> </td>
</tr>
</table>
</form>


Ich krieg also bei jedem Seitenaufruf eine Bestellung, logischerweise ohne email-adresse. Irgendwas fehlt da, wenn eine Adresse eingetragen wird, wird auf eine andere Seite weitergeleitet, wo es dann auch wieder zurück auf die Ursprungsseite geht, Erfolg? Eine leere Newsletterbestellung.

Ihr habt sicher die Lösung, was da nicht richtig ist, bzw. was da fehlt.

Lieber Gruß Uschi

Der Beitrag wurde von amethyst bearbeitet: 20.02.2005 - 2:08
Go to the top of the page
 
+Quote Post
 
Start new topic
Antworten
Conny
Beitrag 20.02.2005 - 10:45
Beitrag #2


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



Hi Uschi,
im Grunde gibt es zwei Möglichkeiten so ein Formular zu gestalten.
Wenn die Formularseite eine php-Seite ist, muß sie zunächst an sichselbst zurückgegeben werden, um anschließend fehlermeldungen, ok und e-Mail generieren zu können.

Oder, Du schreibst eine normale HTML Seite, der ein Formular enthält mit allen Feldern die Du darin haben möchtest.
Klickt der User nun auf *Senden* wird der im Formular geschriebenen Inhalt ein PHP-Script übergeben, welches nicht nur die Mail generiert die dann zu Dir kommt, sondern auch kontrolieren kann ob alle Felder entsprechend ausgefüllt wurden.

Alle Formulare auf meine Webseite sind so aufgebaut.
Ein Beispiel:>>HIER<<

Versuche mal dieses Formular einfach so, oder nur teilweise ausgefüllt zu versenden... Du wirst sehen, es wird eine Fehlermeldung ausgegeben.
Diese Fehlermeldung kommt von diesem Script: www.trimmelterhof.de/scripts/forms/jackform.php

Das gleiche Script gibt auch das ok, wenn alles richtig scheint, um es alsdann in e-Mail form an mich zu senden.

Die Quellcode der Formularseite kannst Du von der Webseite Kopieren und Deine Zwecke anpassen.

Die Quellcode des Scriptes solltest Du ebenfalls Deine bedürfnisse anpassen; Du findest sie hierunten, es ist weitestgehend mit Kommentare versehen (rot) und (fast) Selbstklärend:
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Trimmelterhof-Team-Jacken</TITLE>
</HEAD>

<BODY CLASS="first">
<DIV ID="all">
<!--Seitenkopf-->
Bla Bla
<!--Ende Seitenkopf-->

<DIV ID="content">
<H2>Bestellformular</H2>
<p>&nbsp;</p>
<? /*<!--Das Formular wird gesendet an:-->*/
$webmaster = "conrad@trimmelterhof.de";

/*<!-- E-Mail-Adresse als Absender -->*/
$absender = "Teamjacken";

/* <!--IP bestimmen -->*/
$ip = getenv('REMOTE_ADDR');

/*<!-- IP aufloesen und Host bestimmen -->*/
$host = gethostbyaddr($ip);

/*<!-- Zeit bestimmen -->*/
$zeit = date("d.m.Y H:i:s");

/*<!--Formatierung der Mail-->*/
/*<!--Betreff-->*/ $betreffwebmaster = "Team-Jackenbestellung";
/*<!--Textkoerper-->*/ $koerperwebmaster = "
********** Formularangaben ****************

Anrede $Status
Name $nachname
Strasse $Strasse
Ort $PLZ $Ort
Telefon $Telefon

e-Mail $mail

von Seite: $subject

Konfektionsgroesse: $konfektion
Zahlung akzeptiert: $zahlung

Text:
$nachricht

*********** Ende Angaben ****************
";

/*<!--Formatierung der Copy-Mail-->*/
/*<!--Betreff-->*/ $betreffabsender = "Jackenbestellung";
/*<!--Textkoerper-->*/ $koerperabsender = "Sie haben folgende Nachricht versandt:\n $nachricht\n";

/* <!--Fehlermeldungen -->*/
$mailfalsch = "<H3 class='red'>Fehler!</H3><p>Ist diese E-Mail-Adresse wirklich richtig?</p><p>Bitte kontrollieren Sie noch einmal die Eingabe und senden Sie dann das Formular erneut ab.</P><center><FORM NAME='Zur&uuml;ck' ACTION='javascript:history.go(-1)'><INPUT TYPE='submit' VALUE='Zur&uuml;ck zum Formular'></FORM></center>";

/*<!-- Fehlermeldungen der Felder-->*/
$felderleer = "<H3 class='red'>Fehler!</H3><p>Ihre Bestellung konnte nicht versendett werden, da nicht alle erforderliche Adressfelder ausgef&uuml;llt wurden.</p><center><FORM NAME='Zur&uuml;ck' ACTION='javascript:history.go(-1)'><INPUT TYPE='submit' VALUE='Zur&uuml;ck zum Formular'></FORM></center>";

/*<!-- Fehlermeldungen der Checkboxen-->*/
$checkboxleer = "<H3 class='red'>Fehler!</H3><p>Ihre Bestellung konnte nicht versendet werden, da entweder die Konfektionsgr&ouml;&szlig;e nicht angegeben, und / oder die Checkbox der Zahlungsbedingungen nicht angekreuzt wurde(n).</p><center><FORM NAME='Zur&uuml;ck' ACTION='javascript:history.go(-1)'><INPUT TYPE='submit' VALUE='Zur&uuml;ck zum Formular'></FORM></center>";

/*<!--Erfolgsmeldung-->*/
$abgesandt = "<H3 class='grn'>Danke,</H3><H3>Ihre Bestellung wurde erfolgreich versendet.</H3>";

/*<!--Sind alle Felder ausgefuellt? -->*/
if ($nachname == "" || $Strasse == "" || $PLZ == "" || $Ort == "" || $Telefon == "" || $mail == "")
{
/*<!--nein-->*/
echo "$felderleer";
}
else
{
/*<!--Checkboxen ok?-->*/
if ($konfektion == "" || $zahlung == "")
{
/*<!--nein-->*/
echo "$checkboxleer";
}
else
{
/*<!--ja-->*/
/*Ist die E-Mail-Adresse richtig?-->*/
if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $mail))
{
/*<!--E-Mail-Adresse ist richtig-->*/
mail("$webmaster","$betreffwebmaster","$koerperwebmaster\n","FROM: $absender\n");

/*<!--Kopie an Absender?-->*/
if ($kopie == "ja")
{
mail("$mail","$betreffabsender","$koerperabsender","FROM: $absender\n");
echo "$abgesandt";
}
else
{
echo "$abgesandt";
}
}
else
{
/*<!--nein-->*/
echo "$mailfalsch";
}
}
}
?>
<P>&nbsp;</P>
<!--Seitenfuss-->
Bla Bla
<!--Ende Fuss-->
</BODY>
</HTML>


Einfach mal ausbropieren.
Viel Spaß!

cu
Conny
Go to the top of the page
 
+Quote Post

Beiträge in diesem Thema


Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 15.05.2025 - 6:29

taschenkalender
expertise-panel IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here