Loading:

Promocja Helion.pl

PHP Zliczanie liczby odwiedzin każdego użytkownika

Skrypt zlicza liczbę odwiedzin każdego użytkownika



Napisz Artykuł

Listing


//Formularz HTML login.html

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<TITLE>Logowanie</TITLE>
</HEAD>
<BODY>
<CENTER>
<H2>Wprowadź nazwę użytkownika i hasło:</H2>
<FORM NAME = "formularz1"
      ACTION = "login.php"
      METHOD = "POST"
>
<TABLE border="1"><TR>
<TD bordercolor="#FFFFFF">Użytkownik:</TD>
<TD bordercolor="#FFFFFF">
  <INPUT TYPE="text" NAME="user">
</TD>
</TR><TR>
<TD bordercolor="#FFFFFF">Hasło:</TD>
<TD bordercolor="#FFFFFF">
  <INPUT TYPE="password" NAME="haslo">
</TD>
</TR><TR>
<TD COLSPAN="2"
    ALIGN="center"
    BORDERCOLOR="#FFFFFF"
>
  <INPUT TYPE="submit" VALUE="Wejdź">
</TD>
</TR></TABLE>
</FORM>
</CENTER>
</BODY>
</HTML>


//Kod login.php

<?PHP

function readHits()
{
  $arr = array();
  if(!$fd = @fopen("hits.txt", "r")) return $arr;
  while (!feof ($fd)) {
    $line = trim(fgets($fd));
    if(($pos = strpos($line, ":"))===false) continue;

    $tempUser = substr($line, 0, $pos);
    $tempHits = substr($line, $pos + 1, strlen($line) - $pos);
    if ($tempUser == '') continue;

    $arr[$tempUser] = $tempHits;
  }
  fclose($fd);
  return $arr;
}

function writeHits($arr)
{
  if(!$fd = @fopen("hits.txt", "w")){
    return false;
  }
  foreach($arr as $key => $value){
    $tempStr = $key.":".$value."\r\n";
    fwrite($fd, $tempStr);
  }
  fclose($fd);
}

function updateHits($user)
{
  $arr = readHits();
  if(array_key_exists($user, $arr)){
    $arr[$user]++;
  }
  else{
    $arr[$user] = 1;
  }
  writeHits($arr);
}

function checkPass($user, $pass)
{
  if(!$fd = @fopen("passwords.txt", "r")) return false;
  while(!feof ($fd)){
    $line = trim(fgets($fd));
    if(($pos = strpos($line, ":"))===false) continue;

    $tempUser = substr($line, 0, $pos);
    if($tempUser != $user) continue;

    $tempPass = substr($line, $pos + 1, strlen($line) - $pos);

    if($tempPass != $pass) continue;

    updateHits($user);
    return true;
  }
  fclose($fd);
  return false;
}

if(!isSet($_POST["haslo"]) || !isSet($_POST["user"])){
  include('error.html');
}
else{
  if(checkPass($_POST["user"], $_POST["haslo"]))
    include('index1.html');
  else{
    include('error.html');
  }
}
?>

//passwords.txt

user1:pass1
user2:pass2
user3:pass3

 


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=2557

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors