• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mail()

Status
Für weitere Antworten geschlossen.

Mars@Gera

Mitglied
Habe gerade nen Script getestet, welches mir Formulardaten per Mail schickt, warum meldet sich da vom Server das Mail Programm?

PHP:
$empfaenger = "###";
$betreff = "$vorname $nachname hat das Kontaktdaten-Formular ausgefüllt";
$from = $p_mail;
$text = "<h3>Private-Kontaktdaten</h3><br>Vorname: $vorname<br>Nachname: $nachname<br>Stra&szlig;e: $strasse<br>Nr.: $hausnummer<br>PLZ: $plz<br>
    Geburstag: $geb_tag.$geb_mon.$geb_jahr<br>E-Mail (privat): $p_mail<br>Telefon (privat): $p_vorwahl / $p_durchwahl<br>
         Fax (privat): $p_fax<br>Handy: $h_vorwahl / $h_durchwahl<br>Sportverein: $sportverein
         <h3>Gesch&auml;ftliche-Konaktdaten</h3><br>Telefon (gesch&auml;ftlich): $g_vorwahl / $g_durchwahl<br>Fax (gesch&auml;ftlich):
    $g_fax<br><h3>Verein</h3><br>Verein: $sportverein";

//E-Mail verschicken
mail($empfaenger, $betreff, $from, $text);

if(mail){
    echo "Danke für die &Uuml;bermittlung der Daten.";
}else{
    echo "Fehler bei der Übermittlung.";
}
MfG Marcel
 
Gut, habe alles geändert, komme auch so langsam dahin wo ich will^^

So habe in dem Formular des hier!

PHP:
$test = array (
"",
"test1",
"test2",
"test3"
);

Jetzt ist das Problem da, das wenn ich beispielsweise "test3" auswähle, steht dort die 3!
Wie bekomme ich es hin, das mir der Inhalt des Array angezeigt wird?
MfG Marcel
 
Zum Beispiel so

einfachste Variante:
PHP:
<?php echo implode($test,"<br>"); ?>
Das gibt dir jeden Eintrag deines Arrays aus und zwar die Einträge durch <br> getrennt.
Code:
test1
test2
test3
du kannst einfach den Parameter ändern ("<br>") wenn du es anders trennen möchtest, z.b.
PHP:
<?php echo implode($test," | "); ?>
ergibt
Code:
test1 | test 2 | test3

Oder die etwas schwierigere Variante ist dann mit einer foreach-Schleife
 
Naja ist nciht ganz was ich meine, denke ich zumindest.
Mein Problem ist, wenn ich im Formular das
PHP:
                 <?php echo '<select name="test">';
                 sort($test);
        foreach ($test as $key=>$eintrag)
                     {echo '<option value="'.$key.'">'.$eintrag.'<br>'."\n";}
        echo '</select>';?>

in die s. Datei durch POST gebe und dieses Ergebniss bei mail(), dann gibt er nur die Nummer des arrays durch, s.o.

MfG Marcel
 
Formular:
PHP:
<form action="wasauchimmer.php" method="POST">
<select name="test">
  <?php
  $test = array("test1","test2","test3");
  foreach ($test as $key=>$vaule)
    echo "<option value=\"".$key."\">".$value."</option>\n";
  ?>
</select>
<input type="submit" value="senden">
</form>
Auswertung
PHP:
<?php
$test = array("test1","test2","test3");
echo $test[$_POST["test"]];
?>

Ich weiß nicht genau ob das das ist was du suchst, aber vlt hilft es dir weiter.
 
Naja ich habe schon vorher des
PHP:
$test = $_POST["test"]
gemacht.

Was mir gerade auffällt, habe auch ncoh ne foreach schleife wegen geburtstag, das geht es mit den Monatstagen, aber habe wegen den Monaten auch ein Array gemacht, da wird auch wieder nur die Zahl ausgegeben und nicht der Name.

müsste ich da mit sowas ran gehen?

PHP:
$test = array(
"",
"test1" => Januar,
"test2" => Februar);

MfG Marcel
 
mit den codeschnipseln kann man aber auch echt nichts anfangen, wenn bei dir die zahlen und nicht monate ausgegeben werden hast du entweder eine falsche auswertung oder ein falsches formular.
 
Auswertung:
PHP:
<?php
//E-Mail
$p_mail=$_POST["p_mail"];
$g_mail=$_POST["g_mail"];
//persönliche Angaben
$vorname=$_POST["vorname"];
$nachname=$_POST["nachname"];
//Geburstag
$geb_tag=$_POST["geb_tag"];
$geb_mon=$_POST["geb_mon"];
$geb_jahr=$_POST["geb_jahr"];
//Adresse
$strasse=$_POST["strasse"];
$hausnummer=$_POST["hausnummer"];
$plz=$_POST["plz"];
//Telefonangaben (privat)
$p_vorwahl=$_POST["p_vorwahl"];
$p_durchwahl=$_POST["p_durchwahl"];
$p_fax=$_POST["p_fax"];
//Telefonangaben (geschäftlich)
$g_vorwahl=$_POST["g_vorwahl"];
$g_durchwahl=$_POST["g_durchwahl"];
$g_fax=$_POST["g_fax"];
//Handy
$h_vorwahl=$_POST["h_vorwahl"];
$h_durchwahl=$_POST["h_durchwahl"];
//Anderes
$sportverein=$_POST["sportverein"];
$homepage=$_POST["homepage"];

$sportverein =

//E-Mail Funktionen
$empfaenger = "[email protected]";
$betreff = "$vorname $nachname hat das Kontaktdaten-Formular ausgefüllt";
$text = "<html>
<head>
  <title>$vorname $nachname hat das Kontaktdaten-Formular ausgefüllt</title>
</head>
<body>
  <h3>Private-Kontaktdaten</h3><br>
  Vorname: $vorname<br>
  Nachname: $nachname<br>
  Stra&szlig;e: $strasse<br>
  Nr.: $hausnummer<br>
  PLZ: $plz<br>
  Geburstag: $geb_tag.$geb_mon.$geb_jahr<br>
  E-Mail (privat): $p_mail<br>
  Telefon (privat): $p_vorwahl / $p_durchwahl<br>
  Fax (privat): $p_fax<br>
  Handy: $h_vorwahl / $h_durchwahl<br>
  Verein: $sportverein<br><br>
  <h3>Gesch&auml;ftliche-Konaktdaten</h3><br>
  Telefon (gesch&auml;ftlich): $g_vorwahl / $g_durchwahl<br>
  Fax (gesch&auml;ftlich):$g_fax<br>
</body>
</html>";

$header =

// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header  = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

//E-Mail verschicken
mail($empfaenger, $betreff, $text, $header);

if(mail){
    echo "Danke für die &Uuml;bermittlung der Daten.";
}else{
    echo "Fehler bei der Übermittlung.";
}
?>
Formular:
PHP:
<?php
/*Kontaktdaten
 *author:    ### <[email protected]>
 *link:        http://www.tt-otg1902.de
 *copyright:    2007 ###
*/
//Sportvereine
//Beliebig erweierbar
//    "Verein a",
//    "Verein b",
$sportverein = array (
"",
"OTG 1902 Gera",
"Wei&szlig;enborner SV 1882",
"Lusaner SC 1980",
"TuS Osterburg Weida",
"TSV 1880 R&uuml;dersdorf",
"TSV 1886 Gera-Leumnitz",
"VfL 1990 Gera",
"SV 1861 Liebschwitz",
"SG Braunichswalde",
"SV Hermes Gera",
"SV 1924 M&uuml;nchenbernsdorf",
"TSV Eisenberg II",
"ThSV W&uuml;nschendorf",
"Post SV Gera",
"SV Hermsdorf",
"Geraer F&uuml;chse 97",
"SV Traktor Blankenhain",
"TSV 1880 Gera-Zw&ouml;tzen",
"VfL 1990 Gera BS"
);

$geb_mon = array ("","Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");

include_once 'config/general.php';
//Sprach-Datei
include_once 'language/ger_du.php';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title><?php echo $LANG['TITEL'] ?></title>
<script type="text/javascript">
function FensterOeffnen (Adresse)
{
  MeinFenster = window.open(Adresse, "Zweitfenster", "width=900,height=500,left=100,top=100");
  MeinFenster.focus();
}
</script>
</head>
<body alink="black" link="black" vlink="black" lang="de">

<h1><?php echo $LANG['TITEL'] ?></h1>

<form action="upload_1.php" method="post" enctype="multipart/form-data">
    <table border="0" align="left" width="50%">
              <tr>
             <td><?php echo $LANG['Vorname'] ?></td>
             <td><input type="text" name="vorname" size="28"></input></td>
             <td><?php echo $LANG['Nachname'] ?></td>
             <td><input type="text" name="nachname" size="28"></input></td>
           </tr>
           <tr>
             <td><?php echo $LANG['verein'] ?></td>
             <td>
                 <?php echo '<select name="sportverein">';
                 sort($sportverein);
        foreach ($sportverein as $key=>$eintrag)
                     {echo '<option value="'.$key.'">'.$eintrag.'<br>'."\n";}
        echo '</select>';?>
             </td>
           </tr>
           <tr>
             <td colspan="4"><hr noshade size="1"></td>
           </tr>
           <tr>
             <td><?php echo $LANG['bday'] ?></td>
             <td>
                 <?php echo '<select name="geb_tag" size="1">';
                 echo '    <option selected="selected"></option>'."\r\n";
                 $i=1;
                 for ($i=1;$i<32;$i++){
                     echo "<option>$i</option>";
                         }
        echo '</select> &nbsp;';

                 echo '<select name="geb_mon">';
                 foreach ($geb_mon as $key=>$eintrag)
                     {echo '<option value="'.$key.'">'.$eintrag.'<br>'."\n";}
        echo '</select> &nbsp;';

                 echo '<select name="geb_jahr" size="1">';
                 echo '<option selected="selected"></option>'."\r\n";
                 $i=2007;
                 for ($i=2007;$i>1929;$i--){
                     echo "<option>$i</option>";
                         }
        echo '</select>';?>
             </td>
           </tr>
           <tr>
             <td colspan="4"><hr noshade size="1"></td>
           </tr>
           <tr>
             <td><?php echo $LANG['Strasse'] ?></td>
             <td><input type="text" size="28" name="strasse"></input></td>
             <td><?php echo $LANG['nr'] ?></td>
             <td><input type="text" size="4" name="hausnummer"></input></td>
           </tr>
           <tr>
             <td><?php echo $LANG['plz'] ?></td>
             <td><input type="text" maxlength="5" size="5" name="plz"></input></td>
           </tr>
           <tr>
             <td colspan="4"><hr noshade size="1"></td>
           </tr>
           <tr>
             <td><?php echo $LANG['Tel_pr'] ?></td>
             <td><input type="text" name="p_vorwahl" value="Vorwahl" size="5"></input>
             <input type="text" name="p_durchwahl" value="Durchwahl"></input></td>
             <td><?php echo $LANG['Mail_pr'] ?></td>
             <td><input type="text" name="p_mail"></input></td>
           </tr>
           <tr>
             <td><?php echo $LANG['Tel_ge'] ?></td>
             <td><input type="text" name="g_vorwahl" value="Vorwahl" size="5"></input>
             <input type="text" name="g_durchwahl" value="Durchwahl"></input></td>
             <td><?php echo $LANG['Mail_ge'] ?></td>
             <td><input type="text" name="g_mail"></input></td>
           </tr>
           <tr>
             <td><?php echo $LANG['Fax_pr'] ?></td>
             <td><input type="text" name="p_fax" size="30"></input></td>
             <td><?php echo $LANG['Fax_ge'] ?></td>
             <td><input type="text" name="g_fax"></input></td>
           </tr>
           <tr>
             <td><?php echo $LANG['Homepage'] ?></td>
             <td><input type="text" name="homepage" size="30"></input></td>
           </tr>
           <td><?php echo $LANG['Handy'] ?></td>
             <td><input type="text" name="h_vorwahl" value="Vorwahl" size="5"></input>
             <input type="text" name="h_durchwahl" value="Durchwahl"></input></td>
           </tr>
           <tr>
             <td><input type="submit" value="<?php echo $LANG['send_to'] ?>"></input></td>
           </tr>
           <tr>
             <td colspan="3"><p style="font-size:12px;"><?php echo $KD_VERSION ?> | <a href='mailto:<?php echo $KD_MAIL ?>' target="_blank" style="text-decoration: none;">
        <?php echo $KD_COPY_YEAR ?>&nbsp;<?php echo $LANG['KD_MAIL_NAME'] ?></a>
        | <a href="<?php echo $KD_FORUM ?>" target="_blank" style='text-decoration: none;'>Forum</a> |
                 <a href="<?php echo $LANG['impressum_url'] ?>" style='text-decoration: none;'
                 onclick="FensterOeffnen(this.href); return false"><?php echo $LANG['impressum'] ?></a></p></td>
           </tr>
         </table>
</form>
</body>
</html>
 
PHP:
//E-Mail verschicken
mail($empfaenger, $betreff, $text, $header);

if(mail){ // <-------
    echo "Danke für die &Uuml;bermittlung der Daten.";
}else{
    echo "Fehler bei der Übermittlung.";
}

*räusper*

nebenbei empfehle ich hier

PHP:
for ($i=2007;$i>1929;$i--){
                     echo "<option>$i</option>";
                         }

//diese änderung
$jahr = date('Y');
$jahr_bis = $jahr - 100;
for ($i=$jahr;$i>$jahr_bis;$i--)
{
    echo "<option>$i</option>";
}
 
weiss zwar auch net gnau was du willst, aber warum schreibst du net einfach den wert den du nachher willst ins value vom option, dann brauchst du nicht wieder mit dem Key im Array nachschauen, musst halt schauen mit Sonderzeichen und so.
mfg
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben