Hallo allen,
Ik zit met een probleem!! Ik wil graag binnen mijn check.php pagina gegevens controleren en variabelen er mee vullen en die in een sessie plaatsen. het vreemde is, dat het lijkt of mijn sessie niet werkt en niet gevuld wordt!!
Dit is de code:
<?php
include('connect.php');
$query = "SELECT * FROM user WHERE username='$gebruikersnaam' AND password='$wachtwoord'";
$result = mysql_query($query) or die ("Er is een error opgetreden bij het uitvoeren de opdracht. Probeer het later weer eens.");
while($obj = mysql_fetch_object($result))
{
session_start();
$log = "$gebruikersnaam";
$userlvl = "$obj->userlevel";
$iduser = "$obj->userid";
session_register("userlvl");
session_register("userid");
session_register("log");
echo "$log</br>";
echo "$userlvl</br>";
echo "$iduser</br>";
if ($userlvl == 1)
{
echo "<script>document.location.href='admin/index.php'</script>";
}
if ($userlvl == 2)
{
echo "<script>document.location.href='admin/index.php'</script>";
}
if ($userlvl == 3)
{
echo "<script>document.location.href='index.php'</script>";
}
}
?>
snap er niets van!! Wie kan mij helpen!??
?
Onbekende gebruiker
05-11-2004 15:01
<?
session_start();
?>
MOET helemaal boven aan...
en een sessie zet je beter zo:
<?
$_SESSION['sessienaam'] = $waarde;
?>
alvast bedankt voor jullie input!!! (vooral dat van dat java script, dat wist ik nog niet!!)
Maar nu het volgende:
<?php
session_start();
include('connect.php');
$query = "SELECT * FROM user WHERE username='$gebruikersnaam' AND password='$wachtwoord'";
$result = mysql_query($query) or die ("Er is een error opgetreden bij het uitvoeren de opdracht. Probeer het later weer eens.");
while($obj = mysql_fetch_object($result))
{
$_SESSION['log'] = $obj->username;
$_SESSION['userlvl'] = $obj->userlevel;
$_SESSION['user_id'] = $obj->userid;
if ($userlvl == 1)
{
echo "$userlvl<br>";
echo "$log<br>";
echo "$user_id<br>";
// header("Location: admin/index.php");
}
if ($userlvl == 2)
{
header("Location: admin/index.php");
}
if ($userlvl == 3)
{
header("Location: index.php");
}
}
?>
(Code is dus nu veranderd naar wat jullie zeggen!!)
Hij doet het op zich wel, maar dan moet ik eerst op F5 drukken om het scherm te vernieuwen. Ik heb nu gewoon het uitlezen van de variabelen die in de sessie komen geplaatst onder userlevel 1. Hoe komt het dat ik dan eerst nog op F5 moet drukken!??
<?php
session_start();
if (empty($_SESSION['log']))
{
include('connect.php');
$query = "SELECT * FROM user WHERE username='$gebruikersnaam' AND password='$wachtwoord'";
$result = mysql_query($query) or die ("Er is een error opgetreden bij het uitvoeren de opdracht. Probeer het later weer eens.");
while($obj = mysql_fetch_object($result))
{
$_SESSION['log'] = $obj->username;
$_SESSION['userlvl'] = $obj->userlevel;
$_SESSION['user_id'] = $obj->userid;
echo "$userlvl";
}
}
else
{
if ($_SESSION['userlvl'] == 1)
{
echo "$userlvl";
}
if ($_SESSION['userlvl'] == 2)
{
header("Location: admin/index.php");
}
if ($_SESSION['userlvl'] == 3)
{
header("Location: index.php?id=recensietoevoegen");
}
}
?>
Dit is tot dusver mijn laatste code voor mijn check.php. Ik begrijp er werkelijk helemaal niets van! Zodra je inlogt, als beheerder met userlevel 1, dan moet de sessie userlvl gevuld worden met een 1. Vervolgens controleerd hij of hij een waarde heeft waarna er gecontroleerd wordt wat er dan moet gebeuren. In dit geval moet hij de uitkomst van de sessie userlvl als uitkomst geven dmv de echo "$userlvl"
Maar dit doet ie de eerste keer niet. Druk ik op F5, dan krijg ik de juiste waarde te zien.