Einzelnen Beitrag anzeigen
  #4  
Alt 23.09.2005, 11:10:04
ute ute ist offline
Anfänger
 
Registriert seit: Sep 2005
Beiträge: 4
AW: $_SERVER['HTTP_REFERER'] Problem

hallo Stevie,
ich hab alles Mögliche ausprobiert, krieg es aber nicht hin. Kannst Du mal drüberschauen und sagen, wo was hinsoll?
Hab z.B. Deinen php-Schnipsel eingefügt, alle $recommendMessage in $referer umgewandelt, das auch in die "globals" übernommen etc.
Übrigens habe ich auch ausprobiert, die URL textarea in ein input umzuwandeln, wie Du es besschrieben hast, aber dann wird garnix übergeben.
Grüsse Ute

<?php
$numFriends = 2;
$webmasterEmail = "xyz@abc.de";
$sendNotification = 1;
$subject = "Seiten - Empfehlung von [SENDER_NAME] ([SENDER_EMAIL])";

$recommendMessage = <<<EOD
[REFPAGE]
EOD;

$customMessage = <<<EOD
EOD;

$sendAsHtml = 0;

error_reporting(E_ERROR); // only stop for critical errors

/* start main */
if(!isset($_POST["action"])) {
show_form();
} else {
//begin error checking
if(trim($_POST['senderName']) == "") {
$error[] = "Sie haben Ihren Namen nicht eingef&uuml;gt.<br>";
}

$_POST['senderEmail'] = trim($_POST['senderEmail']);

if(!isValid($_POST['senderEmail'])) {
$error[] = "Bitte &uuml;berpr&uuml;fen Sie Ihre Email - Adresse.<br>";
unset($_POST['senderEmail']);
}

$validRecips = check_valid($_POST['friend']);

if($validRecips == FALSE) {
$error[] = "Bitte &uuml;berpr&uuml;fen Sie die Empf&auml;nger Email - Adresse(n).<br>";
}

if($error) {
echo "\n";
foreach($error as $oneError) {
echo "$oneError<br>\n";
}
echo "\n";

echo show_form();

} else { //no error
$subject = str_replace("[SENDER_NAME]", $_POST['senderName'], $subject);
$subject = str_replace("[SENDER_EMAIL]", $_POST['senderEmail'], $subject);

$message = trim($_POST['recommendMessage']) . "\n\n" . "\n\n" . $_POST['customMessage'] . "\n\n\n_______________________________________________________________ _____\n"
. $_POST['senderName'] . " hat Ihnen diese Nachricht geschickt von http://www.xyz.de";

if($_POST['toself'] == TRUE) {
array_push($validRecips, $_POST['senderEmail']);
}

$content = ($sendAsHtml == TRUE ? "text/html" : "text/plain");
$message = stripslashes($message);

$headers = "From: " . $_POST['senderName'] . " <" . $_POST['senderEmail'] . ">\r\n";
$headers .= "Content-Type: $content";

foreach($validRecips as $recip) {
$friends .= $recip . " ";
@mail($recip, $subject, $message, $headers);
echo "Nachricht gesendet an $recip<br>\n";
}

if($sendNotification) {

$nMessage = trim($_POST['recommendMessage']) . "\n\n" . $_POST['senderName'] . " (" . $_POST['senderEmail'] . ") " . $_SERVER['REMOTE_ADDR'] . " gesendet an " . count($validRecips) . " friends ($friends).";
@mail($webmasterEmail, "Seitenempfehlung", $nMessage, "From: $webmasterEmail");
}
}
}

function check_valid($list)
{
global $errorCode;

$numElements = sizeof($list);
$goodEmails = array();

foreach($list as $single) {
if(isValid($single)) {
$goodEmails[] = $single;
}
}

if(!empty($goodEmails)) {
return array_unique($goodEmails);
} else {
return FALSE;
}
}

function show_form()
{
global $numFriends, $validRecips, $recommendMessage, $customMessage, $title;

$senderName = (!isset($_GET['sn']) ? $_POST['senderName'] : urldecode($_GET['sn']));
$senderEmail = (!isset($_GET['se']) ? $_POST['senderEmail'] : urldecode($_GET['se']));

echo "<form method=\"POST\" action=\"".$_SERVER['PHP_SELF']."\">\n"
."<input type=\"hidden\" name=\"action\" value=\"submit\">\n"
."<table border=0 align=\"center\" cellpadding=0 cellspacing=0>\n"
."\t<tr>\n"
."\t\t<td>Ihr Name:</td><td><input type=\"text\" name=\"senderName\" value=\"$senderName\" size=30 class=\"input1\"></td>\n"
."\t</tr>\n"
."\t<tr>\n"
."\t\t<td>Ihre Email:</td><td><input type=\"text\" name=\"senderEmail\" value=\"$senderEmail\" size=30 class=\"input1\"></td>\n"
."\t</tr>\n";

for($i = 1; $i <= $numFriends; $i++) {
echo "\t<tr>\n\t\t<td>Email Empf&auml;nger $i:</td><td><input type=\"text\" name=\"friend[]\" value=\"".$validRecips[$i - 1]."\" size=30 class=\"input1\"></td>\n\t</tr>\n";
}

if (strpos($recommendMessage, "[REFPAGE]") !== FALSE) {
if (!isset($_SERVER['HTTP_REFERER']))
$recommendMessage = str_replace("[REFPAGE]", "(Referrer Unavailable)", $recommendMessage);
else
$recommendMessage = str_replace("[REFPAGE]", $_SERVER['HTTP_REFERER'], $recommendMessage);
}

echo "\t<tr>\n"
."\t\t<td colspan=2 class=\"none\"><textarea name=\"recommendMessage\" cols=66 rows=2 readonly onFocus=\"this.blur()\" class=\"input1\">$recommendMessage</textarea></td>\n"
."\t</tr>\n"
."\t<tr>\n"
."\t\t<td colspan=2><br>Pers&ouml;nliche Nachricht<br><textarea name=\"customMessage\" cols=66 rows=5 class=\"input1\">$customMessage</textarea></td>\n"
."\t</tr>\n"
."\t<tr>\n\t\t<td colspan=2><input type=\"checkbox\" name=\"toself\">&nbsp;&nbsp;Kopie der Nachricht per Email an Sie schicken<br><br></td>\n\t</tr>\n"
."\t<tr>\n\t\t<td colspan=2 align=\"center\"><input type=\"submit\" value=\"senden\" class=\"input2\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"reset\" value=\"l&ouml;schen\" class=\"input2\"></td>\n\t</tr>\n"
."\t<tr>\n\t\t<td colspan=2><br>Die hier eingegebenen Daten werden von uns nur dazu verwendet, die Email in Ihrem Namen zu versenden. Es erfolgt keine Weitergabe an Dritte und keine Speicherung Ihrer Angaben.<br><br><a href=\"javascript:window.close()\" class=\"link1\">Fenster schliessen</a></td>\n\t</tr>\n"
."</table>\n"
."</form>\n\n";
}
function isValid($email)
{
return eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $email);
}
?>
Mit Zitat antworten