ik heb nu het script van geloof ik aar...

en daar stel je als je inlogt bijvoorbeeld 5 minuten in...
dan log je in...
maar na daadwerkelijk 5 minuten logt hij uit...
is eigelijk goed...
maar eigelijk wil ik het hebben na 5 minuten inactiviteit...
dus iedere keer als er geklikt wordt dat het dan geupdate wordt...

hoe kan ik dit gemakelijk veranderen?

hier een stukje code:


// Start here the login action, and make the random hash
if(($_SERVER['REQUEST_METHOD'] == "POST") && ($_POST['login'])) {
     $selectleden = mysql_query("SELECT * FROM $ledentabel WHERE username = '".sqlsafe($_POST['username'])."' AND password = '".sqlsafe(md5($_POST['password']))."'");
     if(mysql_num_rows($selectleden)) {
                                      // Ingelogd
									  $ip=$_SERVER['REMOTE_ADDR'];
                                      $hash = md5(uniqid(rand(), true));
                                      $get_id = mysql_query("SELECT id FROM ".$ledentabel." WHERE username = '".sqlsafe($_POST['username'])."' AND password = '".sqlsafe(md5($_POST['password']))."'");
                                      mysql_query("UPDATE leden SET active=1 WHERE username='".sqlsafe($_POST['username'])."'"); 
									  $fetch_id = mysql_fetch_assoc($get_id);
                                      $insert_session = mysql_query("INSERT INTO sessions (id, userid, hash, logintime, ip) VALUES ('','".$fetch_id['id']."','".$hash."',NOW(), '".$ip."')");

                                      // for debugging:
                                      #$bericht = "Ingelogd met hash: ".$hash." En je hebt id-nummer:".$fetch_id['id'];


                                      if ($insert_session) {
                                         setcookie ("id", $fetch_id['id'],time()+$_POST['sessiontime']);
                                         setcookie ("hash", $hash,time()+$_POST['sessiontime']);
                                         header('location:menu.php');
                                                           } else {
                                                           echo "Fout in de query: ".mysql_error();
                                                           exit();
                                                           }
                                      }  else {
                                      // Foute pass
                                      $bericht = "<b>Je inloggegevens komen niet overeen met wat in de database staan.</b>";
                                      }

dit stukje code heb ik al geprobeerd:


function update_tijd(){
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.open("GET", "het_bestand_dat_gaat_updaten.php", false);
  xmlhttp.send(null);
} 


maar op alles wat ik wijzig krijg ik errors...

dat is dus wel wat er aangepast moet worden?
anybody can help me?
Als je de bestanden die je gebruikt post, dan kunnen we meer zien...
oke,
meld maar welke jullie nog meer nodig hebben:

functions.php


<?php

include('config.php');

function sqlsafe($data) {
$data = mysql_real_escape_string($data);
return $data;
}



// Make MySQL-database connection
@mysql_connect($server, $user,$pass) or die ("Can't connect to MySQL database server");
@mysql_select_db($database) or die("Can't find database.");

// Start here the login action, and make the random hash
if(($_SERVER['REQUEST_METHOD'] == "POST") && ($_POST['login'])) {
     $selectleden = mysql_query("SELECT * FROM $ledentabel WHERE username = '".sqlsafe($_POST['username'])."' AND password = '".sqlsafe(md5($_POST['password']))."'");
     if(mysql_num_rows($selectleden)) {
                                      // Ingelogd
									  $ip=$_SERVER['REMOTE_ADDR'];
                                      $hash = md5(uniqid(rand(), true));
                                      $get_id = mysql_query("SELECT id FROM ".$ledentabel." WHERE username = '".sqlsafe($_POST['username'])."' AND password = '".sqlsafe(md5($_POST['password']))."'");
                                      mysql_query("UPDATE leden SET active=1 WHERE username='".sqlsafe($_POST['username'])."'"); 
									  $fetch_id = mysql_fetch_assoc($get_id);
                                      $insert_session = mysql_query("INSERT INTO sessions (id, userid, hash, logintime, ip) VALUES ('','".$fetch_id['id']."','".$hash."',NOW(), '".$ip."')");

                                      // for debugging:
                                      #$bericht = "Ingelogd met hash: ".$hash." En je hebt id-nummer:".$fetch_id['id'];


                                      if ($insert_session) {
                                         setcookie ("id", $fetch_id['id'],time()+$_POST['sessiontime']);
                                         setcookie ("hash", $hash,time()+$_POST['sessiontime']);
                                         header('location:menu.php');
                                                           } else {
                                                           echo "Fout in de query: ".mysql_error();
                                                           exit();
                                                           }
                                      }  else {
                                      // Foute pass
                                      $bericht = "<b>Je inloggegevens komen niet overeen met wat in de database staan.</b>";
                                      }



                                                                           }

// here is the function for the login-check
function checklogin() {
if (mysql_num_rows(mysql_query("SELECT userid, `hash` FROM `sessions` WHERE `userid` = '".sqlsafe($_COOKIE['id'])."' AND `hash` = '".sqlsafe($_COOKIE['hash'])."'"))) {

	    $return  = TRUE;
    } else {
		$return = FALSE;
		
    }

    return $return;
}

// Data uit leden-tabel oproepen ($get_userdata['username'], $get_userdata['warnings']
$get_data_qry = mysql_query("SELECT userid, `hash` FROM `sessions` WHERE `userid` = '".sqlsafe($_COOKIE['id'])."' AND `hash` = '".sqlsafe($_COOKIE['hash'])."'");
$get_data = mysql_fetch_assoc($get_data_qry);
$get_userdata = mysql_fetch_assoc(mysql_query("SELECT * FROM $ledentabel WHERE id = '".$get_data['userid']."'"));

function onkeypress(){

$id	  = $get_userdata['id'];
mysql_query("UPDATE sessions SET logintime = NOW() WHERE id=$id");

} 

?>


add_log.php



<?php
include "config.php";
include "functions.php";
if (checklogin()) {
include ("gegevens.php");
$id	  = $get_userdata['id'];
mysql_query("UPDATE leden SET active=1 WHERE id=$id");
?>
<html>
<head>
	<title><?= $sitenaam ?></title>
	<link href="CSS/style.css" rel="stylesheet" type="text/css" />
	<script src="js/functions.js" language="javascript"></script>
	</head>
<body>
	


	<div align="center">
		<div id="main">
			<div id="header">
			
			</div>
						<div id="menu">
				<li>
					<a href="welkom.php"> Home </a>
				</li>
								<li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">Zoeken</a>
										<div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
						<a href="naam.php">Klantgegevens</a>
						<a href="categorie.php">Categorie/logboek</a>
						<a href="add_cat1.php">Categorie toevoegen</a>
						<a href="add_log1.php">Logboek toevoegen</a>
						<a href="zoekcat.php">CATEGORIE VERWIJDEREN</a>
						</div>
				</li>
				<li>
					<a href="#" onmouseover="mopen('m2')" onmouseout="mclosetime()"> Gebruikers </a>
					<div id="m2" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
						<a href="lidonline.php">Gebruikers online</a>
						<a href="ledenlijst.php">Gebruikerslijst</a>
					</div>
				</li>
				<li>
					<a href="useropties.php">Wachtwoord</a>
				</li>
				<li>
					
					<a href="uitloggen.php">Uitloggen</a>
				</li>

			</div>
			<div id="content1">
				<div align="center" id="inhoud1">
								
					Logboek toevoegen.
						<hr size="1" color="black">

					<form method="POST" action="add_log.php">
					
<?php
	
	

// Als er op verzenden is gedrukt:
	if(isset($_POST['verzenden']))
{

// Het toevoegen van de categorie gebeurt hier:
	$sql = "INSERT INTO logboek (id, Omschrijving_log, Date, Naam_log) VALUES ('','".$_POST['Omschrijving']."', NOW(), '".$_POST['naam']."')";
    
// als het gelukt is = true dan echo'n
	 if($sql == TRUE) {
		echo "Het logboek is met succes toegevoegd!";
		}$query = mysql_query($sql) OR DIE(mysql_error()); 
}
	 
// Is er niet op verzenden gedrukt:
	 else{

// Gegevens ophalen uit de tabel relatie aan de hand van het ID:
	$query = mysql_query("SELECT * FROM relatie WHERE id = '".mysql_real_escape_string($_GET['id'])."'");
while($row = mysql_fetch_assoc($query))
{
//Formulier laten zien, waarmee een categorie toegevoegd kan worden:
$naam     = $row['Naam'];
$zoeknaam = $row['Zoeknaam']; 
	?>
<?// Een hidden veld waarin de id neergezet wordt van de klant (weet mysql dalijk bij welke klant de categorie hoort?>
	<input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
	<font size='2'>	
		<?php
		echo '<b>Klantgegevens: </b>';
echo '<br>'.$row['Voornaam'].'&nbsp;'.$row['Naam'];
echo '<br>'.$row['Adres'];
echo '<br>'.$row['Pcode'];
echo '<br>'.$row['Plaats'];
echo '<br>'.$row['Tel1'];
echo '<br>'.$row['Mobiel'];
echo '<br>'.$row['Email'];
		?>
	
<?php } ?>
	Omschrijving:<br>
		<textarea name="Omschrijving" cols=90 rows=20 onkeypress="onkeypress()"></textarea><br>
		<input type="hidden" name="naam" value="<?=$zoeknaam?>">
		<input type="submit" name="verzenden" value="Verzenden!">
	</font>

</form>
	
	</form>
	<?php
}
	?>
				
				
				</div>
		</div></div>
	</div>
</body>
</html>
<?php
} else {
     echo '<center><h2>Niet ingelogd</h2>';
	 echo '<br><br><h4><a href="inloggen.php">Log nu in!</a></h4></center>';
}
?>
functions.js miss?

en kan je btw de hoofdletters naar kleine letters zetten in de textarea, tis niet fout maar is beetje raar omdat alle andere tags wel in kleine letters zijn,
ik heb geen functions.js,

is deze nodig dan?

maar zal dat van hoordletters veranderen :)
nou ja, ik zie nergens de xmlHttpRequest object in javascript en je verwijst in de script naar js/functions.js

het xmlHttpRequest heb je zeker nodig om de gebruiker naar een php script te sturen zonder dat je pagina's gaat refreshen.

het zal er ongeveer zo uitzien,

gebruiker drukt knop in > javascript xmlHttpRequest word ingeschakeld > request word gestuurd naar php gestuurde pagina > php slaat je info op

zonder de javascript zal het dus niet gaan werken
klopt ik weet helemaal niet hoe dit in zijn werk gaat...

heb al flink gegoogeld op onkeypress/onkeydown....
maar wordt er niet echt wjzer van...

je uitleg klinkt logsisch...
maar nog altijd weet i niet wat ik moet doen...
ik heb nu dit:


<?php
  <script>
        function GetChar (event){
            var characterCode = event.charCode;
            if (characterCode == undefined) {
                characterCode = event.keyCode;
            }
            alert ("je typte iets in");
        }
    </script>

	
	Omschrijving:<br>
		<textarea name="Omschrijving" cols=90 rows=20 onkeypress="GetChar (event);"></textarea><br>
		<input type="hidden" name="naam" value="<?=$zoeknaam?>">
		<input type="submit" name="verzenden" value="Verzenden!">
?>


deze werkt wel,
zodra ik iets type komt er te staan:

je typte iets in...

dit doet hij goed, zoals opgedragen.

maar nu wil ik dus inplaats van dat hij die melding geeft een update query uitvoert...

hoe kan ik via javascript een update query maken?
je textarea;

<textarea onkeypress="return update_status();"></textarea>


je javascript:

<script type="text/javascript" language="javascript">
<!--
function update_status(){
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.open("GET", "script.php", false);
  xmlhttp.send(null);
}
-->
</script>


je php
<?php
include("database gebeuren en alle andere info die je nodig hebt");

$query = "UPDATE blablabla... ik geloof dat dit wel duidelijk is.";
?>
hmm,
ben er hele tijd mee bezig geweest....

update pagina werkt gewoon...
maar hij wordt niet uitgevoerd als ik begin te typen...

bij deze mijn 2 pagina's

add_log.php (stukje)


<script type="text/javascript" language="javascript">
<!--
function update_status(){
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.open("GET", "updatetime.php", false);
  xmlhttp.send(null);
}
-->
</script> 
	
	Omschrijving:<br>
		<textarea name="Omschrijving" cols=90 rows=20 onkeydown="return update_status();"></textarea><br>
		<input type="hidden" name="naam" value="<?=$zoeknaam?>">
		<input type="submit" name="verzenden" value="Verzenden!">
	</font>

</form>
	


en updatetime.php script

<?php
include ("gegevens.php");
include "functions.php";
if (checklogin()) {

$id	  = $get_userdata['id'];

if
(mysql_query("UPDATE sessions SET logintime = NOW() WHERE userid = $id"))
{
echo 'gelukt!<br><br>';
echo '<br>' . $id . '<br>';
}
else{
die('Could not update data: ' . mysql_error());
echo 'Mislukt!';
}

} else {
     echo '<center><h2>Niet ingelogd</h2>';
	 echo '<br><br><h4><a href="inloggen.php">Log nu in!</a></h4></center>';
}

?> 

Reageren