Na inloggen data opvragen
Categorieen
-categorie id
-categorie naam
Werkstukken
-werkstuk id
-werkstuk categorie id
-gebruikers id
-werkstuk titel
-geupload datum
Gebruikers
-gebruikerss id
-gebruikersnaam
-wachtwoord
Er is al login systeem en met sessies vraag ik gebruikersgegevens op. Hoe kan ik er voor zorgen dat gebruikers het juiste werkstukken voor zich zien?
Gewijzigd op 10/05/2015 17:47:30 door Johan de wit
Controleren met WHERE in de query of de UserID van de werkstukken gelijk is aan die UserID in je sessie.
Misschien veel te simpel gedacht, maar je kunt in de tabel werkstukken een verwijzing opnemen naar gebruikerss id ???
Een extra veld heb je nodig bij de werkstukken-tabel, waarin je het UserID kan koppelen.
Dus ik moet direct naar tabel werkstukken en daar op id van gebruikers sorteren? Voor inloggen gebruik ik sessies.
Johan de wit op 10/05/2015 17:49:55:
Dus ik moet direct naar tabel werkstukken
Wat bedoel je met "Moet direct"?
Waar zou je anders info vandaan willen halen?
Johan de wit op 10/05/2015 17:49:55:
en daar op id van gebruikers sorteren?
Niet sorteren maar selecteren, want je wilt toch maar van 1 gebruiker opvragen?
Gewijzigd op 10/05/2015 17:58:18 door Obelix Idefix
Inderdaad van 1 gebruiker opvragen.
Toevoeging op 10/05/2015 19:13:16:
Momenteel heb ik dit.
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
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
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT werkstuk_id, werkstuk_naam, werkstuk_datum FROM werkstukken";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Naam</th><th>Datum</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["werkstuk_id"]."</td><td>".$row["werkstuk_naam"]."</td><td>".$row["werkstuk_datum"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT werkstuk_id, werkstuk_naam, werkstuk_datum FROM werkstukken";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Naam</th><th>Datum</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["werkstuk_id"]."</td><td>".$row["werkstuk_naam"]."</td><td>".$row["werkstuk_datum"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
Quote:
Er is al login systeem en met sessies vraag ik gebruikersgegevens op.
Dit kan niet uit het bovenstaande script worden opgemaakt.
De minimale gegevens die je bij zou moeten houden is een user id. Op grond hiervan zou je een query kunnen opbouwen.
Thomas van den Heuvel op 10/05/2015 19:20:46:
De minimale gegevens die je bij zou moeten houden is een user id. Op grond hiervan zou je een query kunnen opbouwen.
Heb je misschien een voorbeeld er van?
Nou kan ik mij bovenstaande script erin plaatsen waar // do stuff staat?
Gewijzigd op 11/05/2015 01:16:41 door johan de wit
Ik zou eerder zeggen: 'erin plaatsen'. Zie de gele commentaarlijnen maar.
Vraag is aangepast.
Johan de wit op 10/05/2015 21:49:06:
Nou kan ik mij bovenstaande script erin plaatsen waar // do stuff staat?
Jep... en die andere gele regel ook.
Gewijzigd op 12/05/2015 15:10:57 door johan de wit
Klopt, de data van sessies staan op de server, en worden in de meeste gevallen gekoppeld met een enkele cookie.
Is het verstandig om cookie in de database te plaatsen?
Nee, blijf gewoon $_SESSION gebruiken.
Na het inloggen krijg ik echo nog steeds te zien.
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
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
<?php
// zorg dat je ergens je sessie start...
if (isset($_SESSION['user_login_status'])) {
$res = $conn->query(
'SELECT *
FROM werkstukken
WHERE gebruikers_id = '.$_SESSION['user_login_status']
);
// do stuff
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT werkstuk_id, werkstuk_naam, werkstuk_datum FROM werkstukken";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Naam</th><th>Datum</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["werkstuk_id"]."</td><td>".$row["werkstuk_naam"]."</td><td>".$row["werkstuk_datum"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
} else {
// boodschap dat iemand eerst in moet loggen...
echo "Log je eerst in.";
}
?>
// zorg dat je ergens je sessie start...
if (isset($_SESSION['user_login_status'])) {
$res = $conn->query(
'SELECT *
FROM werkstukken
WHERE gebruikers_id = '.$_SESSION['user_login_status']
);
// do stuff
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT werkstuk_id, werkstuk_naam, werkstuk_datum FROM werkstukken";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Naam</th><th>Datum</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["werkstuk_id"]."</td><td>".$row["werkstuk_naam"]."</td><td>".$row["werkstuk_datum"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
} else {
// boodschap dat iemand eerst in moet loggen...
echo "Log je eerst in.";
}
?>
SESSIE CLASS
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
public function isUserLoggedIn()
{
if (isset($_SESSION['user_login_status']) AND $_SESSION['user_login_status'] == 1) {
return true;
}
// default return
return false;
}
{
if (isset($_SESSION['user_login_status']) AND $_SESSION['user_login_status'] == 1) {
return true;
}
// default return
return false;
}
Gewijzigd op 12/05/2015 16:31:43 door johan de wit
je kan geen query uitvoeren voordat je de connectie maakt.
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
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
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT werkstuk_id, werkstuk_naam, werkstuk_datum FROM werkstukken";
$result = $conn->query($sql);
// zorg dat je ergens je sessie start...
if (isset($_SESSION['user_login_status'])) {
$res = $conn->query(
'SELECT *
FROM werkstukken
WHERE gebruikers_id = '.$_SESSION['user_login_status']
);
// do stuff
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Naam</th><th>Datum</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["werkstuk_id"]."</td><td>".$row["werkstuk_naam"]."</td><td>".$row["werkstuk_datum"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
} else {
// boodschap dat iemand eerst in moet loggen...
echo "Log je eerst in.";
}
?>
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT werkstuk_id, werkstuk_naam, werkstuk_datum FROM werkstukken";
$result = $conn->query($sql);
// zorg dat je ergens je sessie start...
if (isset($_SESSION['user_login_status'])) {
$res = $conn->query(
'SELECT *
FROM werkstukken
WHERE gebruikers_id = '.$_SESSION['user_login_status']
);
// do stuff
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Naam</th><th>Datum</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["werkstuk_id"]."</td><td>".$row["werkstuk_naam"]."</td><td>".$row["werkstuk_datum"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
} else {
// boodschap dat iemand eerst in moet loggen...
echo "Log je eerst in.";
}
?>
Gewijzigd op 12/05/2015 17:46:53 door johan de wit