1:
2:
<?php
3:
session_start(); // Alltid överst på sidan
4:
5:
include "conn.php"; // Databasanslutningen
6:
7:
if (isset($_POST['submit'])){
8:
9:
$_POST = db_escape($_POST);
10:
11:
// Tag bort eventuella blanksteg i början eller slutet
12:
foreach($_POST as $key => $val){
13:
$_POST[$key] = trim($val);
14:
}
15:
16:
//Kolla efter tomma fält
17:
if (empty($_POST['user']) || empty($_POST['passwd']) ||
18:
empty($_POST['name']) || empty($_POST['email']) || empty($_POST['age'])) {
19:
$reg_error[] = 0;
20:
}
21:
22:
// Kolla om användarnamnet är upptaget
23:
$sql = "SELECT COUNT(*) FROM members WHERE user='{$_POST['user']}'";
24:
$result = mysql_query($sql);
25:
if (mysql_result($result, 0) > 0) {
26:
$reg_error[] = 1;
27:
}
28:
29:
// Kolla om e-post kan tänkas vara ok
30:
if (!preg_match('/^[-A-Za-z0-9_.]+[@][A-Za-z0-9_-]+([.][A-Za-z0-9_-]+)*[.][A-Za-z]{2,6}$/', $_POST['email'])) {
31:
$reg_error[] = 2;
32:
}
33:
34:
// Kolla så att lösenorden stämmer överrens
35:
if ($_POST['passwd'] != $_POST['passwd2']) {
36:
$reg_error[] = 3;
37:
}
38:
39:
if (!preg_match('/^[0-9]+[-][0-9]+[-][0-9]/', $_POST['age'])) {
40:
$reg_error[] = 4;
41:
}
42:
// Inga fel? Spara och logga in samt skicka till välkomstsida
43:
if (!isset($reg_error)) {
44:
$date = date("Y-m-d");
45:
$pass = md5($_POST['passwd']);
46:
47:
$sql = "INSERT INTO members(user, pass, name, email, registrerad, MF, age)
48:
VALUES('{$_POST['user']}', '{$pass}', '{$_POST['name']}', '{$_POST['email']}', '{$date}', '{$_POST['MF']}', '{$_POST['age']}')";
49:
mysql_query($sql);
50:
51:
$_SESSION['sess_id'] = mysql_insert_id();
52:
$_SESSION['sess_user'] = $_POST['user'];
53:
header("Location: welcome.php");
54:
exit;
55:
56:
}
57:
58:
} else {
59:
60:
// Sätt variabler för tomt formulär
61:
for ($i=0; $i<4; $i++) {
62:
$back[$i] = "";
63:
}
64:
65:
}
66:
67:
$error_list[0] = "Alla fält är inte infyllda";
68:
$error_list[1] = "Användarnamnet är upptaget";
69:
$error_list[2] = "Felaktig e-postadress";
70:
$error_list[3] = "Lösenorden stämmer inte överrens";
71:
$error_list[4] = "Födelsedatumet är inkorrekt";
72:
73:
?>
74:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
75:
<html>
76:
<head>
77:
<meta http-equiv="Content-Type"
78:
content="text/html; charset=iso-8859-1">
79:
<title>Registrera dig</title>
80:
</head>
81:
<body>
82:
<h3>Registrera dig</h3>
83:
<?php
84:
if (isset($reg_error)){
85:
86:
echo "Något blev fel:<br>\n";
87:
echo "<ul>\n";
88:
for ($i=0; $i<sizeof($reg_error); $i++) {
89:
echo "<li>{$error_list[$reg_error[$i]]}</li>\n";
90:
}
91:
echo "</ul>\n";
92:
93:
$back[0] = stripslashes($_POST['user']);
94:
$back[2] = stripslashes($_POST['name']);
95:
$back[3] = stripslashes($_POST['email']);
96:
$back[4] = stripslashes($_POST['age']);
97:
98:
}
99:
?>
100:
<form action="register.php" method="post">
101:
<table cellspacing="3">
102:
103:
<tr>
104:
<td>Användarnamn:</td>
105:
<td><input type="text" name="user" value="<?=$back[0] ?>"></td>
106:
</tr>
107:
108:
<tr>
109:
<td>Lösenord:</td>
110:
<td><input type="password" name="passwd" value=""></td>
111:
</tr>
112:
113:
<tr>
114:
<td>Repetera lösenord:</td>
115:
<td><input type="password" name="passwd2" value=""></td>
116:
</tr>
117:
118:
<tr>
119:
<td>Ditt namn:</td>
120:
<td><input type="text" name="name" value="<?=$back[2] ?>"></td>
121:
</tr>
122:
123:
<tr>
124:
<td>E-postadress</td>
125:
<td><input type="text" name="email" value="<?=$back[3] ?>"></td>
126:
</tr>
127:
128:
<tr>
129:
<td>Man/Kvinna</td>
130:
<td><INPUT TYPE="radio" NAME="MF" VALUE="M" CHECKED>Man
131:
<INPUT TYPE="radio" NAME="MF" VALUE="F">Kvinna</td>
132:
</tr>
133:
134:
<tr>
135:
<td>Födelsedatum
136:
</td>
137:
<td><input type="text" size="10" name="age" value="<?=$back[4] ?>"><font color="#808080"> Exempel: 1987-03-27</font>
138:
139:
</td>
140:
</tr>
141:
<tr>
142:
<td colspan="2" align="center">
143:
<input type="submit" name="submit" value="Spara dina uppgifter">
144:
</td>
145:
</tr>
146:
147:
</table>
148:
</form>
149:
150:
</body>
151:
</html>