teneerste aan iedereen die ik heb geschreven met een PM mijn excuus ik wist niet dat dat niet mocht mijn excuus daarvoor,

ik zal hier in de topic de scripts plaatsen ,

ik kom niet uit hoe het kan dat mijn expire.php niet werkt en dus ergens moet er iets niet kloppen

expire.php


 <?php

// tijd.php meegeven


// var maken met de tijd die er nu is
$nu = mktime($uur,$minuut,$seconden,$maand,$dag,$jaar);
// var maken voor de tijd dat de sessie verloopt
$expire =  mktime(date("H")+10, date("i") , date("s"), date("m"), date("d"), date("Y"));

// wanneer de expiretijd in de sessie kleiner dan de tijd van nu, melding geven en uitloggen.
    if (isset($_SESSION['expire']) && $_SESSION['expire'] < $nu){
    echo ("<font color=red>Je sessie is verlopen, log opnieuw in</font><br>");
    $fout = "ja";
    include_once("uitloggen.php");
    exit;
    }
// wanneer de sessie nog geldig is, tijd vernieuwen
    else {
    $_SESSION['expire'] = $expire;
        }

index.php

 <?php
//session_start();

// wanneer alle velden zijn ingevuld dan hier verder
if (isset($_POST['username']) && isset($_POST['password']) && $_POST['username'] <> NULL && $_POST['password'] <> NULL){
    // standaart is er geen fout
    $fout = "nee";        
    include("verbinden.php");
    // zoeken naar de gebruiker, hier ook de aanpassing doen voor encryptie 
    $gebruiker_sql = "SELECT id,type FROM user WHERE loginnaam = '" . $_POST['username'] . "' AND wachtwoord = '" . $_POST['password'] . "'";
    $gebruiker_result = mysql_query($gebruiker_sql);
    // wanneer er een gebruiker is gevonden dan hier verder
    if ($gebruiker_result){
        $gebruiker = mysql_fetch_array($gebruiker_result);
    // controleren of het geselecteerde type van de gebruiker overeenkomt
        if ($gebruiker['type'] == $_POST['type']){
            //$login meegeven (ivm foutafhandeling later)
            $login = "succes";
            // de sessie variabelen vullen
            $_SESSION['id'] = $gebruiker['id'];
            include("tijd.php");
            // de expiretijd de 1e keer instellen
            $expire =  mktime($uur,$minuut,$seconden,$maand,$dag,$jaar);
            $_SESSION['expire'] = $expire;
            $_SESSION['type'] = $gebruiker['type'];
            echo ("U bent ingelogd, een moment gedult alstublieft, u wordt doorgestuurd");
            // met javascript doorlinken naar een andere pagina. De sessie blijft bestaan!
?>

<html>
<head>
<meta http-equiv="refresh" content="2;URL=index2.php" />
</head>
</html>

<?
            }
        else {
            // wanneer type niet overeenkomt dan $login = "type"
            $login = "type";
            }
        }
        
// FOUTAFHANDELING:

// als de typen van de login niet overeenkomen dan fout geven        
    if (isset($login) && $login == "type"){
        $fout = "ja";
        echo ("<font color=red>U hebt niet de bevoegdheid om als dit type in te loggen!</font>");
        }
// als $login niet bestaat, is er geen record in de DB gevonden met de user en pass combinatie
    else if (!isset($login)){
        $fout = "ja";
        echo ("<font color=red>De combinatie van gebruikersnaam en wachtwoord is onjuist</font>");
        }
    }

// wanneer maar 1 van de 2 velden is ingevuld fout geven
else if (isset($_POST['username']) || isset($_POST['password'])){
    $fout == "ja";
    echo ("<font color=red>Vul beide velden in voordat u in kan loggen</font>");
    }
    
// wanneer niets ingevuld of wanneer er een fout is, formulier weergeven
if (!isset($_POST['username']) && !isset($_POST['password']) || $fout == "ja"){
?>
<form name="form1" method="post" action="index.php">
  <table width="80%" border="0">
    <tr>
      <td width="15%">Gebruikersnaam:</td>
      <td><input name="username" type="text" id="username"></td>
    </tr>
    <tr>
      <td>Wachtwoord:</td>
      <td><input name="password" type="password" id="password"></td>
    </tr>
    <tr>
      <td>Opdrachtgever/Personeelslid </td>
      <td><select name="type">
        <option value="personeel">PERSONEEL</option>
        <option value="opdrachtgever">OPDRACHTGEVER</option>
      </select></td>
    </tr>
  </table>
  <p>
    <input name="Login" type="submit" id="Login" value="Login">
  </p>
</form>


<?php
}
?> 

index2.php

<?php
session_start();

// in expire.php wordt gekeken of de tijd verlopen is
include ("expire.php");
    
//als de sessie bestaat, dan gaat die hier verder
if (isset($_SESSION['id'])){
    include("verbinden.php");
    if ($_SESSION['type'] == "personeel"){
        // wanneer als PERSONEEL ingelogd, dan functie PERSONEEL aanroepen, id meegeven
        personeel($_SESSION['id']);
        }
        // wanneer als OPDRACHTGEVER ingelogd, dan functie OPDRACHTGEVER aanroepen, id meegeven
    else if ($_SESSION['type'] == "opdrachtgever"){
        opdrachtgever($_SESSION['id']);
        }
    }

// als de sessie niet bestaat, geef melding en ga terug naar index.php
else if(!isset($_SESSION['id'])){
    echo ("<font color=red>U bent niet ingelogd!</font>");
?>

<html>
<head>
<meta http-equiv="refresh" content="2;URL=index.php" />
</head>
</html>

<?
    }

// de functie PERSONEEL, krijgt een ID mee, om later gegevens uit DB te kunnen halen.
function personeel($id){
    echo $id;
    echo ("<br><a href=uitloggen.php>Uitloggen</a><br><br>");
    echo ("<br>Personeelslid u bent ingelogd ");
    }

// de functie OPDRACHTGEVER, krijgt een ID mee, om later gegevens uit DB te kunnen halen.
function opdrachtgever($id){
    echo $id;
    echo ("<br><a href=uitloggen.php>Uitloggen</a><br><br>");
    echo ("<br>Opdrachtgever u bent ingelogd");
    }
?>

tijd.php

<?php
    $uur = date("H");
    $minuut = date("i");
    $seconden = date("s");
    $dag = date("d");
    $maand = date("m");
    $jaar = date("Y");
            
?> 

uitloggen.php


<?php
session_start();
session_destroy();
// sessie is beëindigd, ga terug naar de loginpagina
?>

<html>
<head>
<meta http-equiv="refresh" content="0;URL=index.php" />
</head>
</html>

<?

exit();
?> 


verbinden.php

<?php 

$mysql['host']           = "db.vanmijn.database.nl";
$mysql['gebruikersnaam']         = "mijngebruikersnaam";
$mysql['wachtwoord']         = "mijnwachtwoordd";
$mysql['database']             = "midatabasenaam";

mysql_connect($mysql['host'],$mysql['gebruikersnaam'],$mysql['wachtwoord']);
mysql_select_db($mysql['database']);

?> 

mijn setup.php

<?php
include("verbinden.php");

$create_user="CREATE TABLE `user` (
  `id` int(255) NOT NULL auto_increment,
  `loginnaam` varchar(255) NOT NULL default '',
  `wachtwoord` varchar(255) NOT NULL default '',
  `type` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `username` (`loginnaam`)
)";
$bool=mysql_query($create_user);
if($bool==1) echo ("Usertabel is aangemaakt<br>");
    if($bool<>1) echo ("<center><font color=red>Er is een fout opgetreden bij het maken van userteabel.<br></font>");


$user_insert="INSERT INTO `user` VALUES (1,'John van Kooten','wachtwoord','personeel')";
$bool=mysql_query($user_insert);
$user_insert="INSERT INTO `user` VALUES (2,'Marc van Kooten','wachtwoord','personeel')";
$bool=mysql_query($user_insert);
$user_insert="INSERT INTO `user` VALUES (3,'Tester','wachtwoord','personeel')";
$bool=mysql_query($user_insert);
$user_insert="INSERT INTO `user` VALUES (4,home',kanarie','opdrachtgever')";
$bool=mysql_query($user_insert);
$user_insert="INSERT INTO `user` VALUES (5,'gegege','pass','vakantie')";
$bool=mysql_query($user_insert);
if($bool==1) echo ("Users zijn aangemaakt<br>");
    if($bool<>1) echo ("<center><font color=red>Er is een fout opgetreden bij het maken van Users.<br></font>");

$create_personeel="CREATE TABLE `personeel` (
  `id` int(255) NOT NULL auto_increment,
  `personeelsnr` varchar(7) NOT NULL default '',
  `voornaam` varchar(20) NOT NULL default '',
  `tussenvoegsel` varchar(20) NOT NULL default '',
  `achternaam` varchar(20) NOT NULL default '',
  `adres` varchar(40) NOT NULL default '',
  `postcode` varchar(6) NOT NULL default '',
  `plaats` varchar(25) NOT NULL default '',
  `functie` varchar(40) NOT NULL default '',
  `in dienst getreden` varchar(12) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `personeelsnr` (`personeelsnr`)
)";
$bool=mysql_query($create_personeel);
if($bool==1) echo ("Tabel personeel is aangemaakt<br>");
    if($bool<>1) echo ("<center><font color=red>Er is een fout opgetreden bij het maken van tabel personeel.<br></font>");
	
$personeel_insert="INSERT INTO `personeel` VALUES (1,'Tester','Test','','Testerterman','de testerbree 54','8106AT','Testerheem','Testeman','01-04-2009')";
$bool=mysql_query($personeel_insert);
$personeel_insert="INSERT INTO `personeel` VALUES (2,'max van maxen','max','van','maxen','maxenstraat 3,'1234mx','maxdorp','maxioionist','16-03-2009')";
$bool=mysql_query($personeel_insert);
$personeel_insert="INSERT INTO `personeel` VALUES (3,'dirc van teuren','dirc','van','teuren','dircvanteurenstraat 26','4321XX','teurendorp','Directeur','09-03-2009')";
$bool=mysql_query($personeel_insert);
if($bool==1) echo ("Personeelsleden zijn aangemaakt<br>");
    if($bool<>1) echo ("<center><font color=red>Er is een fout opgetreden bij het maken van personeelsleden.<br></font>");	
	
$create_opdrachtgever="CREATE TABLE `opdrachtgever` (
  `id` int(255) NOT NULL auto_increment,
  `debiteurnaam` varchar(255) NOT NULL default '',
  `debiteurnr` varchar(20) NOT NULL default '',
  `adres` varchar(40) NOT NULL default '',
  `postcode` varchar(6) NOT NULL default '',
  `plaats` varchar(25) NOT NULL default '',
  `aanhef` varchar(40) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `debiteurnaam` (`debiteurnaam`)
)";
$bool=mysql_query($create_opdrachtgever);
if($bool==1) echo ("Tabel opdrachtgever is aangemaakt<br>");
    if($bool<>1) echo ("<center><font color=red>Er is een fout opgetreden bij het maken van tabel opdrachtgever.<br></font>");	

$opdrachtgever_insert="INSERT INTO `opdrachtgever` VALUES (4,hotel','1',kanarieweg 20','1166BW','Amsterdam','Dhr F kwekkeboom')";
$bool=mysql_query($opdrachtgever_insert);

// het type float(3,1) betekend dat er maximaal 2 tekens voor de , staan en minimaal (en maximaal) 1 erachter.
$create_info="CREATE TABLE `info` (
  `id` int(255) NOT NULL auto_increment,
  `personeelsnr` varchar(7) NOT NULL default '',
  `E-mail` varchar(255) NOT NULL default '',
  `password` varchar(255) NOT NULL default '',
  `parttime full time` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
)";
$bool=mysql_query($create_info);
if($bool==1) echo ("info tabel is aangemaakt<br>");
    if($bool<>1) echo ("<center><font color=red>Er is een fout opgetreden bij het maken van info tabel.<br></font>");

$info_insert="INSERT INTO `info` VALUES (1,'John van Kooten','[email protected]',wachtwoord,'fulltime')";
$bool=mysql_query($info_insert);
$info_insert="INSERT INTO `info` VALUES (2,'Marc van Kooten','[email protected]',wachtwoord,'fulltime')";
$bool=mysql_query($info_insert);
$info_insert="INSERT INTO `info` VALUES (3,'Tester','[email protected]',wachtwoord,'part time')";
$bool=mysql_query($info_insert);
$opdrachtgever_insert="INSERT INTO `opdrachtgever` VALUES (4,hotel','wachtwoord',geen,'onbepaalde tijd')";
$bool=mysql_query($opdrachtgever_insert);
if($bool==1) echo ("personeelsleden en opdrachtgevers info zijn aangemaakt<br>");
    if($bool<>1) echo ("<center><font color=red>Er is een fout opgetreden bij het maken van personeelsleden en opdrachtgevers info.<br></font>");

// Het stukje voor wissen van de database, wanneer er een fout was ontstaan bij het creëren.

//*$wissen = "DROP DATABASE `personeel opdrachtgevers`";
$voeruit = mysql_query($wissen);
if($voeruit==1) echo ("Database is gewist");
if($voeruit<>1) echo ("FOUT BIJ WISSEN");*/

?> 


dit zijn alle scripts die ik gebruik dus als iemand weet hoe ik dit moet oplossen is welkom



Misschien kan je even relevante code plaatsen waar je foutmeldingen over krijgt.

Welke foutmeldingen krijg je?

Zet error_reporting(E_ALL); bovenaan elke pagina.

/ Edit */

Heb je er gister al opgewezen:

<?PHP

$expire = mktime($uur,$minuut,$seconden,$maand,$dag,$jaar);

?>

Je include is fout, je kan $uur etc niet doen omdat je ze telkens afsluit met een ;
ark schreef op 10.05.2009 23:55
Misschien kan je even relevante code plaatsen waar je foutmeldingen over krijgt.

Welke foutmeldingen krijg je?

Zet error_reporting(E_ALL); bovenaan elke pagina.

/ Edit */

Heb je er gister al opgewezen:

<?PHP

dat klopt maar dat staat als coment met // de include

$expire = mktime($uur,$minuut,$seconden,$maand,$dag,$jaar);

?>

Je include is fout, je kan $uur etc niet doen omdat je ze telkens afsluit met een ;
Plaats alléén relevante code en geen complete scipts. Niemand heeft zin om honderden regels door te spitten.

Stel ook een duidelijke vraag met een duidelijke probleemomschrijving. 'Het werkt niet' is een overbodige opmerking want de meeste dingen hier gepost werken niet.

Je post is nu niet echt leesbaar. Pas je post even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Om php code zet je uiteraard dit:<?php en ?>Gebruik je knop om dit te doen.

SanThe.
@ John

Hier schieten we niks mee op.

Plaats relevante code waar je op stuk loopt.
Zoals ik al in m'n eerdere post zei, Welke foutmeldingen krijg je?

Je script is ook erg onduidelijk.
Ik mis fouten afhandeling van de Query's

Zet error_reporting(E_ALL); bovenaan je pagina's.
Parse error: syntax error, unexpected T_VARIABLE in /storage/mijndomein/users/136729/public/sites/www.mjenzo.nl/login/expire.php on line 9

darbij heb ik deze phpscript dan bij

<?php

//tijd.php meegeven
include (tijd.php)


// var maken met de tijd die er nu is
$nu = mktimemktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"))
// var maken voor de tijd dat de sessie verloopt
$expire = mktime(date("H")+10, date("i"), date("s"), date("m"), date("d"), date("Y"))

// wanneer de expiretijd in de sessie kleiner dan de tijd van nu, melding geven en uitloggen.
if (isset($_SESSION['expire']) && $_SESSION['expire'] < $nu){
echo ("<font color=red>Je sessie is verlopen, log opnieuw in</font><br>");
$fout = "ja";
include_once("inloggen/uitloggen.php");
exit;
}
// wanneer de sessie nog geldig is, tijd vernieuwen
else {
$_SESSION['expire'] = $expire;
}

?>

hoop dat het nu beter te lezen is
$nu = mktimemktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"))

Daar mis je een ; op het einde

$expire = mktime(date("H")+10, date("i"), date("s"), date("m"), date("d"), date("Y"))

Daar mis je ook een ; op het einde.

//tijd.php meegeven
include (tijd.php)

Zet even single quotes om tijd.php want dat mis je ook.

/* EDIT */

<?php

/* Errors */
error_reporting(E_ALL);

//tijd.php meegeven
include ('tijd.php');

// var maken met de tijd die er nu is
$nu = mktime(date('H'), date('i'), date('s'), date('m'), date('d'), date('Y'));

// var maken voor de tijd dat de sessie verloopt
$expire = mktime(date('H')+10, date('i'), date('s'), date('m'), date('d'), date('Y'));

// wanneer de expiretijd in de sessie kleiner dan de tijd van nu, melding geven en uitloggen.
if (isset($_SESSION['expire']) && $_SESSION['expire'] < $nu)
{
echo '<font color=red>Je sessie is verlopen, log opnieuw in</font><br>';
$fout = 'ja';
include_once('inloggen/uitloggen.php');
exit;
}
// wanneer de sessie nog geldig is, tijd vernieuwen
else
{
$_SESSION['expire'] = $expire;
}

?>

Je code even wat overzichtelijker gemaakt en je Dubbele quotes weggehaald.
Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>

Verder
<?php
$nu = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"));
// is precies hetzelfde als
$nu = time();

$expire = mktime(date("H")+10, date("i") , date("s"), date("m"), date("d"), date("Y"));
// is precies hetzelfde als
$expire = time() + (10 * 3600);
?>
Dus waarom allemaal zo moeilijk?
oke heb single quotes ("tijd.php") erom gezet
en ; toegevoegd op de einde

en weer zelfe melding

Parse error: syntax error, unexpected T_VARIABLE in /storage/mijndomein/users/136729/public/sites/www.mjenzo.nl/login/expire.php on line 9
Al deze vars bestaan niet: $uur,$minuut,$seconden,$maand,$dag,$jaar)
oke ik heb dat dus veranderd, ik krijg als melding niet ingelogd en wordt dan weer naar index.php terug gestuurd

Reageren