[ Príspevkov: 20 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.05.08
Prihlásený: 08.02.12
Príspevky: 205
Témy: 54 | 54
Bydlisko: MpBA
NapísalOffline : 03.06.2009 16:47 | zapisovanie IP

ahoj...mohli by ste mi napísať že aby sa mi v tomto počítadle zapisovala do súboru IP adresa???
Kód:
<?
$file = "pocet.txt";
$open_file = fopen ($file,'r+');
$pocet = fread ($open_file, '100("file")') + 1;
rewind ($open_file); /
fwrite ($open_file, $pocet);
fclose ($open_file);
?>

<? include $file; ?>



Offline

Čestný člen
Čestný člen
zapisovanie IP

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 03.06.2009 18:44 | zapisovanie IP

IP adresa je v premennej
Kód:
$_SERVER['REMOTE_ADDR']


Offline

Užívateľ
Užívateľ
zapisovanie IP

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 03.06.2009 18:46 | zapisovanie IP

Zdravim,
Je to len klasicky textovy subor, ktory sati prepisuje. Ak by si tam chcel ulozit IP adresu tak by sa ti ukladala iba IP posledneho navstevnika. Co takto to riesit napr. cez databazu? Je to ovela lepsie riesenie. Chcel to jednu tabulku a jeden INSERT. A mozes si tam ukladat nielen IP ale napr. aj OS navstevnika, Web Browser atd. Posluzia ti na to superglobalna premenna $_SERVER.
Alebo alternativa ak chces pocitadlo chod na www.pocitadlo.sk a tam si ho jednoducho vyvoris a kod si skopcis na tvoj web.


Offline

Čestný člen
Čestný člen
zapisovanie IP

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 03.06.2009 18:47 | zapisovanie IP

Neprepisuje sa, subor sa otvara v mode r+. DB je prilis pomala, nepouzival by som ju na taketo zbytocnosti.


Offline

Užívateľ
Užívateľ
zapisovanie IP

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 03.06.2009 19:09 | zapisovanie IP

Pardon citanie - zapis.
Ja si zase vravim preco nie. A vobec nechapem vete DB je prilis pomala, nepouzival by som ju na taketo zbytocnosti.. Ved ked sa uci a ma chut nieco sam vytvorit tak preco nie. Mozno riesis jadrovu fyziku no je vec nazoru ci to je alebo nie je zbytocnost. Mozno ked si robil prvy insert tak tam boli nahdzane horsie veci. A o pomalosti by som taktiez pomlcal.


Offline

Užívateľ
Užívateľ
zapisovanie IP

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 03.06.2009 19:15 | zapisovanie IP

A mas tam maly syntax error.Asi ked si mazal komentar
Kód:
rewind ($open_file); /

(bez /)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.05.08
Prihlásený: 08.02.12
Príspevky: 205
Témy: 54 | 54
Bydlisko: MpBA
Napísal autor témyOffline : 03.06.2009 19:49 | zapisovanie IP

jj :D vsimol som si :D //


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.05.08
Prihlásený: 08.02.12
Príspevky: 205
Témy: 54 | 54
Bydlisko: MpBA
Napísal autor témyOffline : 03.06.2009 19:51 | zapisovanie IP

a ano chcel som si nieco vytvoriť sám :D


Offline

Užívateľ
Užívateľ
zapisovanie IP

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 03.06.2009 20:09 | zapisovanie IP

Vyborna cesta ako sa naucit zakladny prace s databazou. Priblizne ako to spravis som ti napisal hore. Problematiku si prestuduj. Ak by si potrebol pomoc napis - spravim ti mini tutorial.

Vela stastia :D


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.05.08
Prihlásený: 08.02.12
Príspevky: 205
Témy: 54 | 54
Bydlisko: MpBA
Napísal autor témyOffline : 04.06.2009 16:11 | zapisovanie IP

ten mini tutorial by bol viac než vhodnýý :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 04.06.2009 20:49 | zapisovanie IP

Raz som robil taký tutorial ... neviem či sa to tu ešte nájde ... skús pohľadať ďalekú históriu, pokil nie tak už dlhšie uvažujem že vytvorím novú verziu :D


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.01.09
Prihlásený: 22.06.11
Príspevky: 87
Témy: 25 | 25
NapísalOffline : 04.06.2009 21:57 | zapisovanie IP

suhlasim s vami, a najma s jurom, kedze aj podla mna je DB zbytocnost ale namiesto fopen ja pouzivam radsej ine fcie :) nedavno som podobny skript potreboval tak ho tu hodim

Kód:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
printf($ip);
$ipv = $ip . "_____&nbsp;_____<br>";
$file = 'ip.txt';
$write = file_put_contents($file, $ipv, FILE_APPEND | LOCK_EX);
$read = file_get_contents('ip.txt');
echo "<br><br>Predchadzajuce IP adresy:<br>".$read;
?>


Offline

Užívateľ
Užívateľ
zapisovanie IP

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 05.06.2009 1:36 | zapisovanie IP

Zdravím,
Tak ti napíšem mini tutorial ako si niečo také môžeš vytvoriť. (Aj keď si chlapci myslia, že je to zbytočnosť dúfam, že ti to aspoň trošku pomôže) .Počítadlo si môžeš vylepšovať, dolaďovať a prispôsobovať podľa seba. Predložím ti iba jeden z návrhov, ktorý nie je príliš sofistikovaný ani dokonalý ale získaš obraz o danej problematike a pochopíš súvislosti!

Takže začneme.
Na začiatok si povieme, čo chceme. Takže jednoduché počítadlo, ktoré by nám počítalo vstupy. Dobré by bolo ak by jeden návštevník bol braný za jeden vstup napriek tomu, že by prechádzal po stránke viac krát, po prípade by si klikol viac krát na indexovú stránku. Ďalej si uložíme informácie o jeho prehliadači, OS a dátume kedy bol na stránke. (čas neuvediem, no môžeš si ho tam dať. Taktiež si môžeš uviesť aj URL z ktorej sa na stránku odkazoval. Pomôže ti superglobálna premenná $_SERVER[‘HTTP_REFERER’] a mnoho ďalšieho podľa chuti).

Všetko vytvorím v jednom PHP skripte pre lepšiu orientáciu a pochopenie. Samozrejme, že to môžeš porozdeľovať a dobré je si potom už naostro vytvoriť funkciu, ktorú budeš len volať.

Najskôr vytvoríme tabuľku:
Kód:
CREATE TABLE `pocitadlo` (
`id` BIGINT NOT NULL AUTO_INCREMENT ,
`ip` VARCHAR( 25 ) NOT NULL ,
`prehliadac` VARCHAR( 50 ) NOT NULL ,
`datum` VARCHAR( 15 ) NOT NULL ,
PRIMARY KEY ( `id` )
);


Potom si vytvoríme PHP súbor napr. tutorial.php

Ako prvé nadviažeme spojenie s databázou:
Kód:
$server = "***";
$uzivatel = "***";
$heslo = "***";
$databaza = "***";
$tabulka = "pocitadlo";

@mysql_connect($server, $uzivatel, $heslo) or die("Nemozem nadviazat spojenie s databazou!");
@mysql_select_db($databaza) or die("Nemozem nadviazat spojenie s databazou!");


Ako ďalšie si uložíme informácie o užívateľovi do premenných:
- Dátum prihlásenia
- IP adresa užívateľa
- Prehliadač a OS užívateľa

Kód:
$datum = date("j.m.Y");
$ip = $_SERVER['REMOTE_ADDR'];
$prehliadac = $_SERVER['HTTP_USER_AGENT'];


V tomto kroku si overíme či tu už dnes užívateľ náhodou nebol. Teda vyberieme záznam na základe jeho IP a dnešného dátumu. Ak existuje nič sa nestane. Ak neexistuje

Kód:
$uz_tu_dnes_bol = MySQL_Query("SELECT count(*) FROM $tabulka WHERE ip = '$ip' AND datum = '$datum'");
$vysledok = MySQL_Result($uz_tu_dnes_bol, "id");

    if ($vysledok > 0){
        $novy_navstevnik = "nie";
    }else{
        $novy_navstevnik = "ano";
    }


uložíme si ho do databázy...

Kód:
if($novy_navstevnik == "ano"){

$result = mysql_query("
INSERT INTO `mojadatabaza`.`pocitadlo` (
`id` ,
`ip` ,
`prehliadac` ,
`datum`

)
VALUES (
NULL , '$ip', '$prehliadac', '$datum'
);") or die("Neulozil som Ta do databazy!");
}


A nakoniec si vypíšeme počet návštevníkov, ktorých máme uložených v databáze. Teda vytiahneme výsledky z databázy a zobrazíme

Kód:
@$pocet_navstev = MySQL_Query("SELECT Count(id) FROM $tabulka");
$vysledok_pocet_navstev = MySQL_Result($pocet_navstev,0);

echo "Vitajte! Ste $vysledok_pocet_navstev . návštevník našej stránky.";


Este ti to sem hodim v celku:
Kód:
<?php
$server = "mysql.webzdarma.cz";
$uzivatel = "mojadatabaza";
$heslo = "snackerko";
$databaza = "mojadatabaza";

$tabulka = "pocitadlo";

@mysql_connect($server, $uzivatel, $heslo) or die("Nemozem nadviazat spojenie s databazou!");
@mysql_select_db($databaza) or die("Nemozem nadviazat spojenie s databazou!");

$datum = date("j.m.Y");
$ip = $_SERVER['REMOTE_ADDR'];
$prehliadac = $_SERVER['HTTP_USER_AGENT'];

$uz_tu_dnes_bol = MySQL_Query("SELECT count(*) FROM $tabulka WHERE ip = '$ip' AND datum = '$datum'");
$vysledok = MySQL_Result($uz_tu_dnes_bol, "id");

    if ($vysledok > 0){
        $novy_navstevnik = "nie";
    }else{
        $novy_navstevnik = "ano";
    }



if($novy_navstevnik == "ano"){

$result = mysql_query("
INSERT INTO `mojadatabaza`.`pocitadlo` (
`id` ,
`ip` ,
`prehliadac` ,
`datum`

)
VALUES (
NULL , '$ip', '$prehliadac', '$datum'
);") or die("Neulozil som Ta do databazy!");

}

@$pocet_navstev = MySQL_Query("SELECT Count(id) FROM $tabulka");

$vysledok_pocet_navstev = MySQL_Result($pocet_navstev,0);

echo "Vitajte! Ste $vysledok_pocet_navstev . návštevník našej stránky.";

?>


Výsledok si môžeš pozrieť TU


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.05.08
Prihlásený: 08.02.12
Príspevky: 205
Témy: 54 | 54
Bydlisko: MpBA
Napísal autor témyOffline : 05.06.2009 9:35 | zapisovanie IP

dikes dnes ked dojdem domov tak to skúsim spraviť:D


Offline

Skúsený užívateľ
Skúsený užívateľ
zapisovanie IP

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 05.06.2009 9:54 | zapisovanie IP

snacker, nehnevaj sa, ale máš tam dosť blbé postupy...
čo tam napr robí preboha toto?
Kód:
if ($vysledok > 0){
        $novy_navstevnik = "nie";
    }else{
        $novy_navstevnik = "ano";
    }

to ťa čo napadlo takto kontrolovať? prečo neporovnávaš priamo na $vysledok, ale cez nejakú pomocnú nezmyselnú premennú?

ďalej, PREČO ukladáš serverové premenné do pomocných keď ich už nijako ďalej neupravuješ? nemyslíš, že je to zbytočné?

Kód:
@mysql_connect($server, $uzivatel, $heslo) or die("Nemozem nadviazat spojenie s databazou!");
@mysql_select_db($databaza) or die("Nemozem nadviazat spojenie s databazou!");

ďaľší nezmysel... prečo tam máš rovnaké hlášky pri dvoch rôznych úkonoch? ak sa vyskytne chyba, ako ju chceš efektívne hľadať?

Kód:
or die("Neulozil som Ta do databazy!")

WTF? Povedz mi... teba ako návštevníka stránky zaujíma takáto informácia?! Prečo to posielaš userovi? Ak ťa to zaujíma ako admina, že niečo zlyhalo, tak si vytvor log chýb, kam budeš podobné veci ukladať...

ďalej nepochopím, prečo používaš toľkoslovné premenné... miesto toho by kľudne stačili jednoslovné + komentár ak si taký zábudlivec alebo ak si mu to na tom chcel vysvetliť

no a na záver len spomeniem, že premenné typu $server, $heslo... je fajn skôr definovať ako takto deklarovať


beriem, že si chcel dotyčnému pomôcť, ale týmto spôsobom mu teda nepomôžeš ak ho naučíš sprostosti


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
zapisovanie IP

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 05.06.2009 12:39 | zapisovanie IP

Citácia:
to ťa čo napadlo takto kontrolovať? prečo neporovnávaš priamo na $vysledok, ale cez nejakú pomocnú nezmyselnú premennú?


:) samozrejme ma napadlo to porovnavať priamo na $vysledok ale chcel som to spravit takto pre lepsiu zrozimitelnost. Myslim, ze pre zaciatocnikaje dolezitejsia pochopitelnost ako efektivita. Po pochopeni si moze kod zefektivnit ale nemozesi kod zefektivnit bez pochopenia.

Citácia:
ďalej nepochopím, prečo používaš toľkoslovné premenné... miesto toho by kľudne stačili jednoslovné + komentár ak si taký zábudlivec alebo ak si mu to na tom chcel vysvetliť

Chcel som aby aj premenne hovorili o postupe a pomahali pri pochopeni. $1 $2 $3 $4 + koment je podla horsie ako dobra premenna, ktora ti hned nieco povie.

Citácia:
ďalej, PREČO ukladáš serverové premenné do pomocných keď ich už nijako ďalej neupravuješ? nemyslíš, že je to zbytočné?

Priznavam, priznavam :D

Citácia:
no a na záver len spomeniem, že premenné typu $server, $heslo... je fajn skôr definovať ako takto deklarovať


2hod. po polnoci po 8 hod.programovania robia svoje :D



//$1 $2 $3 $4 - to si uviedol dost zly priklad, nazvy premennych sa nemozu zacinat cislom, ale viem, ako si to myslel :) (stenley)


Offline

Skúsený užívateľ
Skúsený užívateľ
zapisovanie IP

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 05.06.2009 13:08 | zapisovanie IP

záleží od toho, ako je tá premenná použitá... pokiaľ je len v jednom takomto skriptíku, tak je zbytočné nazývať ju 10 slovami, ale stačí jeden krátky komentár.. pokiaľ je použitá viackrát, ani tak by som nepoužil také dlhé názvy, existujú napr skratky (napr $poc_navstev).
Pokiaľ ti šlo o pochopenie princípu, tak by to snáď začiatočník pochopil aj z jednoduchého komentáru.. prečo by sa nemohli naučiť rovno tú "správnejšiu" cestu? Vieš, nie každý to tak pochopí ako by si to možno chcel, naučia sa to zle a potom, keď trocha naberú sebavedomie, je už trocha neskoro im vysvetlovať, že ty si to tak nemyslel :lol:

Citácia:
ale chcel som to spravit takto pre lepsiu zrozimitelnost

Beriem, ale prečo to celé komplikovať, keď sa dá to isté napísať jednoduchšie? (bez medzikrokov, ktoré sú tam zbytočné a len plodia ďaľšie zlozvyky) :) Jak som už písal, aj tu kľudne stačil jeden krátky komentár...


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
zapisovanie IP

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 05.06.2009 13:20 | zapisovanie IP

Beriem na vedomie :) nabuduce sa budem snazit viac aby boli spokojni aj ti, pre korych je to spanielska malina ale zaroven aj zaciatocnici, pre ktorych je to spanielska dedina . Ved aj ja som len zaciatocnik, ktory sa uci... :)


Offline

Užívateľ
Užívateľ
zapisovanie IP

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 06.06.2009 0:35 | zapisovanie IP

:lol: az teraz som si to vsimol s tymi premennymi sorac


_________________
"Ženy jsou jako domény. Ty nejlepší jsou zabrané, ale pořád můžete získat nějaké z exotických zemí."
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.04.08
Prihlásený: 05.07.15
Príspevky: 52
Témy: 13 | 13
Bydlisko: Dolny Kubin
NapísalOffline : 07.06.2009 11:57 | zapisovanie IP

Tu mas moj script...

Kód:
 
$ip = $_SERVER['REMOTE_ADDR']; //zistime si IP
  $date = date("Y-m-d H:i:s"); //datum

 $file = fopen("ipcky.php", "a");
  $content = "\n".$ip.", ".$date;
  $content = nl2br($content);
  fwrite($file,$content);
  fclose($file);


ten datum si mozes zmazat


 [ Príspevkov: 20 ] 


zapisovanie IP



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

automaticke zapisovanie

v PHP, ASP

7

256

03.05.2012 23:12

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

pomale zapisovanie na DVD

v Video programy

5

652

17.03.2007 17:09

Abiosis

V tomto fóre nie sú ďalšie neprečítané témy.

nieco na zapisovanie spomienok

v Ostatné programy

3

373

09.12.2009 0:06

PEDRO115

V tomto fóre nie sú ďalšie neprečítané témy.

Keyboard - zapisovanie nôt online

v Audio programy

2

1407

20.09.2010 23:14

majso7

V tomto fóre nie sú ďalšie neprečítané témy.

Zapisovanie tagu do suboru

v PHP, ASP

2

296

02.02.2008 16:24

emer

V tomto fóre nie sú ďalšie neprečítané témy.

Zapisovanie cisel v binarnej sustave

v Ostatné

6

780

29.09.2008 16:55

tommy1104

V tomto fóre nie sú ďalšie neprečítané témy.

zapisovanie do suboru v C#

v Technológia .NET

1

179

19.05.2013 21:41

walther

V tomto fóre nie sú ďalšie neprečítané témy.

HELP: zapisovanie a citanie z DB

v PHP, ASP

11

534

18.02.2007 10:41

martin90

V tomto fóre nie sú ďalšie neprečítané témy.

čítanie a zapisovanie dát do-z databázy

v PHP, ASP

5

431

05.02.2009 13:09

uUsErR



© 2005 - 2017 PCforum, edited by JanoF