mysql-account-toevoegen

Gesponsorde koppelingen

PHP script bestanden

  1. mysql-account-toevoegen

« Lees de omschrijving en reacties

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
<?php
    ini_set('display_errors', 'On');
    error_reporting(E_ALL);
    
    $host = '127.0.0.1'; //MySQL host (standaard 'localhost' of '127.0.0.1'
    $rootaccount = 'root'; //een account met administrator rechten
    $rootpassword = '***'; //het wachtwoord van bovenstaand account
    
    //--------------------------------------------

    
    $password = rand(100000, 999999);
    
    function
check_connect($username, $database) //Functie om te kijken of we met de nieuwe user in kunnen loggen in de database
    {
        global $password;
        global $host;
        
        if(mysql_connect($host, $username, $password))
        {

            if(mysql_select_db($database))
            {

                return TRUE;
            }

            else
            {
                return FALSE;
            }
        }

        else
        {
            return FALSE;
        }
    }
    
    function
check_user($username)
    {

        $sql = mysql_query("SELECT Host FROM user WHERE User = '".$username."'");
        
        if(mysql_num_rows($sql) == 1)
        {

            return TRUE;
        }

        else
        {
            return FALSE;
        }
    }
    
    function
return_error($errorno, $error, $melding) //functie die de errors en errornummers in een leuke string zet
    {
        return $melding.'<br />
               errornummer: '
.$errorno.'<br />
               error: '
.$error.'<br />
               <br />'
;
    }
    
    function
nieuwe_gebruiker($username, $databasename) //hoofdfunctie om de nieuwe gebruiker aan te maken, de nieuwe database aan te maken en de database aan de user te koppelen
    {
        global $password;
        global $host;
        global $rootaccount;
        global $rootpassword;
        
        if(!@mysql_connect($host, $rootaccount, $rootpassword))
        {

            return 'Database connectie failed: '.mysql_error();
        }

        elseif(!@mysql_select_db('mysql')) //MySQL is de database waarin de users staan
        {
            return 'Database selectie failed: '.mysql_error();
        }

        else
        {
            $return = NULL;
            
            $sql1 = "GRANT USAGE ON *.* TO '".$username."'@'localhost' IDENTIFIED BY '".$password."'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0";
            $sql2 = "CREATE DATABASE IF NOT EXISTS ".$databasename;
            $sql3 = "GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER ON ".$databasename." . * TO '".$username."'@'localhost'";
            
            if(check_user($username))
            {

                $return .= 'De gebruiker bestond al. Het wachtwoord is gereset<br /><br />';
            }

            
            if(!@mysql_query($sql1))
            {

                $return .= return_error(mysql_errno(), mysql_error(), 'De gebruiker kon niet worden toegevoegd');    
            }

            
            if(!@mysql_query($sql2))
            {

                $return .= return_error(mysql_errno(), mysql_error(), 'De database kon niet worden aangemaakt');    
            }


            if(!@mysql_query($sql3))
            {

                $return .= return_error(mysql_errno(), mysql_error(), 'De rechten konden niet aan de gebruiker worden gegeven');    
            }

            
            if(!@check_connect($username, $databasename))
            {

                $return .= return_error(mysql_errno(), mysql_error(), 'Kan geen verbdinding maken met de database');
            }

            
            if(is_null($return))
            {

                $return = 'De gebruiker is succesvol aangemaakt<br /><br />';
            }
        }

        
        $return .= '<b>Samenvatting:</b><br />
                    <br />
                    Database: '
.$databasename.'<br />
                    Inlognaam: '
.$username.'<br />
                    Wachtwoord: '
.$password;
                
        
        return $return;
    }

?>


Geef hier het leerlingnummer op. Als deze leerling nog geen database account heeft, wordt er een database en een account aangemaakt. Als deze leerling al wel een account heeft wordt er een nieuw wachtwoord aangemaakt.<br />
<br />    

<?php
    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {

        if(empty($_POST['leerlingnummer']))
        {

            echo 'Geef het leerlingnummer op';
        }

        elseif(!is_numeric($_POST['leerlingnummer']))
        {

            echo 'Het leerlingnummer moet nummerriek zijn';
        }

        elseif(strlen($_POST['leerlingnummer']) != 4)
        {

            echo 'Het leerlingnummer moet 4 cijfers lang zijn';
        }

        else
        {
            echo nieuwe_gebruiker($_POST['leerlingnummer'], $_POST['leerlingnummer'].'db');
        }

        
        echo '<br /><br />';
    }

?>

<form method="POST" action="#">
    <label for="leerlingnummer">Leerlingnummer: </label>
        <input type="text" name="leerlingnummer" maxlength="4" size="4"<?php echo isset($_POST['leerlingnummer']) ? ' value="'.$_POST['leerlingnummer'].'"' : '' ?> />
        <input type="submit" name="voegtoe" value="Maak aan!" />
</form>

 
 

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.