E-mail aktivierung funktioniert nicht:

dragon90

Erfahrenes Mitglied
auswertung.php
PHP:
<?php 
echo "<center>";
if (isset ($Nickname) && $Kennwort !="" && $Email !="") {
$benutzer[0]["Nickname"] ="$Nickname"; 
$benutzer[0]["Kennwort"] = "$Kennwort"; 
$benutzer[0]["Nachname"] = "$Nachname"; 
$benutzer[0]["Vorname"] = "$Vorname"; 
$benutzer[0]["Email"] = "$Email";
$connectionid  = mysql_connect ("localhost", "....", "....."); 
if (!mysql_select_db ("thapate", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 
$absender = "dragon90@web.de";
$betreff = "willkommen";
$botschaft = 'ihr aktivierungslink lautet http://thapate.th.funpic.de/aktivierung.php?$benutzer[0]["Kennwort"]'; 
while (list ($key, $value) = each ($benutzer)) 
{ 
  $sql = "INSERT INTO ".
    "benutzerdaten (Nickname, Kennwort, Nachname, Vorname, Email) ".
  "VALUES ('".$value["Nickname"]."', '".
                       md5 ($value["Kennwort"])."', '".
                       $value["Nachname"]."', '".
                       $value["Vorname"]."' , '".
                       $value["Email"]."')"; 
$email = $value["Email"];
$nickname = $value["Nickname"];
$kennwort = md5 ($value["Kennwort"]);
$link = 'http://thapate.th.funpic.de/aktivierung.php?code="$nickname"&passwort="$kennwort"';
$link .= " um ihren nick zu aktivieren klicken sie ";
 mysql_query ($sql); 

  if (mysql_affected_rows ($connectionid) > 0 && mail($email, $betreff, $link, "From: $absender")) 
  { 
    echo "Benutzer erfolgreich angelegt.<br>\n";
	 } 
  else 
  { 
   echo "Fehler beim Anlegen der Benutzer.<br>\n"; 
  } 
} 
echo "</center>";
}
else {
echo "Bitte füllen sie alle felder aus!";
}
?>

aktivierung.php
PHP:
$connID = mysql_connect ("$servername", "$dbusername", "$dbpassword");
mysql_select_db ("$dbname") OR die("Verbindung zur Datenbank fehlgeschlagen");
$sql = "UPDATE benutzerdaten SET aktiviert='ja' WHERE Nickname='".$code."' Kennwort='".$kennwort."'";
if (mysql_query("UPDATE benutzerdaten SET aktiviert='ja' WHERE Nickname='".$code."' Kennwort='".$kennwort."'"))
{
echo "benutzer aktiviert";
}
else {
echo "ein fehler ist aufgetreten";
}

Wo kann der fehler liegen?
ich bekomme eine email die so aussieht:
http://thapate.th.funpic.de/aktivierung.php?code="$nickname"&passwort="$kennwort" um ihren nick zu aktivieren klicken sie.
Kann mir bitte jemand helfen?
Danke im Voraus.
 
Die Variablen in diesem String werden nicht interpretiert:
PHP:
$link='http://thapate.th.funpic.de/aktivierung.php?code="$nickname"&passwort="$kennwort"';
Mach es entweder so:
PHP:
$link='http://thapate.th.funpic.de/aktivierung.php?code='.$nickname.'&passwort='.$kennwort;
oder so:
PHP:
$link="http://thapate.th.funpic.de/aktivierung.php?code=$nickname&passwort=$kennwort";
Dann sollte es gehen.

Ich wuerde die erste Variante vorziehen.
 
Ich frag mich gerade was das hier soll:
PHP:
$sql = "UPDATE benutzerdaten SET aktiviert='ja' WHERE Nickname='".$code."' Kennwort='".$kennwort."'";
if (mysql_query("UPDATE benutzerdaten SET aktiviert='ja' WHERE Nickname='".$code."' Kennwort='".$kennwort."'"))
Das sieht mir irgendwie so aus als sollte das so aussehen:
PHP:
$sql = "UPDATE benutzerdaten SET aktiviert='ja' WHERE Nickname='".$code."' Kennwort='".$kennwort."'";
if (mysql_query($sql))
Und das SQL-Statement muesste so aussehen:
PHP:
$sql = "UPDATE benutzerdaten SET aktiviert='ja' WHERE Nickname='".$code."' AND Kennwort='".$kennwort."'";
Man beachte das geschickt platzierte AND. ;)
 
Zurück