Hallo!
ich bin auf der Suche nach einem php-skript das zusammen mit
einem Formular die Weiterempfehlung meiner Homepage
ermöglicht. Der Seitenbenutzer gibt die E-mail Adresse eines
Freundes ein (und eine Nachricht). Das Formular wird an diese
E-mail Adresse incl. Linkempfehlung für eine Homepage
verschickt.
Wo finde ich so etwas??
Ich glaube da bist du mit selbst - programmieren schneller als mit suchen! Ich hab mal was kurzes zusammengestellt:
<?php session_start();
function validentry($name) {
//function for keeping valid entries in the form
return isset($\_POST[$name]) ? $\_POST[$name]:"";
}
function printErrorMessages() {
//function for printing error messages
global $ErrorMessages;
if (isset($ErrorMessages)) {
echo "Bitte folgende Fehler korrigieren:\n";
echo "
";
foreach ($ErrorMessages as $e) {
echo "$e
";
}
}
}
function printForm() {
// prints the form, including valid entries and error messages
global $ErrorMessages;
?\>
Site weiterempfehlen<?php
Ihr Name:
E-Mail Ihres Freundes:
Ihre Nachricht:
<?php }
function isEmpty($name) {
//returns if a value isn't yet set in the post - array
return (strlen(trim($\_POST[$name])) == 0);
}
function validateForm(){
//checks the entries
global $ErrorMessages;
$isValid = TRUE;
if(isEmpty('name')) {
$ErrorMessages['name'] = "Bitte geben Sie Ihren Namen ein.";
$isValid = FALSE;
}
if(isEmpty('email')) {
$ErrorMessages['email'] = "Bitte geben Sie die E-Mail Ihres Freundes ein.";
$isValid = FALSE;
}
if (!isEmpty('email') && !ereg(".\*@.\*.\*", $\_POST['email'])) {
$ErrorMessages['email']= "Diese Mailadresse ist leider ungültig.";
$isValid= FALSE;
}
return $isValid;
}
function processForm() {
foreach($\_POST as $k =\> $v){
if($k == "name"){
$name = $v;
}
if($k == "email"){
$email = $v;
}
if($k == "nachricht"){
$nachricht = $v;
}
}
$to = $email;
$subject = "$name . " empfiehlt Ihnen eine Site";
$message = $name . " empfiehlt Ihnen unsere Site [www.meinesite.at](http://www.meinesite.at)" .
\n Die Nachricht an Sie lautet: " . $nachricht;
@mail($to, $subject, $message);
if(@mail($to, $subject, $message)) {
$success = TRUE;
} else {
$success = FALSE;
}
$\_SESSION['success'] = $success;
header("Location: success?" . SID);
}
if (isset($\_POST['checkSubmit'])) {
$set = TRUE;
if (validateForm()) {
processForm();
} else {
printForm();
}
} else {
$set = FALSE;
printForm();
}
?\>
Über den Session-Array kann dann noch auf einer nächsten Site ( bei meinem Code success.php ) angezeigt werden, ob der Versand geglückt ist oder nicht; der Erfolg wird über $\_SESSION['success'] abgefragt.
In der Konfigurationsdatei des Servers müssen dann noch - sofern nicht vom Provider angeboten - in der Sektion [mail function] die Einstellungen zu SMTP Server etc. getroffen werden.
Ich hoffe das hilft dir ein wenig weiter; liebe Grüße,
Bettina