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