php inloggen

Status
Niet open voor verdere reacties.

jura1993

Gebruiker
Lid geworden
5 aug 2010
Berichten
46
Hoi iedereen,

Ik ben bezig met een website voor de basisschool en het is project op school die volgende week af moet zijn.
Ik heb inmiddels al inlog systeem gemaakt en gekoppeld met mysql database.
Mijn php script haalt inloggegeven uit mijn database.
Ik heb ook een aantal pagina waar mijn inlog form op staat.
Mijn vraag is hoe zorg ik dat als je ingelogd bent dat je dan extra functie krijgt bijvoorbeeld dat je dan een mededeling kan plaatsen, en dat je op al andere paginas ook laat zien dat je ingelogd bent.

als iemand iets weet ik hoor het graag, zou fijn zijn als je ook een script hebt met uitleg xD

gr,Jura
 
ik weet niet of je alles wat je nu hebt zelf gemaakt hebt, maar dan zou het volgende ook niet zo moeilijk moeten zijn:
voeg een extra kolom aan de database toe, rechten. vul hier dan per gebruiker een waarde in, bijvoorbeeld 0 is gewone gebruiker, 1 is mod, 2 is admin etc.

maak dan een pagina en controleer aan de hand van de database of de gebruiker de juiste rechten heeft.

wil je liever gewoon een kant en klaar script ben je denk ik het beste uit met bijvoorbeeld wordpress of een vergelijkbaar pakket.
 
ik heb alles tot nu toe gemaakt maar heb niet zo veel verstand van die database, en ik gebruik wampserver met daarin mysql.
 
session_start();

als je een sessie start blijft die net zolang aan tot je je browser sluit. het is een temporary cookie zeg maar.

op elke pagina moet je de regel session_start(); gebruiken en je moet ergens een session aanmaken

hier volgt een simpel voorbeeld
Code:
<?php

session_start();

if (isset($_POST['login']))
{
  mysql_connect('localhost','root','');
  mysql_select_db('inloggegevens');
  
  $naam = $_POST['naam'];
  $wachtwoord = $_POST['wachtwoord'];
  $query = mysql_query("SELECT naam, wachtwoord FROM inloggegevens WHERE naam='$naam'");

  while ($row = mysql_fetch_row($query))
  {
    if ($row[1]==$wachtwoord)
    {
      echo "U bent succesvol ingelogd als ".$naam;
    //sessions kun je een willekeurige naam geven zolang er maar $_SESSION[''] staat
      $_SESSION['naam'] = $naam;
      echo "<a href='naam_van_pagina'>Ga naar een random pagina</a>";     
    }
    else
    {
      echo "U heeft een verkeerd wachtwoord ingevuld";
    }
  }
}

?>

naam_van_pagina:
Code:
<?php

session_start();
if (!empty($_SESSION['naam']))
{
  echo "U bent nog steeds ingelogd als ".$_SESSION['naam'];
}
else
{
  echo "U hoort voor deze pagina ingelogd te zijn<br><a href='index.php'>Log hier in</a>";
}

?>

ik hoop dat je het begrijpt ofzo
 
heeey,


Ik snap wel dat session, alleen er is nog een probleem, mijn inlog form zit dus op elk pagina, dus als ik inlog wil ik dat op elk ander pagina word laten zien dat ik ingelogd ben en dat ik op elk pagina ook kan uitloggen
 
precies hetzelfde...

Code:
<?php


session_start();

if (isset($_POST['logout']))
{
  unset($_SESSION['naam'])
}

if (isset($_POST['login']))
{
  mysql_connect('localhost','root','');
  mysql_select_db('inloggegevens');
  
  $naam = $_POST['naam'];
  $wachtwoord = $_POST['wachtwoord'];
  $query = mysql_query("SELECT naam, wachtwoord FROM inloggegevens WHERE naam='$naam'");

  while ($row = mysql_fetch_row($query))
  {
    if ($row[1]==$wachtwoord)
    {
      echo "U bent succesvol ingelogd als ".$naam;
    //sessions kun je een willekeurige naam geven zolang er maar $_SESSION[''] staat
      $_SESSION['naam'] = $naam;
      echo "<a href='naam_van_pagina'>Ga naar een random pagina</a>";     
    }
    else
    {
      echo "U heeft een verkeerd wachtwoord ingevuld";
    }
  }
}

if (!empty($_SESSION['naam']))
{
  echo "<form action='$_SERVER['PHP_SELF']' method='POST'><input type='submit' value='Uitloggen' name='logout'></form>";
}
else
{
  echo "<form action='$_SERVER['PHP_SELF']' method='POST'>
          Naam:<input type='text' name='inlognaam'><br>
          Wachtwoord:<input type='password' name='wachtwoord'><br>
          <input type='submit' value='Inloggen' name='login'>";
}

?>
 
dankje, ik zal morgen ff maken en ik zal je laten weten of het gelukt is,

walterusten
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan