2 scripts in 1 bouwen??

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gfhgh fhdfhfh

gfhgh fhdfhfh

18/03/2006 16:35:00
Quote Anchor link
hoi ik heb een vraag ik wil een actievatie script in een forumpje verwerken zodat als je een bericht post dat er een e-mailtje word gestuurt om het berichtje te actieveren.
een actievatie scriptje heb ik al (van phphulp.nl)
en een forumpje ook is er iemand die zo aardig is dat je ze in elkaar propt mij lukt het niet ik ben een php beginer en baker niks van dus kan iemand mij helpen??

dit zijn de scripts.

actievatie script:

registreren.php


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?
    // maak de database connectie
    if (!@mysql_select_db("mysql_select_db", @mysql_connect("http://www.members.lycos.nl/marktschuur", "user", "database_pass")))
    {

        echo "Er kon geen connectie worden gemaakt met de database.";
        exit();
    }


    // functie om het e-mail adres te controleren op geldigheid
    // ten eerste of de parameters goed zijn
    // ten tweede of het domein achter het apestaartje bestaat

    function check_email($mail)
    {

        if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
        {

            $email_adres = $mail;
            $email = explode("@", $email_adres);

            if (gethostbyname($email[1]) == $email[1])
                 $valid = "no";
        }

        else
            $valid = "no";

        return $valid;
    }


    // functie om een random key aan te maken
    function makekey($num)
    {

        // genereer het random paswoord
        mt_srand((double)microtime()*1000000);

        // loop totdat het $pass(woord) dezelfde lengte heeft als $num
        while (strlen($pass) <= $num)
        {

            $i = chr(mt_rand (0,255));
            if (eregi("^[a-z0-9]$", $i))
                $pass = $pass.$i;
        }


        // return het random paswoord
        return ($pass);
    }


    // defineer de tabel in een variabele
    $table = "voorbeeld_gebruikers";

    // defineer het activatie URL adres
    // BEGIN DE ACTIVATIE URL MET HTTP://!
    // EINDIG DE ACTIVATIE URL --ZONDER-- SLASH (/)

    $activatie_url = "http://www.members.lycos.nl/marktschuur/aucuant%20met%20actieveer";

    // bekijk of de username al niet in gebruik is
    if ($HTTP_POST_VARS["submit"] && $HTTP_POST_VARS["login"] && $HTTP_POST_VARS["pass"] && $HTTP_POST_VARS["email"] && !check_email($HTTP_POST_VARS["email"]))
    {

        $sql = "SELECT id FROM $table WHERE login = '$HTTP_POST_VARS[login]'";
        $res = mysql_query($sql);

        if (mysql_num_rows($res) >= 1)
            $usrname = 1;
    }


    // bekijk of alle velden zijn ingevuld
    if ($usrname || !$HTTP_POST_VARS["submit"] || !$HTTP_POST_VARS["login"] || !$HTTP_POST_VARS["pass"] || !$HTTP_POST_VARS["email"] || check_email($HTTP_POST_VARS["email"]))
    {

        if ($HTTP_POST_VARS["submit"])
            echo "<p><b>U heeft niet alle velden ingevuld, uw e-mail adres is niet juist of de login naam is al in gebruik.</b></p>";

        echo "
        <html>
        <head>
        <title>Registreren</title>
        </head>
        <body>

        <form method=\"post\" action=\"$PHP_SELF\">
        Login naam:<br>
        <input type=\"text\" name=\"login\" size=\"20\" maxlength=\"20\"><br>
        Wachtwoord:<br>
        <input type=\"text\" name=\"pass\" size=\"20\" maxlength=\"20\"><br>
        E-mail adres:<br>
        <input type=\"text\" name=\"email\" size=\"20\"><br>
        <input type=\"submit\" name=\"submit\" value=\"Registreren\">
        </form>

        </body>
        </html>"
;
    }

    // je weet nu dat alle velden ingevuld zijn
    else
    {

        $insert_login = addslashes($HTTP_POST_VARS[login]);
        $insert_pass = md5($HTTP_POST_VARS[pass]);
        $key = makekey(10);

        // zet de gegevens in de database
        $sql = "INSERT INTO $table (id, login, pass, email, activeer) VALUES ('', '$insert_login', '$insert_pass', '$HTTP_POST_VARS[email]', '$key')";
        $res = mysql_query($sql);

        // kijk of het invoegen in de database goed ging
        if ($res)
        {

            $aan = $HTTP_POST_VARS[email];
            $subject = "plaats atvertentie activatie";
            $van = "Marktschuur";

            $bericht .= "Beste $HTTP_POST_VARS[login],\n\n";

            $bericht .= "Uw account is aangemaakt.\n\n";
                        $bericht .= "Het moet alleen nog even geactiveerd worden.\n\n";

            $bericht .= "Uw login naam: $HTTP_POST_VARS[login]\n\n";
            $bericht .= "Uw wachtwoord: $HTTP_POST_VARS[pass]\n\n";

            $bericht .= "Uw wachtwoord is encrypted opgeslagen en kan dus\n\n";
            $bericht .= "niet worden opgevragen. Schrijft u uw wachtwoord\n\n";
            $bericht .= "daarom op.\n\n";

            $bericht .= "Activatie URL:\n\n";
            $bericht .= "$activatie_url/activeer.php?email=$aan&key=$key

            Bedankt voor het registreren."
;


            // kijk of de e-mail verstuurd kan worden
            if (mail($aan, $subject, $bericht, "From: $van"))
            {

                echo "<p>Uw account is aangemaakt maar u kunt nog niet inloggen.</p>";

                echo "<p>Er is een bevestigings e-mail gestuurd met een URL adres. U moet uw ";
                echo "account eerst activeren voordat u kunt inloggen.</p>";
            }

            // als het e-mail niet verstuurd kan worden, geef dan een error bericht
            else
            {
                echo "<p>Uw account is aangemaakt maar er kon geen e-mail verstuurd worden.</p>";

                echo "<p>Probeert u het opnieuw. Krijgt u dan nog steeds niet de melding ";
                echo "dat er een activatie e-mail is gestuurd, neemt u dan contact met ons op.</p>";
            }
        }

        // als het niet goed ging
        else
        {
            echo "<p>Uw account is niet aangemaakt.</p>";

            echo "<p>Probeer het a.u.b. nogmaals. Werkt het vervolgens weer niet, neemt dan contact op.</p>";
        }
    }

?>




activeer.php



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?
    // maak de database connectie
    if (!@mysql_select_db("mysql_select_db", @mysql_connect("http://www.members.lycos.nl/marktschuur", "User", "database_pass")))
    {

        echo "Er kon geen connectie worden gemaakt met de database.";
        exit();
    }


    // defineer de tabel in een variabele
    $table = "voorbeeld_gebruikers";

    // bekijk of de key en het email opgegeven zijn
    if ($HTTP_GET_VARS["key"] && $HTTP_GET_VARS["email"])
    {

        // match de gegevens uit de URL, met de gegevens in de database
        $sql = "SELECT id,activeer FROM $table WHERE activeer = '$HTTP_GET_VARS[key]' AND email = '$HTTP_GET_VARS[email]'";
        $res = mysql_query($sql);

        // kijk of er een match is
        if (mysql_num_rows($res) >= 1)
        {

            $row = mysql_fetch_array($res);

            // bekijk of het al eerder geactiveerd is
            if ($row[activeer])
            {

                // reset de key
                $sql = "UPDATE $table SET activeer = NULL WHERE activeer = '$HTTP_GET_VARS[key]' AND email = '$HTTP_GET_VARS[email]'";
                $res = mysql_query($sql);

                if ($res)
                    echo "<p>Uw account is geactiveerd. U kunt nu <a href=\"inloggen.php\">inloggen</a>.</p>";
                else
                    echo "<p>Er is iets mis gegaan. U kunt niet inloggen. Probeert u het opnieuw.</p>";
            }

            // geef melding dat het account al eerder is geactiveerd
            else
                echo "<p>Het account is al eerder geactiveerd.</p><p><a href=\"inloggen.php\">inloggen</a></p>";
        }

        // geef melding dat het account niet bestaat
        else
            echo "<p>Het account bestaat niet of is al eerder geactiveerd.</p><p><a href=\"inloggen.php\">inloggen</a></p>";
    }

    // geef melding dat de gegevens niet correct zijn
    else
        echo "<p>U heeft niet de juiste gegevens om dit account te activeren.</p>";
?>





inloggen.php


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?
    session_start();

    // maak de database connectie
    if (!@mysql_select_db("mysql_select_db", @mysql_connect("http://www.members.lycos.nl/marktschuur", "user", "database_pass")))
    {

        echo "Er kon geen connectie worden gemaakt met de database.";
        exit();
    }


    // defineer de tabel in een variabele
    $table = "voorbeeld_gebruikers";

    // bekijk of de gene al is ingelogd
    if ($HTTP_SESSION_VARS["ingelogd"] && !$loguit)
    {

        echo "<p>U bent ingelogd. U kunt nu nog niks ;).</p>";

        echo "<p><a href=\"$PHP_SELF?loguit=1\">uitloggen</a></p>";
    }

    // uitloggen
    elseif ($HTTP_GET_VARS["loguit"])
    {

        session_unregister(ingelogd);

        echo "<p>U bent uitgelogd.</p>";

        echo "<p><a href=\"$PHP_SELF\">inloggen</a></p>";
    }

    // bekijk of het formulier verzonden is en de gegevens juist zijn
    elseif ($HTTP_POST_VARS["submit"] && $HTTP_POST_VARS["login"] && $HTTP_POST_VARS["pass"])
    {

        // encrypt pass om te matchen met encrypte pass in de database
        $passwd = md5($HTTP_POST_VARS[pass]);

        // selecteer login/pass uit de database en match ze met ingevoerde gegevens
        $sql = "SELECT id FROM $table WHERE login = '$HTTP_POST_VARS[login]' AND pass = '$passwd' AND activeer IS NULL";
        $res = mysql_query($sql);

        // bekijk of de gegevens juist zijn
        if (mysql_num_rows($res) >= 1)
        {

            // registreer sessie (of cookie)
            $ingelogd = mysql_result($res, 0);
            session_register(ingelogd);
            // setcookie("ingelogd", "$ingelogd", time() + 1 * 86400);

            echo "<p>U bent succesvol ingelogd.</p>";

            echo "<p>Ga <a href=\"$PHP_SELF\">verder</a>.</p>";

            echo "<p><a href=\"$PHP_SELF?loguit=1\">uitloggen</a></p>";
        }

        // zo niet, geef foutmelding
        else
        {
            echo "<p>U heeft een ongeldige login naam of wachtwoord ingevuld.</p>";

            echo "<p>Ook kan het zijn dat uw account nog niet is geactiveerd.</p>";

            echo "<p>Probeert u het <a href=\"$PHP_SELF\">opnieuw</a>.</p>";
        }
    }

    // toon formulier
    else
    {
        echo "<form method=\"post\" action=\"$PHP_SELF\">";
        echo "Login naam:<br>";
        echo "<input type=\"text\" name=\"login\" size=\"20\" maxlength=\"20\"><br>";
        echo "Wachtwoord:<br>";
        echo "<input type=\"password\" name=\"pass\" size=\"20\"><br>";
        echo "<input type=\"submit\" name=\"submit\" value=\"inloggen\">";
        echo "</form>";
    }

?>





Forum scriptje:

Te downloaden op: http://www.webmensen.nl/scripts/downloaden/webmensennl-phpmysql-forumsysteem.zip

Ps: Als er imand is die het wil doen graag de inlog functie er helemaal uithalen.

Alvast bedankt!!!!!
Gewijzigd op 18/03/2006 17:19:00 door Gfhgh fhdfhfh
 
PHP hulp

PHP hulp

21/11/2024 22:06:34
 
Eris -

Eris -

18/03/2006 16:46:00
Quote Anchor link
Ramon,

Hellaas voor jouw werken wij hier niet zo. We helpen mensen met vragen maar we gaan hier geen scripts her schrijven
 
Gfhgh fhdfhfh

gfhgh fhdfhfh

18/03/2006 16:47:00
Quote Anchor link
okee sorry
 
Han eev

Han eev

18/03/2006 17:11:00
Quote Anchor link
Wel 1 tip... Je hebt de bestanden plak die in 1 bestand en laat alle linken naar andere bestanden naar zichzelf verwijzen... dan ben je al een heel eind
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.