Verschillende leden groepen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pieter ten Boomen

Pieter ten Boomen

13/10/2009 20:18:00
Quote Anchor link
Hallo, ik heb op mijn site een volledig inlog systeem enzo, bla bla bla.
Alleen ik wil 1 inlog pagina en 1 leden pagina.
En dat met een if ofzo de admin's een extra menu hebben ofzo.

Kan iemand mij helpen want ik weet niet hoe ik dit doe.

Ik heb wel al in de database een usergroup vak staan zegmaar, daar staat of ze lid of admin zijn.

OF

Dat leden naar de standaard leden pagina gaan en dat admins naar hun eigen leden gedeelte gaan.
Gewijzigd op 01/01/1970 01:00:00 door Pieter ten Boomen
 
PHP hulp

PHP hulp

22/02/2025 22:05:19
 
Quote Anchor link
Dit hoort denk ik bij aanvragen en niet bij PHP
 
Pieter ten Boomen

Pieter ten Boomen

13/10/2009 20:34:00
Quote Anchor link
Ik denk dat het hier hoort want ik heb alleen de vraag, hoe kan ik iets extra's laten zien voor admins
 
- Ariën  -
Beheerder

- Ariën -

13/10/2009 20:35:00
Quote Anchor link
Jelmer schreef op 13.10.2009 20:18:
Hallo, ik heb op mijn site een volledig inlog systeem enzo, bla bla bla.

Ja, bla bla. Je hebt dus al een inlogsysteem...
Quote:

Alleen ik wil 1 inlog pagina en 1 leden pagina.
En dat met een if ofzo de admin's een extra menu hebben ofzo.

Hej, nu heb je opeens geen inlogsysteem?
Quote:
Kan iemand mij helpen want ik weet niet hoe ik dit doe.
Ik heb wel al in de database een usergroup vak staan zegmaar, daar staat of ze lid of admin zijn.
OF
Dat leden naar de standaard leden pagina gaan en dat admins naar hun eigen leden gedeelte gaan.

Leuk stukje pseudocode.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if($user['status'] == "admin" || $user['status'] =="moderator") {
echo "
<ul>
 <li>Leden profielbeheer</li>
 <li>Verban leden</li>
 <li>Plunder bankrekening van stoute leden</li>
</ul>
"
;
}

?>
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
 
Pieter ten Boomen

Pieter ten Boomen

13/10/2009 20:38:00
Quote Anchor link
Nee, ik wil gewoon dat de admins zich kunnen inloggen op de zelfde pagina als gewone leden. En dat voor hun, voor mijn gemak, op dezelfde pagina terecht komen als gewone leden maar dat ze dan wat extra's zien, zoals een menu.
 
- Ariën  -
Beheerder

- Ariën -

13/10/2009 20:39:00
Quote Anchor link
Dat dus, hierboven.
Als je nog een inlogsysteem zoekt. Dan kan je bijv. MultiSess proberen.
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
 
Pieter ten Boomen

Pieter ten Boomen

13/10/2009 20:49:00
Quote Anchor link
Ja super en in ieder geval bedankt maar zou je het ook nog in deze leden pagina kunnen intergregen (ergens passend neerzetten en de variables goed hebben)

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
<?
//connect to mysql
//change user and password to your mySQL name and password

mysql_connect("HOST","USER","PASS");

//select which database you want to edit
mysql_select_db("DB");

//select the table
$result = mysql_query("select * from users WHERE id='".$_GET['id']."' ");

//grab all the content
while($r=mysql_fetch_array($result))
{

   //the format is $variable = $r["nameofmysqlcolumn"];
   //modify these to match your mysql table columns


   $ui=$r["ID"];
   $uu=$r["username"];
   $ud=$r["date"];
   $un=$r["name"];
   $ue=$r["email"];
   $um=$r["muziek"];
   $ut=$r["tekst"];
   $uf=$r["foto"];
   $uh=$r["hash"];
   $yt=$r["textforyou"];
   $us=$r["status"];

   //display the row
   echo "<table height=100% width=100% border=1 bordercolor=#000000>
        <tr><td height=1>Dit is het gebruikersprofiel van "
.$uu."...</td></tr>
        <tr><td height=1><table height=1 width=100%>
        <tr><td width=50%>Gebruikersnaam: "
.$uu."</td><td width=50%>Email: ".$ue."</td></tr>
        <tr><td width=50%>Echte naam: "
.$un."</td>    <td width=50%></td></tr>
        <tr><td width=50%>"
.$ud."</td>                <td width=50%>ID: ".$ui."</td></tr></table></td></tr>
        <tr><th>"
.$yt."</th></tr>
        <tr><td width=100% height=100% valign=top>Muziek jij luistert:<BR><BR>"
.$um."<BR><BR>Gebruikers tekst:<BR><BR>".$ut."<BR><BR>Gebruikers foto:<BR><BR><img src=../users/photo/".$uf." width=500 height=500 border=0></td></tr></table>";

}

?>
 
- Ariën  -
Beheerder

- Ariën -

13/10/2009 20:50:00
Quote Anchor link
Dat zou kunnen.
In dat geval moet je: $r['status'] gebruiken, waarin de status opgeslagen is. Dit werkt dan alleen in de while() lus.
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
 
Pieter ten Boomen

Pieter ten Boomen

13/10/2009 21:01:00
Quote Anchor link
Oke, hij werkt... na een beetje geprobeer! Nu alleen nog een mooi plaatsje geven!

Bedankt voor alle hulp!!!
 
Mr.Ark

Mr.Ark

13/10/2009 21:08:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?PHP

//select the table
$result = mysql_query("select * from users WHERE id='".$_GET['id']."' ");

?>


Ga jij eens even snel een artiekel lezen over SQL Injection, ik neem aan dat je niet wilt dat iemand jouw database kan beheren?

Edit:


En wat nou als ik via jouw site een gebruiker ga bekijken en ik voer in de internet balk een id van 99999 in? Dan zal je dus een error krijgen. Bouw ook even goede fouten afhandeling in.
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
 
Pieter ten Boomen

Pieter ten Boomen

13/10/2009 21:12:00
Quote Anchor link
als je 99999 invoert kom je op een lege pagina. Ik heb al geprobeert om te voorkomen dat leden gewoon andermans ID invullen, dat ze dan op een error pagina komen, maar dat lukte me niet. Een een fouten afhandeling kan ik zelf niet echt bouwen... te noob voor ;-) Maar waar moet ik op zoeken als ik wil voorkomen dat leden op andermans leden pagina kunnen komen?
 
Mr.Ark

Mr.Ark

13/10/2009 21:19:00
Quote Anchor link
Goede fouten afhandeling:

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

# Errors weergeven
error_reporting(E_ALL);

# Hier je query

# Resultaat van de query

$Result = mysql_query($Naamquery);

# Kijken of de query is gelukt
if(!$Result)
{

    # Fout opgetreden in query
    echo 'Er is een fout opgetreden in de query, de fout is: '.mysql_error();
}

else
{
    # Kijken of gebruiker wel bestaat
    if(mysql_num_rows($Result) == 0)
    {

        # Gebruiker bestaat niet
        echo 'Deze gebruiker bestaat niet.';
    }

    else
    {
        # Gebruiker bestaat wel, laat info zien
    }
}


?>


Als iemand nou in de adres balk jouw query afsluit en een eigen query begint waar die jouw hele database leeg mee gooit dat wil natuurlijk niemand.

Ik zou zeggen, google eens naar SQL Injection, of kijk hier tussen de tutorials.

Edit:


Je maakt ook onnodig variables aan als je iets wilt laten zien, nergens voor nodig, word je code alleen maar langer en groter van.

Gebruik mysql_fetch_assoc inplaats van array, werkt even net ietjses sneller.

Snap dat je een script wilt hebben, Maar wat nou als je script het niet meer doet?, kom je dan telkens vragen of iemand het kan oplossen?

Je zal tenminste een basis kennis van php moeten weten. (Mijn mening)

Als je met single quotes werkt, dan maak je je het een stuk makkelijker dan dat je met dubble quotes werkt.
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
 
Pieter ten Boomen

Pieter ten Boomen

13/10/2009 21:36:00
Quote Anchor link
"Snap dat je een script wilt hebben, Maar wat nou als je script het niet meer doet?, kom je dan telkens vragen of iemand het kan oplossen?"

Volgens mij is dit een klein beetje hier de bedoeling, maar daar gaat het niet om.

en
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php     if(mysql_num_rows($result) == 0) ?>
doet niks want als ik nu 99999 invul komt er gewoon nog een lege pagina
 
Jan Koehoorn

Jan Koehoorn

13/10/2009 21:50:00
Quote Anchor link
Als het om een inlogpagina gaat zou ik een id nooit uit de url laten komen. Je maakt een inlogformulier met method="post" en dan kijk je of de combi user/pass in je DB voorkomt met een SELECT query. Zo ja, dan maak je een sessievariabele aan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $_SESSION
['logged_in'] = true;
?>

Het user_id kun je ook in de sessie zetten. Dan kun je aan de hand van dat id de profielgegevens ophalen. Als je maar twee soorten users hebt (users en admins bijv) hoef je alleen maar een veld usertype aan te maken die je op 0 of 1 zet. Gebruik daarvoor een TINYINT. Ook die waarde zou je in de sessie kunnen zetten, en aan de hand van die waarde toon je dan wel of niet extra opties.
 
Pieter ten Boomen

Pieter ten Boomen

13/10/2009 21:56:00
Quote Anchor link
Oke, ik zal wat proberen. En dan zou ik maar niet hier om hulp vragen want mensen beginnen te denken dat phpHULP iets anders betekend.. kijk maar bij de laatste post hier van Mr.Ark.
 
- Ariën  -
Beheerder

- Ariën -

13/10/2009 22:01:00
Quote Anchor link
Wat een onzin. Hij helpt je toch?
Hij komt alleen met goede adviezen aan.
 
Pieter ten Boomen

Pieter ten Boomen

13/10/2009 22:04:00
Quote Anchor link
nee, hij zegt dat ik voor elke kleine issue op phphulp hulp vraag
 
Mr.Ark

Mr.Ark

13/10/2009 22:06:00
Quote Anchor link
Jelmer schreef op 13.10.2009 22:04:
nee, hij zegt dat ik voor elke kleine issue op phphulp hulp vraag


Dat maak jij ervan...

Als ik hier op phphulp vraag of iemand een website voor mij wil programeren, dan zal ik geheid als reactie krijgen dat ik zelf php moet gaan leren.

Zoals door Aar is gezegd, ik bied mijn hulp aan, als jij die hulp niet zo ziet dan is dat jouw probleem.
 
Pieter ten Boomen

Pieter ten Boomen

13/10/2009 22:10:00
Quote Anchor link
Oke, is goed. Maar ik wil alleen even zeggen, ik heb php niet echt geleerd. T is gewoon allemaal ervaring van simpele scripts en uiteindelijk wilde ik een login systeem en dat maak ik nu steeds beter. Met behulp van mensen hier!
 



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.