Na inloggen data opvragen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Johan de wit

johan de wit

10/05/2015 17:06:57
Quote Anchor link
Ik heb een student loginsysteem.

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
 
PHP hulp

PHP hulp

26/10/2020 19:29:53
 
- Ariën -
Beheerder

- Ariën -

10/05/2015 17:15:44
Quote Anchor link
Controleren met WHERE in de query of de UserID van de werkstukken gelijk is aan die UserID in je sessie.
 
Obelix Idefix

Obelix Idefix

10/05/2015 17:16:52
Quote Anchor link
Misschien veel te simpel gedacht, maar je kunt in de tabel werkstukken een verwijzing opnemen naar gebruikerss id ???
 
- Ariën -
Beheerder

- Ariën -

10/05/2015 17:22:35
Quote Anchor link
Een extra veld heb je nodig bij de werkstukken-tabel, waarin je het UserID kan koppelen.
 
Johan de wit

johan de wit

10/05/2015 17:49:55
Quote Anchor link
Dat was ik vergeten om te noteren. Heb meteen topic bewerkt.
Dus ik moet direct naar tabel werkstukken en daar op id van gebruikers sorteren? Voor inloggen gebruik ik sessies.
 
Obelix Idefix

Obelix Idefix

10/05/2015 17:57:30
Quote Anchor link
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
 
Johan de wit

johan de wit

10/05/2015 18:01:20
Quote Anchor link
Dat je meteen alle gegevens via tabel werkstukken pakt, ik dacht dat misschien alles vanaf omweg moest dus via via.

Inderdaad van 1 gebruiker opvragen.

Toevoeging op 10/05/2015 19:13:16:

Momenteel heb ik dit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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();
 ?>
 
Thomas van den Heuvel

Thomas van den Heuvel

10/05/2015 19:20:46
Quote Anchor link
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.
 
Johan de wit

johan de wit

10/05/2015 19:29:48
Quote Anchor link
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?
 
Thomas van den Heuvel

Thomas van den Heuvel

10/05/2015 21:04:34
Quote Anchor link
Met enige fantasie had je ook zelf het volgende kunnen bedenken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// zorg dat je ergens je sessie start...
if (isset($_SESSION['je_user_id'])) {
    $res = $conn->query(
        'SELECT *
        FROM werkstukken
        WHERE gebruikers_id = '
.$_SESSION['je_user_id']
    );

    // do stuff
} else {
    // boodschap dat iemand eerst in moet loggen...
}
?>
 
Johan de wit

johan de wit

10/05/2015 21:49:06
Quote Anchor link
In mij eentje zou ik nooit uitkomen. Maar op deze manier heb ik weer veel geleerd want ik wist niet dat zo iets kon. Daarom ben ik je heel erg dankbaar!

Nou kan ik mij bovenstaande script erin plaatsen waar // do stuff staat?
Gewijzigd op 11/05/2015 01:16:41 door johan de wit
 
- Ariën -
Beheerder

- Ariën -

10/05/2015 22:20:49
Quote Anchor link
Ik zou eerder zeggen: 'erin plaatsen'. Zie de gele commentaarlijnen maar.
 
Johan de wit

johan de wit

11/05/2015 01:00:44
Quote Anchor link
Vraag is aangepast.
 
- Ariën -
Beheerder

- Ariën -

11/05/2015 01:05:37
Quote Anchor link
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.
 
Johan de wit

johan de wit

11/05/2015 01:08:41
Quote Anchor link
Na het inloggen zie ik via Google browser dat Session Storage leeg is en bij Cookies zijn er 2 bestanden 1 daar van is PHPSESSID. Komt dat doordat Sessies in de servers blijven?
Gewijzigd op 12/05/2015 15:10:57 door johan de wit
 
- Ariën -
Beheerder

- Ariën -

12/05/2015 15:23:19
Quote Anchor link
Klopt, de data van sessies staan op de server, en worden in de meeste gevallen gekoppeld met een enkele cookie.
 
Johan de wit

johan de wit

12/05/2015 16:10:02
Quote Anchor link
Is het verstandig om cookie in de database te plaatsen?
 
Eddy E

Eddy E

12/05/2015 16:12:17
Quote Anchor link
Nee, blijf gewoon $_SESSION gebruiken.
 
Johan de wit

johan de wit

12/05/2015 16:24:59
Quote Anchor link
Oke, dank je wel.

Na het inloggen krijg ik echo nog steeds te zien.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.";
}

?>


SESSIE CLASS
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
    }
Gewijzigd op 12/05/2015 16:31:43 door johan de wit
 
- Ariën -
Beheerder

- Ariën -

12/05/2015 17:29:55
Quote Anchor link
je kan geen query uitvoeren voordat je de connectie maakt.
 
Johan de wit

johan de wit

12/05/2015 17:45:24
Quote Anchor link
Nu moet het goed zijn.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.";
}

?>
Gewijzigd op 12/05/2015 17:46:53 door johan de wit
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.