Na inloggen data opvragen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Pagina: « vorige 1 2

- Ariën  -
Beheerder

- Ariën -

12/05/2015 17:49:09
Quote Anchor link
Ja, ik zou wel de uitlijning van de if-else statements even wat tab's geven, zodat je een mooi genest overzicht hebt.
 
PHP hulp

PHP hulp

27/11/2024 08:52:57
 
Johan de wit

johan de wit

12/05/2015 18:19:51
Quote Anchor link
Dank je, ik zal dat onthouden!

Nog steeds krijg echo melding.
Gewijzigd op 12/05/2015 18:28:16 door johan de wit
 
- Ariën  -
Beheerder

- Ariën -

12/05/2015 18:41:15
Quote Anchor link
Zet bovenaan nadat je PHP openent dit neer:
session_start();

Vanaf dan werken de sessies pas. Verder ben ik benieuwd welke echo je bedoelt.
 
Johan de wit

johan de wit

13/05/2015 00:57:07
Quote Anchor link
Top! session_start(); helpt. Alleen nog steeds krijg ik hele tabel in plaats van ingelogde gebruiker.

Regel 40
Gewijzigd op 13/05/2015 01:14:55 door johan de wit
 
- Ariën  -
Beheerder

- Ariën -

13/05/2015 08:25:57
Quote Anchor link
Je voert dan ook altijd de eerste query uit om alle werkstukken op te halen. Ik raad aan om die controle of de sessie bestaat in een if-else statement te schrijven, waarmee je uiteindelijk de query bepaalt.
Gewijzigd op 13/05/2015 08:26:49 door - Ariën -
 
Johan de wit

johan de wit

13/05/2015 13:24:22
Quote Anchor link
Op dit moment werk sessies dus na het inloggen zie ik data en bij het uitloggen zie je allen echo dat je moet inloggen.
Alle data komt ook netjes.

Bijvoorbeeld gebruiker 5 heeft id 5 na het inloggen moet hij alleen zijn eigen werkstukken (id 5) op zijn scherm krijgen.
 
Arjan -

Arjan -

13/05/2015 13:35:24
Quote Anchor link
Voer onderstaand script eens uit nadat je bent ingelogd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
session_start();

var_dump($_SESSION);

?>


Het is voor mij namelijk nog niet duidelijk of je wel een variabele in de sessie bijhoudt met daarin de gebruikers_id van de ingelogde persoon.

Daarnaast voer je 2 query's uit, waarvan één query uitgevoerd wordt voordat je verbinding maakt met de database. Dit gaat dus niet!

Wat het moet 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
<?php
session_start();

// zorg dat je ergens je sessie start...
if (isset($_SESSION['user_login_status']) AND $_SESSION['user_login_status'] == 1) {
    
$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 WHERE gebruikers_id = ".$_SESSION['user_id'];
$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.";
}

?>
Gewijzigd op 13/05/2015 13:37:39 door Arjan -
 
Johan de wit

johan de wit

13/05/2015 14:08:30
Quote Anchor link
Met onderstaande code krijg ik blanco scherm.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
session_start();

var_dump($_SESSION);

?>


Inderdaad ik gebruik overal variabele voor sessie.
Quote:
Het is voor mij namelijk nog niet duidelijk of je wel een variabele in de sessie bijhoudt met daarin de gebruikers_id van de ingelogde persoon.


Ik had daar twijfels er over, goed dat je hebt gezegd.
Quote:
Daarnaast voer je 2 query's uit, waarvan één query uitgevoerd wordt voordat je verbinding maakt met de database. Dit gaat dus niet!


Ik krijg echo "0 results"; melding 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
<?php
session_start();

// zorg dat je ergens je sessie start...
if (isset($_SESSION['user_login_status']) AND $_SESSION['user_login_status'] == 1) {
    
$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 WHERE gebruikers_id = ".$_SESSION['user_id'];
$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.";
}

?>


Moet dit niet zo zijn?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
gebruikers_id = ".$_SESSION['user_id'];


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
gebruikers_id = ".$_SESSION['gebruikers_id'];
 
Thomas van den Heuvel

Thomas van den Heuvel

13/05/2015 14:11:42
Quote Anchor link
Sorry, maar hoe moeten wij dat weten?

Blijkbaar houd je geen user id bij in je sessie. Dan kun je ook niet user-specifieke data ophalen op grond van een argument wat je niet hebt...

Misschien moet je een stapje terug doen en de beginselen van PHP, MySQL en sessies doornemen...
 
Arjan -

Arjan -

13/05/2015 14:16:04
Quote Anchor link
Direct als een gebruiker inlogt krijgt $_SESSION['user_login_status'] de waarde 1, aangezien je hier op controleert en de vergelijking $_SESSION['user_login_status'] == 1 blijkbaar waar (true) is.

Om het werkend te krijgen zal je dus ook een $_SESSION['user_id'] of $_SESSION['gebruikers_id'] aan moeten maken met de Id van de ingelogde gebruiker. Zolang je dit niet doet, kan je dus nooit de gewenste output genereren.
 
Johan de wit

johan de wit

13/05/2015 14:31:03
Quote Anchor link
Dat klopt de waarde is 1.
Arjan - op 13/05/2015 14:16:04:
Direct als een gebruiker inlogt krijgt $_SESSION['user_login_status'] de waarde 1, aangezien je hier op controleert en de vergelijking $_SESSION['user_login_status'] == 1 blijkbaar waar (true) is.


Dat heb ik wel want zodra ik alleen $_SESSION['gebruikers_id'] dan krijg ik netjes ID te zien.
Arjan - op 13/05/2015 14:16:04:
Om het werkend te krijgen zal je dus ook een $_SESSION['user_id'] of $_SESSION['gebruikers_id'] aan moeten maken met de Id van de ingelogde gebruiker. Zolang je dit niet doet, kan je dus nooit de gewenste output genereren.


Mij vraag was anders bedoeld ik zal even anders vragen.
Gebruikers_id had je waarschijnlijk uit Werkstukken bedoeld en user_id van Gebruikers als het goed is?

Zowel Gebruikers als Werkstukken hebben het zelfde tabel gebruikers_id kan daar aan conflict zitten?
 
Arjan -

Arjan -

13/05/2015 14:36:21
Quote Anchor link
Ok, nu je aangeeft dat $_SESSION['gebruikers_id'] is gedefinieerd en de juiste ID bevat, kan je inderdaad onderstaande query gebruiken.

$sql = "SELECT werkstuk_id, werkstuk_naam, werkstuk_datum FROM werkstukken WHERE gebruikers_id = ".$_SESSION['gebruikers_id'];

Om er zeker van te zijn dat je de juiste $_SESSION variabele gebruikt kan je op dezelfde pagina een dump maken van je variabele middels:

print_r($_SESSION);

Deze toont alle waarden van $_SESSION.
 
Johan de wit

johan de wit

13/05/2015 15:11:03
Quote Anchor link
Print werkt heel goed.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
print_r($_SESSION);


Top! het werkt nu perfect.
Harstikke bedankt en ondertussen heb ik veel van jullie geleerd!
Gewijzigd op 13/05/2015 15:13:14 door johan de wit
 

Pagina: « vorige 1 2



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.