Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ 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
Bydlisko: MpBA
Príspevok NapísalOffline : 03.06.2009 16:47

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: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 03.06.2009 18:44

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
Bydlisko: BegyBen
Príspevok NapísalOffline : 03.06.2009 18:46

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: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 03.06.2009 18:47

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
Bydlisko: BegyBen
Príspevok NapísalOffline : 03.06.2009 19:09

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
Bydlisko: BegyBen
Príspevok NapísalOffline : 03.06.2009 19:15

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
Bydlisko: MpBA
Príspevok Napísal autor témyOffline : 03.06.2009 19:49

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
Bydlisko: MpBA
Príspevok Napísal autor témyOffline : 03.06.2009 19:51

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
Bydlisko: BegyBen
Príspevok NapísalOffline : 03.06.2009 20:09

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
Bydlisko: MpBA
Príspevok Napísal autor témyOffline : 04.06.2009 16:11

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: 3984
Témy: 96
Príspevok NapísalOffline : 04.06.2009 20:49

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
Príspevok NapísalOffline : 04.06.2009 21:57

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
Bydlisko: BegyBen
Príspevok NapísalOffline : 05.06.2009 1:36

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
Bydlisko: MpBA
Príspevok Napísal autor témyOffline : 05.06.2009 9:35

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: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 05.06.2009 9:54

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
Bydlisko: BegyBen
Príspevok NapísalOffline : 05.06.2009 12:39

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: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 05.06.2009 13:08

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
Bydlisko: BegyBen
Príspevok NapísalOffline : 05.06.2009 13:20

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
Bydlisko: BegyBen
Príspevok NapísalOffline : 06.06.2009 0:35

: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
Bydlisko: Dolny Kubin
Príspevok NapísalOffline : 07.06.2009 11:57

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


Odpovedať na tému [ Príspevkov: 20 ] 


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

520

03.05.2012 23:12

Ďuri Zobrazenie posledných príspevkov

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

v Ostatné programy

3

563

09.12.2009 0:06

PEDRO115 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Keyboard - zapisovanie nôt online

v Audio programy

2

1635

20.09.2010 23:14

majso7 Zobrazenie posledných príspevkov

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

v PHP, ASP

2

446

02.02.2008 16:24

emer Zobrazenie posledných príspevkov

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

v Video programy

5

803

17.03.2007 17:09

Abiosis Zobrazenie posledných príspevkov

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

v Ostatné

6

1061

29.09.2008 16:55

tommy1104 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zapisovanie do suboru v C#

v Technológia .NET

1

576

19.05.2013 21:41

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. HELP: zapisovanie a citanie z DB

v PHP, ASP

11

743

18.02.2007 10:41

martin90 Zobrazenie posledných príspevkov

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

676

05.02.2009 13:09

uUsErR Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra