[PHP] Creatie van een 'Dashboard'

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

  • GSamson
  • Registratie: Oktober 2006
  • Laatst online: 01-12 10:33
Op mijn stage moet ik een dashboard systeem maken op een klein weekje tijd. Voor jullie vast maar een paar uurtjeswerk, voor mij ligt het echter niet zo simpel.. Op school hebben we er maar paar uur les over gekregen.

Ben beetje in paniek aant slaan dus wendt me nu tot jullie.

Bedoeling is dat een gebruiker zich inlogt. Deze kan zowel administrator (werkgever) als werknemer zijn. Aangezien er maar 5 mensen werken is dit niet al te ingewikkeld en kan je dat met simpele Boolean oplossen (om te bepalen wie er privileges heeft(??)).

Wanneer de werkgever ingelogd is, kan deze de algemene info in de huidige week bekijken en aanpassen, alsook alle opdrachten die bedoeld zijn voor de werknemers. (Bovenste deel van de tabel met 2 rijen). Het onderste deel dient voor de werknemers die reacties op opdrachten kunnen geven.

Wanneer een werknemer inlogt, kan deze de algemene info bekijken maar niet wijzigen, alsook het bovenste deel van de tabel met 2 rijen kan hij enkel bekijken. Wel kan hij in het onderste deel reageren.

(De werkgever krijgt trouwens een overzicht van de werknemers en diens opdrachten en reacties, maar de werknemer kan enkel de algemene informatie en zijn eigen opdrachten bekijken en erop reageren, NIET die van anderen.

http://img135.imagevenue....0493_Stage1_122_226lo.jpg
Dit is hoe het er mag uitzien voor de werknemer => zeer rudimentair. (6 kolommen: weeknr, maandag,..., vrijdag)
De werkgever ziet eronder dan ng eens extra tabellen voor alle werknemers.

Ook moet de werknemer een nieuwe week kunnen aanmaken, maar weet niet zo echt goed wat hij bedoelt, wss dat je van komende weken ook al kan plannen.

Zit wat met de handen in het haar. Uit de handleidingen van php haal ik wel goeie zaken maar nooit echt goede voorbeelden. Heb al een groot deel uit de PHP5 Bible en MySQL gelezen maar raak er niet altijd wijs uit. Alsook weet ik niet hoe ik steeds de huidige week moet laten verschijnen... :s

Let wel: het is niet de bedoeling dat jullie dit voor mij maken maar gewoon goed op weg helpen. Zit nu muurvast en hoop dat jullie me kunnen verderhelpen.

Hierbij de code die ik tot nu al heb, wss trekt het op niet veel volgens jullie:

login.php

code:
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
<?php
session_start();
session_destroy();
?>
<HTML>
<HEAD>

<TITLE>Dashboard</TITLE>

</HEAD>
<BODY>

        <form method=POST action="dashboard_v1.php">
        <table>
            <tr>
                <td>Gebruikersnaam</td>
                <td><input type="text" name="gebruiker" /></td>
            </tr>
            <tr>
                <td>Paswoord</td>
                <td><input type="password" name="paswoord" /></td>
            </tr>
            <tr>
                <td><input type="submit" name="btnLogin" value="Inloggen"></td>
            </tr>
        </table>
        </form>

</BODY>
</HTML>


dashboard_v1.php

code:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?php
session_start();
require('dbconfig.inc');

$login = $_POST["gebruiker"];
$paswoord= $_POST["paswoord"];

if(isset($_POST["btnLogin"]))
{

    $aantalRijen=mysql_num_rows(mysql_query("SELECT * FROM gebruikers WHERE naam = '$login' AND paswoord = '$paswoord'"));

    if($aantalRijen>0)
    {
        $_SESSION['aangemeld'] = 1;
        $_SESSION['gebruiker'] = $login;
    }
}

        if($_SESSION['aangemeld'] == 1)
        {



            $query=mysql_query("SELECT * FROM gebruikers");
            while(list($gebruikerID,$naam,$paswoord,$permission)=mysql_fetch_row($query))
            {
            ?>

<HTML>
<HEAD>
<TITLE>Dashboard</TITLE>
</HEAD>
<BODY>

            <?php
                if ($permission == 1)
                    {
                    
                    ?>
                    <form>
                    <p>Algemeen nieuws </p>
                    <table width="730" height="72" border="1">
                      <tr>
                        <td width="61"><input type="text" name=""/>&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                      </tr>
                    </table>
                    <p>&nbsp;</p>
                      <input type="submit" name="vorige_w" value="Vorige week" />
                      <input type="submit" name="volgende_w" value="Volgende week" />
                    <p>&nbsp;</p>
                    </form>
                    <hr />
                        <p>Overzicht</p>
                    <form>
                    <table width="730" height="165" border="1">
                      <tr>
                        <td width="61"><input type="text" name="" />&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                        <td width="135"><input type="text" name="" />&nbsp;</td>
                      </tr>
                      <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                      </tr>
                    </table>
                    </form>
                    <p>&nbsp;</p>


<?php
        

                        }   



                if ($permission == 0)
                {


                ?>
                <p>Algemeen nieuws </p>
                        <table width="730" height="72" border="1">
                          <tr>
                            <td width="61">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                          </tr>
                        </table>
                        <p>&nbsp;</p>
                          <input type="submit" name="vorige_w" value="Vorige week" />
                          <input type="submit" name="volgende_w" value="Volgende week" />
                        <p>&nbsp;</p>
                        <hr />
                            <p>Overzicht</p>
                        <table width="730" height="165" border="1">
                          <tr>
                            <td width="61">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                            <td width="135">&nbsp;</td>
                          </tr>
                          <form>
                          <tr>
                            <td><input type="text" name="" />&nbsp;</td>
                            <td><input type="text" name="" />&nbsp;</td>
                            <td><input type="text" name="" />&nbsp;</td>
                            <td><input type="text" name="" />&nbsp;</td>
                            <td><input type="text" name="" />&nbsp;</td>
                            <td><input type="text" name="" />&nbsp;</td>
                          </tr>
                          </form>
                        </table>
                        <p>&nbsp;</p>
<?php
                }       
            }
        }

                else
                {
                header('Location: login.php');
                }

?>
</body>
</html>


Hoe geef ik bv mijn gebruikersnaam via die sessie mee in een variabele en gebruik ik die in dashboard_v1.php om de juiste user en output te selecteren?

Blijkbaar lijkt ie de authenticatie van de users ook nog niet goed te doen. Net als een form in een tabel.

Ook hoeft hij het algemeen overzicht maar 1 keer meekrijgen.

Mijn voorlopige databank:

gebruikers: gebruikerID(int), naam, paswoord, permission(boolean)

admin heeft permission = 1

week_algemeen: weeknr(int), algemeen_ma, algemeen_di, algemeen_wo, algemeen_do, algemeen_vr

week_actief: weeknr(int), gebruikerID, admin_ma, admin_di, admin_wo, admin_do, admin_vr, doen_ma, doen_di, doen_wo, doen_do, doen_vr

Iedereen bedankt bij voorbaat. En houdt het zo eenvoudig mogelijk ;)
require('dbconfig.inc'); is trouwens gewoon de connectie met de database..

Tmoet vrijdag af zijn :'(

  • GSamson
  • Registratie: Oktober 2006
  • Laatst online: 01-12 10:33
Authenticatie lukt nu wel al

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
GSamson schreef op dinsdag 13 februari 2007 @ 22:03:
Ben beetje in paniek aant slaan dus wendt me nu tot jullie.
...
Let wel: het is niet de bedoeling dat jullie dit voor mij maken maar gewoon goed op weg helpen. Zit nu muurvast en hoop dat jullie me kunnen verderhelpen.
...
...
Iedereen bedankt bij voorbaat. En houdt het zo eenvoudig mogelijk ;)
...
Tmoet vrijdag af zijn :'(
Ik mis bij voorbaat een concrete vraag in je topic, naast dat je een boel onsamenhangende zinnen door mekaar smijt en roept dat het vlug vlug klaar moet zijn.

Dat je een deadline hebt is niet ons probleem; dan moet je of geen beloftes maken dat je het kunt, of aankaarten dat je het niet gaat redden. Daarnaast dump je een lap code waarvan ik me afvraag wat wij er mee moeten en gewoon een "complete" opdrachtbeschrijving.

Ik zou, als ik jou was, even een tutorial HTML en PHP (en databases) doornemen en gewoon even kalmeren. Roep hulp van je collega's in of communiceer met je baas dat je het niet gaat redden. Hoe dan ook gaan wij je, zeker niet op deze manier, helpen je deadline wél te halen.

Je bent hier van harte welkom met gerichtte vragen, maar met dit topic kunnen we niet veel. Kijk eens in onze PRG Quickstart om te zien hoe wij hier graag een topic zien en wat we van je verwachten als je een topic opent.

offtopic:
Stage is om iets te leren; ik zie echter steeds vaker dat stagiares gewoon in het "diepe" worden geflikkerd en maar hopen dat ze niet verzuipen... ben ik de enige die dit niet normaal vindt?


:w :P Creepy

[ Voor 16% gewijzigd door RobIII op 13-02-2007 22:37 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 14:32

Creepy

Tactical Espionage Splatterer

Eeh.. zo werkt het niet niet helemaal. Je post een leuke uitleg en een behoorlijke lap code en vervolgens mogen wij gokken wat er niet werkt en wat er mist en mogen wij dat voor je gaan aanpassen?

Als je Programming Beleid eens door wilt lezen (en dan met name Programming Beleid - De Quickstart) dan zie je dat we verwachten dat je zelf aan de slag gaat (dat doe je ook) en dat als je er niet uitkomt dat je dan aangeeft wat je hebt geprobeerd (dit lijkt te missen) en dat je aangeeft wat er niet lukte ("ik kom er niet uit" is wel heel erg algemeen).

Als je op school te weinig PHP hebt gehad om een stage opdracht af te kunnen ronden dan zul je hier met je stage begeleider over moeten gaan praten. Het is niet de bedoeling dat we hier jouw opdracht gaan maken :)

Ga gewoon nog zelf wat meer aan de slag, zoek wat zaken op en vraag eens wat aan je begeleider daar in het bedrijf. Mocht je echt ergens niet uitkomen dan kan je een nieuw topic openen maar let ern dan op dat het niet te algemeen is zoals nu en dat je even op het beleid en de quickstart let.


offtopic:
Pfff.. typ je een heel verhaal..zit MisterIII er alweer voor :+ :P

[ Voor 3% gewijzigd door Creepy op 13-02-2007 22:36 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.