Pereiti prie turinio

PHP skriptai nemokamai (arba už simbolinę kainą)


Rekomenduojami pranešimai

Sveiki.

 

Siūlau nemokamas(arba už simbolinę kainą) savo paslaugas (t.y. rašau php skriptus) vardan praktikos. Nežinau kiek kam tai bus naudinga, bet man (tikiuosi) taip. Prašau neprašyti (keistai skamba?) kažko laaaaaaaabai didelio.

 

Laikinai užimtas.

Redagavo mrfuzms
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na va, atradau ko nežinojau :)

Kaip bebūtų, darbą baigiau (tiesa, nelabai švariai. Manau, kad buvo galima išsisukt su mažiau užklausų).

 

Taigi:

MySQL lentelė

CREATE TABLE `online` (

`id` int(10) unsigned NOT NULL auto_increment,

`ip` varchar(20) NOT NULL,

`laikas` varchar(20) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM;

 

Online.php

<?

$host = ""; //Mysql adresas

$username = ""; //mysql vartotojo vardas

$password = ""; // mysql slaptažodis

$database = ""; // mysql duombazė

mysql_connect($host, $username, $password);

mysql_select_db($database);

$laikas = time();

$ip = $_SERVER['REMOTE_ADDR'];

$a = mysql_query("SELECT * FROM online WHERE ip='$ip'");

if(mysql_num_rows($a) == 0)

mysql_query("INSERT INTO online (ip, laikas) VALUES ('$ip', '$laikas')");

else

mysql_query("UPDATE online SET laikas='$laikas' WHERE ip='$ip'");

 

$laik = $laikas - 60; // laikas pries 1 minute.

$v = mysql_query("SELECT COUNT(ip) FROM online WHERE laikas>'$laik'");

$b = mysql_query("SELECT COUNT(ip) FROM online GROUP BY laikas DESC");

$dabar = mysql_fetch_array($v);

$daugiausia = mysql_fetch_array($b);

echo $dabar['COUNT(ip)']."<br />";

echo $daugiausia['COUNT(ip)']."<br />";

 

?>

 

Lyg ir veikia.

 

Tiesa, "Daugiausia" rodoma kiek vartotojų buvo prisijungę tą pačią sekundę.

Redagavo mrfuzms
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tikrai buvo galima daug trumpiau. Beto patarčiau naudot analogiškas MySQL funkcijas, pvz.: count(), unix_timestamp() ir panašiai. Ir tikrai galima viską stambiai sutrumpint...

 

Neturėjau ką veikt, tai katik parašiau. Tikiuosi tau bus naudinga.

 

MySQL:

CREATE TABLE `online` (

`ip` VARCHAR( 20 ) NOT NULL ,

`laikas` INT( 11 ) NOT NULL ,

UNIQUE (

`ip`

)

) ENGINE = MYISAM

 

PHP:

<?php

 

$connect = mysql_pconnect("localhost", "user", "pass") or die(mysql_error());

$select = mysql_select_db("db") or die(mysql_error());

 

$timeout = time() - 120;

 

if(!mysql_query("INSERT INTO `online` values ('".$_SERVER['REMOTE_ADDR']."', '".time()."')"))

{

mysql_query("UPDATE `online` SET laikas='".time()."' WHERE nn='".$_SERVER['REMOTE_ADDR']."'");

}

mysql_query("DELETE FROM `online` WHERE laikas<'$timeout'");

 

echo 'Online: '.current(mysql_fetch_row(mysql_query("SELECT count(ip) FROM `online`")));

 

?>

 

Blem, pats užsigalvojes rašiau ir nenaudojau unix_timestamp. :D Nu tingiu dabar jau taisyt.

 

P.S. Sudėk normalius kintamųjų vardus. Manau pačiam būtų patogiau.

 

P.S.S. Užmiršau padaryt, kad tą rekordą rodytų... Ai nesvarbu. :D Pats pripratęs daryt, kad 2 min būtų timeout'as. :D Gal žmogus nuėjo sumuštinio pasidaryt ir per minutę nespės... ;]

Redagavo Friday
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Beje, Friday - tavo variantas neveikia :D

Neįrašė duomenų į duombazę.

<?php

 

$connect = mysql_pconnect("localhost", "", "") or die(mysql_error());

$select = mysql_select_db("vienas") or die(mysql_error());

 

$timeout = time() - 120;

 

if(!mysql_query("INSERT INTO `online` (ip, laikas) values ('".$_SERVER['REMOTE_ADDR']."', '".time()."')"))

{

mysql_query("UPDATE `online` SET laikas='".time()."' WHERE ip='".$_SERVER['REMOTE_ADDR']."'");

}

mysql_query("DELETE FROM `online` WHERE laikas<'$timeout'");

 

echo 'Online: '.current(mysql_fetch_row(mysql_query("SELECT count(ip) FROM `online`")));

 

?>

O šis (mano atveju) veikia :D

Redagavo mrfuzms
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na jei kam reikia ir as turiu php-fusion skelbimu lentos moda pasirases.

http://www.zemesukis.com/skelbimai_v1.1.rar

Kaip isidiegti viskas aprasyta install.txt faile.

Beto reikia isidiegus pasitaisyti viena klaidele. Per puslapio meniu nuorodu valdyma pataisyti skelbimai nuorodos adresa. Tiesiog istrinti ir palikti tik skelbimai.php nuorodoj.

Sekmes.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Na jei kam reikia ir as turiu php-fusion skelbimu lentos moda pasirases.

http://www.zemesukis.com/skelbimai_v1.1.rar

Kaip isidiegti viskas aprasyta install.txt faile.

Beto reikia isidiegus pasitaisyti viena klaidele. Per puslapio meniu nuorodu valdyma pataisyti skelbimai nuorodos adresa. Tiesiog istrinti ir palikti tik skelbimai.php nuorodoj.

Sekmes.

Malonu kad "hijackini".

 

Gal gali man modifikuot php-fusion siuntiniu dejima,noreciau kad paciam butu galima ikelti siuntini

per admin panele ir iskarto irasytu linka,beliktu man tik pavadinima parasyt.

Jeigu gali padet tai pm arba i skype. parasyk

Manau kad galėsiu padėti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...