Inlog systeen, extra opties

Status
Niet open voor verdere reacties.

Sleepy

Gebruiker
Lid geworden
15 feb 2008
Berichten
100
Hallo allemaal!

Ik ben met school begonnen met het programmeren met php, mysql, css, html.
Nu hadden we een opdracht om een log in systeem te maken! (even tussen door dit is GEEN school opdracht meer.. deze opdracht is al verlopen dit was een extra opdracht binnen het project, maar ik vindt het erg leuk om te programmeren daarom ben ik zelf dit een beetje aan het uivogelen).

Senario:

Receptenbank ziekenhuis:

We hebben met samba een domain controller gemaakt voor de kenners, en met centos een webserver. Voor het ziekenhuis middenpolder (ons project), hierbij was de probleem stelling dat de artsen nog wel eens recepten uitsschrijven voor hun patienten, en dit meestal op briefjes werd voorgeschreven dit moet makkelijker kunnen daarom is gevraagt om met behulp van php en mysql een inlog systeem te maken waar artsen kunnen aanvinken welk recept de patient nodig heeft en hoeveelheid.
Het inloge systeen heb ik algemaakt wat kan ik tot zover:
- Registeren
-Inloggen
-Uitloggen
alles is verder nog kaal geen opties ofzo deze zou ik graag willen toevoegen! en daarom wil ik over de volgende dingen wat meer informatie!:


* Het maken van admin rechten (verschillende rollen) een admin die de artsen en patienten accounts kan beheren.
Admin kan dingen zoals: gebruikersnaam/wachtwoord wijzigen van de artsen zowel patienten, gebruiker accounts deleten, en accounts admin rechten geven.
* Een systeem waarbij de arts een recept voorschrijft voor een patient, dus dat hij uit verschillende recepten kan kiezen en patienten, en deze info van het recept moet dan zichtbaar worden op het account van de patient onder recepten.

Ik vraag jullie niet om voorgekouden scripts! ik wil jullie er nog een keer opwijzen dat dit absoluut geen school opdracht is althans niet meer! maar dit puur aan jullie vraag omdat ik het leuk vindt omdat ik nooit tijd heb gehad voor de extra opdracht van vorig jaar dit nog een keer zou willen doen puur voor de kennis omdat ik later ook wat wil met websites.
Als iemand tutorials of uitleg hebben en dit met mij zouden willen delen zou mij dit veel plezier doen!!!

Alvast bedankt,
Rick.
 
Laatst bewerkt:
De meeste van deze dingen klinken alleen moeilijk omdat je ze nog niet eerder gedaan hebt ;)

Een admin systeem is zo eenvoudig als een extra kolom in je database met "rank" (of een extra tabel als je met een serieus rechten systeem gaat werken) dat je bij iedere actie/wijziging controleert en dat je gebruikt om dingen te tonen of toe te staan.

PHP:
// query userinfo ophalen blabla
$rij = data(); // data wordt hier dus opgehaald.

echo 'Welkom ' . $rij['name'] . '<br />';
if( $rij['rank'] == 'admin' ) {
  echo 'Je bent een administrator!';
}
else {
  echo 'Je bent geen administrator :(';
}

Zorg dat je afhandelen van user wijzigingen, tonen van extra opties, e.d. in de bovenste if gooit en alleen administrators kunnen die actie nog uitvoeren.

Recepten voorschrijven zul je een paar extra tabellen voor moeten maken. Hoe het exact werkt is een beetje afhankelijk van je systeem en eisen maar in principe zijn het gewoon een paar formuliertjes die wat data in de database zetten en ophalen bij de patient.
 
Heej frats,

Thanks voor je snelle reactie! ik ga er wat mee doen :) thanks voor je info.
 
Ik heb het geprobeerd te inplementeren heb het als volgt gedaan om ff te testen of het werkt:
Maar het werkt niet helemaal :P

error op de member pagina: Fatal error: Call to undefined function data() in H:\xampp\htdocs\member-profile.php on line 21

dit is line 21: $rij = data(); // data wordt hier dus opgehaald.

Ik heb wat fout gedaan maar goed weet niet precies hoe ik dit moet implanteren dus graag hoor ik wat ik fout heb gedaan! kan ik er weer van leren.



<?php
require_once('auth.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>My Profile</title>
<link href="loginmodule.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>My Profile </h1>
<a href="member-index.php">Home</a> | <a href="logout.php">Logout</a>
<p>This is another secure page. </p>


</body>
</html>
<?php
// query userinfo ophalen blabla
$rij = data(); // data wordt hier dus opgehaald.

echo 'Welkom ' . $rij['rank'] . '<br />';
if( $rij['rank'] == 'admin' ) {
echo 'Je bent een administrator!';
}
else {
echo 'Je bent geen administrator :(';
}
?>


qo7xxs.jpg
 
Laatst bewerkt:
Mijn code was een voorbeeldje :P Het is idee is dat je de aanroep naar data() zelf vervangt door een aanroep naar bijv mysql_query en mysql_fetch_assoc of een andere manier om data uit de database op te halen; de functie bestaat verder niet.
 
Hej frats,

Ja ik zag 't! loop stage op de afdeling technisch applicatie beheer en databases bij de Gemeeten Utrecht hehe dus had hier al een programmeur dr naar laten kijken het is inderdaad zo dat die functie niet bestond! maar als nog bedantk het werkt nu!

Alleen heb ik een vraagje! zou je me kunnen uitleggen hoe ik als admin de rank kan aanpassen van gebruikers

als ik dit voorbeeld heb weet ik zeg maar hoe deze funtie werkt en dan kom ik uit de andere opties ook wel :)

Bedankt voor je support in iedergeval!
 
Het enige verschil tussen een admin en een gewone user is wat er in hun rij in de tabel bij "rank" staat.

Als je binnen het admin gedeelte een stukje zet waar je de lijst met users toont, met hun rank erachter een "wijzig" knop die een update doet ben je al een heel eind.

Voorbeeldjes:

PHP:
$rijen = data(); // haal alle rijen op; zelf invullen

// dit toont alle users, met een wijzig knop.
foreach( $rijen as $rij ) {
  echo $rij['name'] . ' met huidige rang: ' . $rij['rank'] . '<a href="wijzig.php?user=' . $rij['member_id'] . '">(wijzig rank)</a><br />';
}

Wijzig.php zou er dan zo uit kunnen zien (wederom moet je het eea zelf invullen)
Je moet er ook voor zorgen dat wijzig.php eerst kijkt of je zelf een admin bent, en zo niet toegang weigert!

PHP:
$rij = data(); // informatie vcn de te wijzigen user ophalen; je kunt het gezochte ID uitlezen via $_GET['user']

// formulier ingezonden?
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
  // doe een update query met de nieuwe rang
  mysql_query( "UPDATE users SET rank = '" . $_POST['nieuwerank'] . "' WHERE member_id = " . $_GET['user'] );
  // toon bericht
  echo 'Rang is gewijzigd!';
}


echo 'Huidige rang: ' . $rij['rank'] . '<br />;
echo '<form action="" method="POST">
echo '<select name="nieuwerank">';
echo '<option value="admin">Administrator</option>';
echo '<option value="user">Gewone user</option>';
echo '</select>'
echo '<input type="submit" value="Wijzig" />';
echo'</form>';

Kijk maar eens of je er zo uit komt :)
 
Hej thanks het is gelukt ;)

nu moet ik alleen nog functies maken waarbij de ranken van toepassing komen.:d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan