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>";
                                      }

@Incarnez hoe kom je daar nu weer bij?


IIG. Gebruik maken van jQuery is ook een optie. En volgens mij veel makkelijker.

De volgende code moet het al doen:


$(document).keydown(function() {
  $.get('updatetime.php', function() {
    alert('Ik werk');
  });
});
hoor je dan de JQuery library niet te gebruiken? (ofwel, eerst downloaden, ergens neerzetten en een <script src.. erheen linken?

gebruik zelf geen JQuery dus miss zit ik er naast, maar als je er wel iets voor moet downloaden etc dan is dat wel erg veel moeite voor 1 simpele functie,
code werkt niet...
ook wil ik dat alleen bij enter geupdate wordt,
en niet met alle invoeren...
ik heb nu het volgende:


  {
  // IE code
	var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	xmlhttp.open("GET", "updatetime.php", false);
	xmlhttp.send(null);
  }


ik merk dat deze code wel werkt,
maar hij vraagt maar 1 keer updatetime.php aan...

dit moet eigelijk iedere keer gebeuren als ik enter type.

want die xmlhttprequest werkt niet in ie8
dus moet toch op een andere manier...
de xmlhttprequest werkt prima in IE8 (ik gebruik hem zelf) IE8 geeft wel een waarschuwing waarbij hij vraagt of je de website wel vertrouwd, (in een balk bovenin) als je rechtermuisknop -> toestaan doet dan werkt het prima.
bij mij niet,
snap er niets van...

op meerdere pc's geprobeerd,
met ie7 en ie8...

maar bij allen voert hij bij de eerste enter een update uit...
maar vervolgens bij een enter doet hij niets...
word de functie wel goed opgeroepen in de textarea?

dat, of dat javascript uitgeschakeld staat op IE zijn de enige oorzaken die ik op ht moment kan bedenken
hij wordt niet meer opgeroepen via textarea...
gewoon bij iedere enter die er gebruikt wordt in die pagina update hij de database,

op die pagina staat maar 1 tekstveld dus dat is niet zon groot probleem...

javascript uigeschakeld,
dat zal ik is even gaan controleren...

maar lijkt me zeer onwaarschijlijk omdat hij hem de 1ste keer wel update...
Nos. jquery includen is het volgende:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"</script>
klaar.


Maar goed het probleem dan maar weer.

Incarnez,
Niet alles word hier voorgekouwen. Wij komen niet met volledige scripts aanzetten die alles precies doen zoals jij dat wilt.

Als ik deze code test op een website met jQuery. Dan krijg ik precies te zien wat ik wil. Namenlijk, een $_GET request die niet slaagt omdat die op mijn websites niet de updatetime.php kan vinden


de volgende code werkt bij mij. Mag je 1op1 includen in je head. Dan moet die het toch echt doen.


<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(document).ready(function() { 
  $(document).keydown(function(e) {
    if (e.keyCode == 13) {
      $.get('updatetime.php', function() {
      alert('Ik werk');
      });
    }
  });
});
</script>


moet je alleen die alert ff verwijderen, daaraan zie je dat die werkt.
Bij je volgende topics iets meer zelf proberen. niet alles klakkeloos overnemen, meer google gebruiken en goed lezen naar wat er gezegt word.
ps. als die hierna nog niet werkt dan is je server ongelooflijk brak. Hier werkt het 1op1.

Reageren