IP Sperre und emailversand

kekskruemel

Angesehenes Mitglied
Hallo,

1) ich habe eine Anmeldung auf meiner Internetseite programmiert.
Ich möchte nun, dass der User eine Email automatisch bekommt! Wie mache ich das?

Derzeit ist es so, dass er einfach nur in ein Feld Name und Email eingibt. Dann soll dieser angelegt werden und eine Email mit einem Link bekommen, über den er sich freischalten kann, indem in der DB aktiv auf 1 gestellt wird!

2) ich habe ein Skript in dem kann man eine Sache bewerten. Dafür soll man sich aber nicht erst anmelden müssen! Nun möchte ich aber, dass der "Voter" nur einmal mit der IP in einer gewissen Zeit voten kann! Wie kann man so etwas umsetzen`?



Vielen Dank!
 
ich programmiere in php. Und im bezug zu Web ist html und php (natürlich iM verbund mit sql) die einzigste die ich so richtig kann!
 
QUOTE (kekskruemel @ Mo 1.5.2006, 14:35)[...] 1) ich habe eine Anmeldung auf meiner Internetseite programmiert.
Ich möchte nun, dass der User eine Email automatisch bekommt! Wie mache ich das? [...]

In PHP gibt es für den Mail-Versand zwei Möglichkeiten, entweder es wird die mail-Funktion [1] verwendet oder man steuert den SMTP-Server direkt über Sockets [2] an (oder nimmt dazu die PEAR Mail-Klasse, oder wenn man auf eine etwas tiefere Ebene arbeiten möchte, die Net-SMTP-Klasse [3]).



MfG Sascha Ahlers
 
danke dir erst einmal. Ich habe unter den Links erst einmal etwas gefunden, was ich versucht habe einzubauen!

Leider möchte es nicht funktionieren:

Folgendes wird bei der Anmeldung ausgeführt, nachdem der User seine Email ($email) und Nickname im Formular gewählt hat und auf Senden geht

CODE
<?php
if($action=="senden")
{

$error = 0;
if($_POST['Name'] == "") $error = 1;
if($_POST['email'] == "") $error = 1;

if($error == 0)
{
include ($_SERVER['DOCUMENT_ROOT']."/inc/verbind.inc.php");

$eintrag="INSERT INTO user (Name, email)
VALUES
('$Name', '$email')";
if (mysql_query("$eintrag")==false)
{
echo "Dieser Name existiert schon! Bitte wählen Sie einen anderen Nickname aus!<br><br>";
}
else
{
// mehrere Empfänger
$empfaenger = '$email';

// Betreff
$betreff = 'Anmeldung bei IchBinBesser.de';

// Nachricht
$nachricht = '
<html>
<head>
<title>Du hast dich bei IchBinBesser.de angemeldet!</title>
</head>
<body>
<p>Damit besitzt du nun deinen eigenen Link:</p>
<p>www.ichbinbesser.de/blabla.php?Name=$Name</p>

<p>blbabla!</p>
</body>
</html>
';

// 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";
// zusätzliche Header
$header .= 'To: $Name <$email>' . "\r\n";
$header .= 'From: IchBinBesser <webmaster@ichbinbesser.de>' . "\r\n";


// verschicke die E-Mail
mail($empfaenger, $betreff, $nachricht, $header);

echo("<p>Deine Anmeldung war erfolgreich! Du erhälst nun eine Email an $email mit deiner persönlichen URL!</p>\n");



}
}
else
{
echo "<font color=red><b>Fehler in den Eingaben!<br />";
echo "Bitte fülle alle Felder aus</b><br></a></font>";
}
}
?>
 
Hat niemand eine Idee was ich falsch programmiert habe?
Kann es sein, dass es daran liegt, dass ich die EMpfangsmailadresse aus einer Variable lesen will?

 
Im dem Script werden des öfteren Singel Quotes verwendet, obwohl vermutlich die Variable geparst werden soll. Bitte einmal PHP-Grundlagen lesen, da dieser Fehler des öfters im Programm auftritt:

PHP: Sprachreferenz → Typen → String / Zeichenketten


Eine E-Mail an "$email" wird auch schwer zustellen zu sein, da hier sich um keine RFC-komforme E-Mail-Adresse handelt.
wink.gif
Also entweder bei einigen Übergaben die Anführungzeichen ganz weg lassen, entsprechend die Zeichenketten zusammensetzen oder Double Quotes (langsamer) verwenden.



MfG Sascha Ahlers
 
Zurück
Oben