PHP E-mail senden (funpic.de)

som3

Lieutenant
Registriert
Jan. 2010
Beiträge
992
Hallo.
Ich bin gerade dabei ein kleines Adminpanel für meine Seite zu Basteln.
Ich habe mir gedacht ich brauche eine Möglichkeit auf Kontaktanfragen zu Antworten.
Also wollte ich das Kontaktformular umschreiben.

Naja was dabei heraus gekommen ist ..
Jedenfalls funktioniert es nicht.
Vielleicht wisst ihr ja was ich falsch mache : / (bestimmt alles xD)
PHP:
<?php
$email_to = $email;
$email_subject = $subject;
$required_fields = array('fullname','email','comment');
$error_messages = array(
    'fullname' => 'Please enter a Name to proceed.',
    'email' => 'Please enter a valid Email Address to continue.',
    'comment' => 'Please enter your Message to continue.'
);
$form_complete = FALSE;
$validation = array();
if(!empty($_POST)) {
foreach($_POST as $key => $value) $_POST[$key] = remove_email_injection(trim($value));
foreach($required_fields as $field) {        
if(!array_key_exists($field, $_POST)) array_push($validation, $field);
if($_POST[$field] == '') array_push($validation, $field);
if($field == 'email') if(!validate_email_address($_POST[$field])) array_push($validation,$field);
    }
if(count($validation) == 0) {
$email_content = 'Hallo, der Admin von domain.de hat dir eine Nachricht geschrieben: ' . "\n\n";
foreach($_POST as $key => $value) {
if($key != 'submit') $email_content .= $key . ': ' . $value . "\n";
        }
mail($email_content);
$form_complete = TRUE;
    }
}
function validate_email_address($email = FALSE) {
return (preg_match('/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i', $email))? TRUE : FALSE;
}
function remove_email_injection($field = FALSE) {
return (str_ireplace(array("\r", "\n", "%0a", "%0d", "Content-Type:", "bcc:","to:","cc:"), '', $field));
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Admin E-mail</title>
<link href="emailsenden.css" rel="stylesheet" type="text/css" />
</head>

<body>
<h2>Admin E-Mail versenden</h2>
<div id="form">
<form action="contact.php" method="post" id="comments_form">
    <div class="row">
    <div class="label">To:</div> <!-- end .label -->
    <div class="input">
     <input type="text" id="email" class="detail" name="email" value="" />
    </div><!-- end .input -->
    </div><!-- end .row -->
    <div class="row">
    <div class="label">Betreff</div> <!-- end .label -->
    <div class="input">
    <input type="text" id="subject" class="detail" name="subject" value="" />
    </div><!-- end .input -->
    </div><!-- end .row -->
    <div class="row">
    <div class="label">Deine Nachricht</div> <!-- end .label -->
    <div class="input2">
   <textarea id="comment" name="comment" class="mess"></textarea></span>
    </div><!-- end .input -->
    </div><!-- end .row --> 
    <div class="submit">
    <input type="submit" id="submit" name="submit" value="Nachricht senden" />
    </div><!-- end .submit -->
    </form>
</div><!-- end#form -->
</div><!-- end #formWrap -->
</body>
</html>
 
Wo sind denn deinen Sendmail Daten? Die müssen ja auch ins Script wenn du Mails versenden willst ^^.
 
Ist doch drin

mail($email_content);

Im Kontakformular:
mail($email_to, $email_subject, $email_content);

Nur das Subject und an wen die E-mail geht muss ja nicht in die E-mail.
 
Achso ja natürlich :D
Noch eine frage:
Er soll die E-mail senden wenn ich den Button mit dem Namen submit drücke senden.
Also ein if Befehl
if($key !='submit')
PHP:
<?php
$empfaenger = $email_to;
$betreff = $email_subject;
$nachricht = $email_mess;

if($key !='submit') mail($empfaenger, $betreff, $nachricht, $header);
?>
HTML:
<body>
<h2>Admin E-Mail versenden</h2>
<?php if($form_complete === FALSE): ?>
<form action="contact.php" method="post" id="comments_form">
 <input type="text" id="email_to" class="detail" name="email_to" value="" />
 <input type="text" id="email_subject" class="detail" name="email_subject" value="" />
 <input type="text" id="email_mess" class="mess" name="email_mess" value="" />
 <input type="submit" id="submit" name="submit" value="Nachricht senden" />
</form>
    <?php else: ?>
    <p>Danke für deine Message!</p>
    <?php endif; ?>
</body>
Würde das so gehen? Oder muss man das anders machen?


Nein Kontaktformular habe ich schon.
Ich möchte ein Formular machen womit ich E-Mails an andere Personen versenden kann.
Weil es bei Funpic keine Pop3 Funktion oder der gleichen gibt, Das Kontaktformular aber versenden kann wollte ich das Kontaktformular umschrieben und die Feste E-mail von mir wohin die E-mail gehen durch eine Variable austauschen die cih über eine Textbox austauschen kann (genauso beim Betreff)
 
Zuletzt bearbeitet:
Sonst ach niemand da der mir helfen kann? :(
 
Doch ^^ bei

PHP:
if(!empty($_POST)) {

musst du noch ein and isset($_POST['submit']) einfügen also:

PHP:
if(!empty($_POST) and isset($_POST['submit'])) {

Und schon wird das ganze nur dann ausgewertet, wenn der submit Button abgeschickt wurde, wie sinnvoll das ist sei mal dahin gestellt. Der Rest mit dem Formular ist soweit richtig.
 
Zurück
Oben