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