bepaalde regel zoeken in mysql
mysql
-------------------------------------------
|ID | username | password | email |
--------------------------------------------------
| 1 | bla | blablsa | [email protected]|
| 2 | bla1 | blablsa1 | [email protected]|
| 3 | bla2 | blablsa2 | [email protected]|
---------------------------------------------------
als je op pass vergeten drukt moet er een mail verzonden worden ( dat lukt me maar ) als je je mail invult moet ook de juiste ww en gebruikersnaam gezocht worden.
dus bij
[email protected] moet in dat zelfde mailtje bla1 en blablsa1 verzonden worden.
alleen weet ik niet hoe ik dat uit de database kan halen door middel van php.
kan iemand me hier mee helpen.
ik heb me al de heledag fus gezocht maar hbe niks bruikbaars gevonden..
alvast reuzen bedankt.
Sla jij het password als plain text op ?
WTF?
Hoezo gevaarlijk doen.
P.s. Misschien handig om je wachtwoorden te hashen.
Code (php)
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<?php
/*Gebruik conn.php voor de database connectie.*/
require_once 'conn.php';
function checkmail($mail)
{
// explode het e-mail adres op een @
$email_host = explode("@", $mail);
// pak alles na de @
$email_host = $email_host['1'];
// zet een var met de (eventuele) DNS van de domein
$email_resolved = gethostbyname($email_host);
// kijk of er een DNS aan zit en of alles voor en na het e-mail adres klopt
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if ($email_resolved != $email_host && preg_match($pattern,$mail))
$valid = 1;
// wanneer het geldig is, is $valid = 1, zo niet, dan geeft hij geen result (NULL)
return $valid;
}
/*Kijk of de formulier is verzonden, zoniet dan krijg je de foutmelding.*/
if (!isset($_REQUEST['action'])) {
die ('er is niet geprobeert in te loggen.<br />druk op de back knop om in te loggen.');
} else {
switch ($_REQUEST['action']) {
case 'Register':
/*Voor het geval dat mensen de volgende link invoeren
*http://www.mijnwebsite.nl/transact-user.php?action=Register
*krijgen ze als nog de foutmelding.*/
if (!isset($_REQUEST['action'])) {
header ('refresh: 3; url=register.php');
die ('login via de normale manier');
} else {
/*Alles naar makkelijke variabelen omzetten.*/
$email = $_POST['email'];
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2 = $_POST['check_password'];
/*Check of geen enkele variabelen leeg is, is er wel een leeg.
*Dan krijg je een foutmelding.*/
if (empty($user) || empty($pass) || empty($pass2) || empty($email)) {
header ('refresh: 3; url=register.php');
die ('probeer het nog eens');
/*Check of ingevoerde wachtwoorden hetzelfde zijn.*/
} elseif ($pass != $pass2) {
header ('refresh: 3; url=register.php');
die ('Paswoord is niet hetzelfde');
/*Als magic_quotes uitstaat zet dan addslashes bij de variabelen neer.*/
} elseif (!get_magic_quotes_gpc()) {
$user = addslashes($user);
$pass = addslashes($pass);
}
/* controleer de email adres*/
$mail_ok = checkmail($email);
if ( $mail_ok == 0 )
{
echo 'je mail klopt niet';
}
/*Codeer de variabelen.*/
$pass = addslashes(sha1($pass));
$user = addslashes(base64_encode($user));
/*Database contacten wordt verder op uitgelegt.*/
$check_sql = "SELECT username " .
"FROM users " .
"WHERE username='$user'";
$sql = "INSERT INTO users (username, password, email) " .
"VALUES ('" . $user . "','" . $pass . "','" . $email . "')";
$check_result = mysql_query($check_sql, $conn)
or die ('Could not check up user $account; ' . mysql_error());
/*De eerste database contact wordt hier gebruikt om te checken of jou
*ingevoerde username nog niet bestaat. Bestaat het wel foutmelding.*/
if ((mysql_fetch_array($check_result)) != 0 ) {
header ('refresh: 3; url=register.php');
die ('gebruikersnaam bestaat al');
}
/*Alles is gedaan en goedbevonden, dus voeg de account maar toe.*/
mysql_query($sql, $conn)
or die ('kan geen profiel aanmaken; ' . mysql_error());
$bo = base64_decode($user);
// map aanmaken en een index file
mkdir($bo, 0777);
$geschreven = file_put_contents(''.$bo.'/index.php','');
if($geschreven!==FALSE) {
$toegevoegd=file_put_contents('bestand.txt',"\nDit is toegevoegde tekst",FILE_APPEND);
} else {
echo "Er ging iets mis!";
}
header ('refresh: 3; url='.$bo.'/index.php');
break;
}
case 'Login':
/*Voor het geval dat mensen de volgende link invoeren
*http://www.mijnwebsite.nl/transact-user.php?action=Login
*krijgen ze als nog de foutmelding.*/
if (!isset($_REQUEST['action'])) {
header ('refresh: 3; url=index.php');
die ('je moet wel op de normale weg inloggen.');
} else {
/*Alles naar makkelijke variabelen omzetten.*/
$user = $_POST['username'];
$pass = $_POST['password'];
/*Check of geen enkele variabelen leeg is, is er wel een leeg.
*Dan krijg je een foutmelding.*/
if (empty($user) || empty($pass)) {
header ('refresh: 3; url=index.php');
die ('error probeer het opnieuw');
/*Als magic_quotes uitstaat zet dan addslashes bij de variabelen neer.*/
} elseif (!get_magic_quotes_gpc()) {
$user = addslashes($user);
$pass = addslashes($pass);
}
/*Codeer de variabelen.*/
$pass = addslashes(sha1($pass));
$user = addslashes(base64_encode($user));
/*Table contact is hier gemaakt en checkt of de variabelen
*overeenkomen met die van de table.*/
$sql = "SELECT id, username, password, email " .
"FROM users " .
"WHERE username='$user' " .
"AND password='$pass'";
"AND email='$email'";
$result = mysql_query($sql, $conn)
or die ('error probeer het opnieuw; ' . mysql_error());
/*Als het in de database niet overeenkwam wordt er hier een fout gemeldt.*/
if (($row = mysql_fetch_array($result)) == 0) {
header ('refresh: 3; url=index.php');
die ('login informatie klopt niet');
} else {
/*Alles klopte dus hier begint de sessie en wordt alles van de slashes afgeholpen.*/
session_start();
$_SESSION['id'] = $row['id'];
$_SESSION['username'] = stripslashes($row['username']);
$_SESSION['password'] = stripslashes($row['password']);
}
header ('refresh: 3; url='.$user.'/index.php');
echo ('Account name ' . base64_decode($_SESSION['username']) . ' has been logged in');
break;
}
case 'Logout':
/*Stop sessie en vernietig het.*/
session_start();
session_unset();
session_destroy();
header ('refresh: 3; url=index.php');
echo ('Logout was a succes');
break;
}
}
?>
/*Gebruik conn.php voor de database connectie.*/
require_once 'conn.php';
function checkmail($mail)
{
// explode het e-mail adres op een @
$email_host = explode("@", $mail);
// pak alles na de @
$email_host = $email_host['1'];
// zet een var met de (eventuele) DNS van de domein
$email_resolved = gethostbyname($email_host);
// kijk of er een DNS aan zit en of alles voor en na het e-mail adres klopt
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if ($email_resolved != $email_host && preg_match($pattern,$mail))
$valid = 1;
// wanneer het geldig is, is $valid = 1, zo niet, dan geeft hij geen result (NULL)
return $valid;
}
/*Kijk of de formulier is verzonden, zoniet dan krijg je de foutmelding.*/
if (!isset($_REQUEST['action'])) {
die ('er is niet geprobeert in te loggen.<br />druk op de back knop om in te loggen.');
} else {
switch ($_REQUEST['action']) {
case 'Register':
/*Voor het geval dat mensen de volgende link invoeren
*http://www.mijnwebsite.nl/transact-user.php?action=Register
*krijgen ze als nog de foutmelding.*/
if (!isset($_REQUEST['action'])) {
header ('refresh: 3; url=register.php');
die ('login via de normale manier');
} else {
/*Alles naar makkelijke variabelen omzetten.*/
$email = $_POST['email'];
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2 = $_POST['check_password'];
/*Check of geen enkele variabelen leeg is, is er wel een leeg.
*Dan krijg je een foutmelding.*/
if (empty($user) || empty($pass) || empty($pass2) || empty($email)) {
header ('refresh: 3; url=register.php');
die ('probeer het nog eens');
/*Check of ingevoerde wachtwoorden hetzelfde zijn.*/
} elseif ($pass != $pass2) {
header ('refresh: 3; url=register.php');
die ('Paswoord is niet hetzelfde');
/*Als magic_quotes uitstaat zet dan addslashes bij de variabelen neer.*/
} elseif (!get_magic_quotes_gpc()) {
$user = addslashes($user);
$pass = addslashes($pass);
}
/* controleer de email adres*/
$mail_ok = checkmail($email);
if ( $mail_ok == 0 )
{
echo 'je mail klopt niet';
}
/*Codeer de variabelen.*/
$pass = addslashes(sha1($pass));
$user = addslashes(base64_encode($user));
/*Database contacten wordt verder op uitgelegt.*/
$check_sql = "SELECT username " .
"FROM users " .
"WHERE username='$user'";
$sql = "INSERT INTO users (username, password, email) " .
"VALUES ('" . $user . "','" . $pass . "','" . $email . "')";
$check_result = mysql_query($check_sql, $conn)
or die ('Could not check up user $account; ' . mysql_error());
/*De eerste database contact wordt hier gebruikt om te checken of jou
*ingevoerde username nog niet bestaat. Bestaat het wel foutmelding.*/
if ((mysql_fetch_array($check_result)) != 0 ) {
header ('refresh: 3; url=register.php');
die ('gebruikersnaam bestaat al');
}
/*Alles is gedaan en goedbevonden, dus voeg de account maar toe.*/
mysql_query($sql, $conn)
or die ('kan geen profiel aanmaken; ' . mysql_error());
$bo = base64_decode($user);
// map aanmaken en een index file
mkdir($bo, 0777);
$geschreven = file_put_contents(''.$bo.'/index.php','');
if($geschreven!==FALSE) {
$toegevoegd=file_put_contents('bestand.txt',"\nDit is toegevoegde tekst",FILE_APPEND);
} else {
echo "Er ging iets mis!";
}
header ('refresh: 3; url='.$bo.'/index.php');
break;
}
case 'Login':
/*Voor het geval dat mensen de volgende link invoeren
*http://www.mijnwebsite.nl/transact-user.php?action=Login
*krijgen ze als nog de foutmelding.*/
if (!isset($_REQUEST['action'])) {
header ('refresh: 3; url=index.php');
die ('je moet wel op de normale weg inloggen.');
} else {
/*Alles naar makkelijke variabelen omzetten.*/
$user = $_POST['username'];
$pass = $_POST['password'];
/*Check of geen enkele variabelen leeg is, is er wel een leeg.
*Dan krijg je een foutmelding.*/
if (empty($user) || empty($pass)) {
header ('refresh: 3; url=index.php');
die ('error probeer het opnieuw');
/*Als magic_quotes uitstaat zet dan addslashes bij de variabelen neer.*/
} elseif (!get_magic_quotes_gpc()) {
$user = addslashes($user);
$pass = addslashes($pass);
}
/*Codeer de variabelen.*/
$pass = addslashes(sha1($pass));
$user = addslashes(base64_encode($user));
/*Table contact is hier gemaakt en checkt of de variabelen
*overeenkomen met die van de table.*/
$sql = "SELECT id, username, password, email " .
"FROM users " .
"WHERE username='$user' " .
"AND password='$pass'";
"AND email='$email'";
$result = mysql_query($sql, $conn)
or die ('error probeer het opnieuw; ' . mysql_error());
/*Als het in de database niet overeenkwam wordt er hier een fout gemeldt.*/
if (($row = mysql_fetch_array($result)) == 0) {
header ('refresh: 3; url=index.php');
die ('login informatie klopt niet');
} else {
/*Alles klopte dus hier begint de sessie en wordt alles van de slashes afgeholpen.*/
session_start();
$_SESSION['id'] = $row['id'];
$_SESSION['username'] = stripslashes($row['username']);
$_SESSION['password'] = stripslashes($row['password']);
}
header ('refresh: 3; url='.$user.'/index.php');
echo ('Account name ' . base64_decode($_SESSION['username']) . ' has been logged in');
break;
}
case 'Logout':
/*Stop sessie en vernietig het.*/
session_start();
session_unset();
session_destroy();
header ('refresh: 3; url=index.php');
echo ('Logout was a succes');
break;
}
}
?>
heeft misschien iemand een tut over hoe ik datmoet dien want met mysql ben ik nog maar net begonnen:D