• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Registrierung durch Admin freischalten

darthkue

Neues Mitglied
Hey Leute,

ich habe folgendes Problem und zwar möchte ich bei mir auf der Homepage ein Memberbereich einrichten. Das hat soweit auch ganz gut funktioniert, nur ist das problem, dass sich jeder der möchte registrieren kann und sich dann per link, den er mit einer Mail bekommt aktivieren kann. Ich möchte gerne dass der Admin die Mail bekommt und der so die einzelnen User freischalten kann. Ich habe hier den Code der register.php. was muss ich jetzt ändern damit die email an eine vorgeschriebene Mailadresse geht und nicht an die des Users?!

regsiter.php
Code:
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Admin-Script | Registrieren</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="publisher" content= "Philipp Seckel">
<meta name="robots" content= "INDEX,FOLLOW">
<meta name="author" content="Philipp Seckel">
<link href="css/style.css" type="text/css" rel="stylesheet">
</head>
<body>
    <div id="main" align="center">
    <?php
    include 'config.php';

    // Wenn Formular abgeschickt
    if($_GET['go'] == "register")
        {
        $nick = strtolower($_POST['nick']);
        $nick_exists = false;
        $sa_exists = false;
        $mail_exists = false;
        // Setze Sessions für ggf. Korrektur
        $_SESSION['nick'] = $_POST['nick'];
        $_SESSION['mail'] = $_POST['mail'];
        
        // Pürfe, ob Nick bereits vergeben
        $sql = "SELECT id,nick,mail FROM user";
        $result = mysql_query($sql);
        while($row = mysql_fetch_object($result))
            {
            if($row->mail == $_POST['mail'])
                $mail_exists = true;
            if($row->nick == $nick)
                $nick_exists = true;
            if($row->id == 1)
                $sa_exists = true;
            }
        
        // Wenn nicht, dann
        if(!$nick_exists)
            // prüfe, ob Mail schon verwendet
            if(!$mail_exists)
                // Prüfe, ob kein Feld leer
                if($_POST['nick'] != "" && $_POST['mail'] != "" && $_POST['pass'] != "")
                    //Mail-Adresse prüfen
                    if(ereg("@",$_POST['mail']) && ereg(".",$_POST['mail']))
                        // und beide Passwörter übereinstimmen
                        if($_POST['pass'] == $_POST['pass2'])
                            if($_POST['code'] == $_SESSION['captcha_code'])
                                // Dann registrieren
                                {
                                $pass = md5($_POST['pass']);
                                $mail = $_POST['mail'];
                                if(!$nick_exists)
                                    if($sa_exists)
                                        {
                                        if(_regmail)
                                            $sql = "INSERT INTO user (nick,mail,pass,is_admin,activated) VALUES ('$nick', '$mail', '$pass', 0, 0)";
                                        else $sql = "INSERT INTO user (nick,mail,pass,is_admin,activated) VALUES ('$nick', '$mail', '$pass', 0, 1)";
                                        $einschub = "als User";
                                        }
                                        else 
                                        {
                                        $sql = "INSERT INTO user (nick,mail,pass,is_admin,activated) VALUES ('$nick', '$mail', '$pass', 1, 1)";
                                        $einschub = "als Administrator";
                                        }
                                if(mysql_query($sql))
                                    {
                                    echo "Sie wurden erfolgreich $einschub registriert.";
                                    if($einschub == "als User")
                                        {
                                        if(_regmail)
                                            {
                                        $code = md5($pass);
                                        echo "<br><br>Es wurde eine Mail mit einem Aktivierungslink an $mail verschickt.<br>
                                            Bitte klicken Sie auf diesen Link, um Ihren Account zu aktivieren!";
                                        // Bestätigungsmail schicken
                                        $betreff = "Erfolgreich bei "._tld." registriert!";
                                        $from = "From: "._tld." <noreply@"._tld.">\n";
                                        $from .= "Reply-To: chip@"._tld."\n";
                                        $from .= "Content-Type: text/html\n";
                                        $text = "Sie haben sich erfolgreich registriert. Bitte klicken sie auf den Link, um Ihre 
                                            Registrierung abzuschließen:<br><br>
                                                <a href='"._webadr."?activate=$code'>"._webadr."?activate=$code</a>";
                                        mail($mail, $betreff, $text, $from);
                                            }
                                        else echo "<br>Sie Können sicht jetzt einloggen.";
                                        }
                                        echo "<br>
                                            <a href='index.php'>Startseite</a>";
                                    unset($_SESSION['nick']);
                                    unset($_SESSION['mail']);
                                    }                                    
                                    else echo "Die Registrierung konnte nicht abgeschlossen werden.";
                                }
                            // Ansonsten entsprechenden Fehler ausgeben.
                            else echo "Der Sicherheitscode ist falsch! <a href='register.php'>Zurück</a>";
                        else echo "Die Passwörter stimmen nicht überein! <a href='register.php'>Zurück</a>";
                    else echo "Die eingegebene Mail-Adresse ist nicht gültig! <a href='register.php'>Zurück</a>";
                else echo "Es fehlen erforderliche Angaben! <a href='register.php'>Zurück</a>";
            else echo "Es ist bereits ein User mit dieser E-Mail-Adresse registriert! <a href='register.php'>Zurück</a>";
        else echo "Der Benutzername ist bereits vergeben. Bitte einen anderen wählen! <a href='register.php'>Zurück</a>";
        }
    else
        {
        $val_nick = $_SESSION['nick'];
        $val_mail = $_SESSION['mail'];
        echo
        "<form action='$phpself?go=register' method='POST'>
            <table>
                <tr><td>Username:</td><td><input type='text' name='nick' value='$val_nick'></td></tr>
                <tr><td>E-Mail:</td><td><input type='text' name='mail' value='$val_mail'></td></tr>
                <tr><td>Passwort:</td><td><input type='password' name='pass'></td></tr>
                <tr><td>Passwort wiederholen:</td><td><input type='password' name='pass2'></td></tr>
                <tr><td><img src='captcha.php' alt='code'></td><td><input type='text' name='code' maxlength='2' size='1'></td></tr>
                <tr><td></td><td><a href='../index.php'><button type='button'>Abbrechen</button></a><br><input type='submit' value='Registrieren'></td></tr>
            </table>";
            if(_regmail) echo "Sie bekommen nach erfolgreicher Registrierung eine Mail mit einem Aktivierungslink zugesendet!";
        echo "</form>";
        }
    mysql_close($connection);
    ?>
    </div>
    <div id="footer"><table><tr><td align="left">Erstellt: Philipp Seckel <a href="http://www.philipp-s.de?partner=4">www.philipp-s.de</a></td><td align="right">
        <a href="http://validator.w3.org"><img
        src="http://www.w3.org/Icons/valid-html401-blue"
        alt="Valid HTML 4.01 Transitional" width="88" height="31"
        border="0"></a></td></tr></table></div>
</html>
Ich hoffe ihr könnt mir weiterhelfen!

Gruß darthkue
 
Naja das klappt nicht ganz denn dann steht bei der Userliste meine Mailadresse drin, es soll aber die vom user drinstehen
 
Ich dachte, Du willst die Mail an Dich (Admin) schicken. $mail wird von der Funktion mail() als Mailempfänger ausgelesen.
Dann übergib halt als 1. Parameter statt $mail Deine Adresse. $mail sollte dann wahrscheinlich irgendwo im Text der Mail stehen, damit Du das noch einem User zuordnen kannst.
 
Zurück
Oben