raivis
-
Posts
106 -
Joined
-
Last visited
Posts posted by raivis
-
-
..te tev gan рпр nebūs taisnība; - jau izmēģināju! - tik daudz strādā, lai saskaitītu onlinā esošos lietotājus.ja nemaldos, tad tavā labā būs vai nu 0 vai 1 lietājs, jo atverot failu ar fopen('fails', 'w'), tas fails tiek no dzēsts un rakstīts no jauna. -
Piedod, bet vai tas būtu korektājais variants!?login.php kodā saglabā failā laiku, kad lietotājs ir iegājis lapā.Bet index.php failā salīdzini tekošo laiku, ar katra ieraksta laiku, ja piemēram tas lielāks par 10 minūtēm, tad pieņem, ka lietotājs ir izgājis no lapas un neskaiti viņu (tb izmet ārā).
Jo, iespējams, ka lietotājs vēl pēc 10min. (600sec.) atrodās sistēmas onlinā, bet tas vairs diemžēl netiek ņemts vērā...
-
Drošivien nepareizi darīju!? - lai noteiktu, cik lietotāji ir sistēmas onlinā, login.php kodā ierakstīju:
$data = "online.txt";
$file = @join("", file($data));
$online = @fopen($data, "w");
fputs($online, "|".$user);
fputs($online, $file);
fclose($online);
, bet logout.php kodā:
$data = "online.txt";
$online = str_replace(array("\n","\r"," "),"",file_get_contents($data));
$online = explode("|",$online);
$key = array_search($user,$online);
if ($key !== false) unset($online[$key]);
$file = fopen($data,"w");
fwrite($file,implode("|",$online));
fclose($file);
, bet index.php kodā izvada, cik (un kas) ir onlainā:
$data = "online.txt";
$online = str_replace(array("\n","\r"," "),"",file_get_contents($data));
$online = explode("|",$online);
$online = count($online) - 1;
echo "on-line: <b>".$online."</b><br>"; //un taa taalaak..
..līdz ar to, ja lietotājs izlogojās aiztaisot Internet Explorer logu, nevis ieejot adresē logout.php, online.txt fails netiek koriģēts un uzrāda, ka lietotājs vēl ir onlinā!...?
..kā lai to apeju!?
~domāju, ka kļūdaini/nekorekti man būtu to tā atstāt.
-
php.ini failā man uzstādīts session.gc_maxlifetime = 1440, bet pēc 1440 sekundēm (24 minūtēm) session tml faili netiek izdzēsti - tie vēl eksistē!
:( ?
-
Ar session.gc_maxlifetime nav viss līdzēts..
Lietotājam ielogojoties, tmp[session_save_path();] direktorijā saglabājās lietotāja dati-> $_SESSION['user'], $_SESSION['pass'] vērtības:
1. ja lietotājs izlogijās, ieejot adresē logout.php, tad viss ir Ok!=> session_destroy(); echo "Jūs esat izlogojies!";
2. ja lietotājs izlogojās, vienkārši aizverot Internet Explorer logu, tad session tmp faili paliek neiztukšoti/nelikvidēti!
- kā lai panāku, lietotājam online režīmā aizverot Internet Explorer logu,=> session_destroy();
-
Ja lietotājs ielogojās web lapā, direktorijā session_save_path()
failā piem. sess_83b29f30ab7e4d8652e4f65b961432bc saglabājas šā lietotāja $_SESSION["user"] un $_SESSION["pass"] vērtības.
login.php
$user = $_POST["user"]; $pass = $_POST["pass"]; $_SESSION["user"] = $user; $_SESSION["pass"] = $pass; include("userArea.inc");
Ja lietotājs no web lapas izlogojās caur linku logout.php, sessijas vērtības tiek izdzēstas, bet kā lai to pašu panāk, kad lietotājs, kurš ir ielogojies - proti, atrodas online režīmā, lai izlogotos, lieto nevis linku logout.php, bet aizver Internet Explorer logu..!???logout.php
$_SESSION["user"] = false; $_SESSION["pass"] = false; session_destroy(); //session_unset(); session_unregister(); $path = session_save_path()."/"; //[Session] session.save_path $handle=opendir($path); while ($file = readdir($handle)) { if(is_dir($path.$file) && $file != ".") { } elseif ($file != "." && filesize($path.$file) == 0) { unlink($path.$file); } } echo "Jūs esat izlogojies!";
-
Man nestrādā $text=preg_replace('<.*>','',$text);
bet strādā gan šādi:
$text = 'Vai <b>te</b> kāds ir<i>!</i>';
echo preg_replace("'(<.*?>)'",'',$text)
-
Bez liekas piepūles atkodu:
<?php
//$b= @implode(@file('mainigie.php'));
#start: mainiigie
$body ='ezs page';
$title='sad';
#end; mainīgie
$tpl['BODY']='$body';
$tpl['TITLE']='$title';
ob_start();
?>
body: {BODY}<br>title: {TITLE}
<?php
$html=ob_get_clean();
foreach($tpl as $key=>$val)
$html=str_replace('{'.$key.'}',$val,$html);
echo $html;
?>
..tā kā php esmu tikai iesācējs, tad: arī šis kods priekš manis bija jaunums.
Ceru, ka piedosiet man par izkrāsošanu! :)
-
..vai tas iespējams :blink:
-
Venom, varēsi man izpalīdzēt?
-
?varbūt vaina ir php.ini » QUERY_STRING no value
-
..no jūsu puses: klusums!?
$fileData = file("data.txt"); $personList = array(); foreach ($fileData as $row){ list($name, $age, $email) = explode('|', $row); $personList[] = array('name' => $name, 'age' => $age, 'email' => $email); } echo '<h1>Personas dati</h1>'; foreach ($personList as $key => $person){ if ($person['name'] == 'Peteris'){ print '<h2>'.$person['name'].'</h2> <p>Vecums: '.$person['age'].'</p> <p>E-pasts: '.$person['email'].'</p>'; } else { print "no info"; //pat, ja ir vairākas $person['name'] vētības; } else { "no info" izvadīt tikai 1 REIZI!! } }
Kā lai pieprasu, lai "no info" izvadītu tikai 1 REIZI!, ja ir vairākas $person['name'] vētības?
//ar break; continue; exit; die; nekā nav līdzēts :(
-
Send to Kaklz..
---
kļūda:
Warning: strtotime() [function.strtotime]: Called with an empty time parameter. in c:\wamp\www\scripts\online.php on line 21
Warning: strtotime() [function.strtotime]: Called with an empty time parameter. in c:\wamp\www\scripts\online.php on line 21
rindiņā:
if (strtotime($time) + $y * 60 > strtotime(date('Y-m-d H:i:s'))){
-
!nenostrādā..
session_start(); header("Cache-control: private"); if(!isset($_POST['user']) && !isset($_SESSION['user']) && !isset($_POST['pass']) && !isset($_SESSION['pass'])) { echo "<form action=\"\" method=\"POST\"> Login:<input type=\"text\" name=\"user\"><br> Pass:<input type=\"password\" name=\"pass\"><br> <input type=\"submit\" value=\"Login\"> </form>"; } else { echo "<a href=\"javascript:window.location=window.location\">Refresh</a> "; if(@$_SESSION['user'] && @$_SESSION['pass']){ echo "<a href=\"?id=logout\">Logout</a><hr>ok! ".$user." ".$pass; //header('location: index.php?id=login'); } else { $_SESSION['user']=array(); $_SESSION['pass']=array(); $_SESSION["name"] = $name; $_SESSION["surename"] = $surename; $_SESSION["user"] = $user; $_SESSION["pass"] = $pass; if (!in_array($_SERVER['QUERY_STRING'],@$_SESSION['user'] && @$_SESSION['pass'])) { @$_SESSION['user'] && @$_SESSION['pass'][]=$_SERVER['QUERY_STRING']; } else { header("locarion: index.php"); exit; } } } if ($id==logout) { if(@$_SESSION['user'] && @$_SESSION['pass']){ $_SESSION["name"] = false; $_SESSION["surename"] = false; $_SESSION["user"] = false; $_SESSION["pass"] = false; session_destroy(); } echo "<br>You are <b>logout!</b>"; //header('location: index.php?id=logout'); }
-
Jap, jap, jap » uzlabots php.lv forumiņš.. ;)
Paldies, Venom!
» » pareizi būtu: krsort();
-
!?Nav ne jausmas, kā lai panāku, ka "no info" izvadītu tikai 1reizi, ņemot vērā, ka data.txt:
Janis|18|[email protected]| Peteris|21|[email protected]| Juris|51|[email protected]| Olga|18|[email protected]| Janis|11|[email protected]|
$fileData = file("data.txt"); $personList = array(); foreach ($fileData as $row){ list($name, $age, $email) = explode('|', $row); $personList[] = array('name' => $name, 'age' => $age, 'email' => $email); } echo '<h1>Personas dati</h1>'; foreach ($personList as $key => $person){ if ($person['name'] == 'Peteris'){ continue print '<h2>'.$person['name'].'</h2> <p>Vecums: '.$person['age'].'</p> <p>E-pasts: '.$person['email'].'</p>'; break; } else { continue print "no info"; break; //break; continue; exit; die; } }
-
-
;) Bet ar šo viss ir līdzēts:
$password = "sasffiw"; if (preg_match("/^[^A^Ā^B^C^D^E^Ē^F^G^Ģ^H^I^Ī^J^K^L^M^N^O^P^R^S^Š^T^U^V^W^Y^Z][a-z\d]{6,9}$/", $password)) { echo "Parole sastāv no burtiem un/vai cipariem garumaa 7-10"; } else { echo "Parole ir greiza"; }
-
!?Bet, kā būtu: izvadīt $message['date'], $message['user'], $message['msg'] pretējā secībā=> jaunākais-vecākais..
-
vai patiešām neviens nezina atbildi!?
-
nez vai sapratīsiet jautājumu, bet..
Ja data.txt:
03.12.2004|janis|komentā[email protected] 16:35|peter|komentārs1*07.12.2004 19:48|olga|komentārs2*12.12.2004 08:06|janis|komentārs3* 21.10.2004|admin|komentā[email protected] 16:35|peter|komentārs1*07.11.2004 19:48|olga|komentārs2*
Kā iespējams šo skriptu attiecināt uz failu data.txt sākot ar simbolu @
$fileData = file('data.txt'); $messageList = array(); foreach ($fileData as $row){ list($date, $user, $msg) = explode('|', $row); $messageList[$user] = array('date' => $date, 'user' => $user, 'msg' => $msg); } ksort($messageList); echo '<h4>Ziņojumi..</h4>'; foreach ($messageList as $key => $message){ echo '<i>'.$message['date'].'</i> <b>'.$message['user'].'</b>: '.$message['msg'] . '<br>---<br>'; }
proti, if ($lpp==$rindinja) {
print no rindiņas $rindinja mainīgo $message['date'], $message['user'], $message['msg'] vērtības }
else { ja nav iepostotu ziņojumu: print "no message"; }
proti, gala rezultātā vajadzētu izskatīties kam tml:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
03.12.2004 Janis
komentārs
[3 komentāri]
---
21.10.2004 Admin
komentārs
[2 komentāri]
---
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Aplūkojot 03.12.2004 datuma komentārus: //?lpp=0
03.12.2004 Janis
komentārs
------------------------------------------------------
12.12.2004 08:06 Janis
komentārs3
---
07.12.2004 19:48 Olga
komentārs2
---
07.12.2004 16:35 Peter
komentārs1
---
Pievienot savu komentāru..
Aplūkojot 03.12.2004 datuma komentārus: //?lpp=1
21.10.2004 Admin
komentārs
------------------------------------------------------
07.11.2004 19:48 Peter
komentārs2
---
07.11.2004 16:35 Olga
komentārs1
---
Pievienot savu komentāru..
!???
-
Kā, izejot no šī koda, lai pieprasu: ja $person['name'] nav 'Peteris', tad:
izvadīt "no info"; //tikai 1reizi
$fileData = file("data.txt"); $personList = array(); foreach ($fileData as $row){ list($name, $age, $email) = explode('|', $row); $personList[] = array('name' => $name, 'age' => $age, 'email' => $email); } echo '<h1>Personas dati</h1>'; foreach ($personList as $key => $person){ if ($person['name'] == 'Peteris'){ echo '<h2>' . $person['name'] . '</h2> <p>Vecums: ' . $person['age'] . '</p> <p>E-pasts: ' . $person['email'] . '</p>'; }// else { // echo "no info"; //} }
-
Paldies, Venom!
Es izmantotu, ko tml:
echo 'Aizņemts '.round($tmp=$size/1024).' kb, kas ir '.round($tmp/1024*100).' %, apakšdirektorijas '.$dirs.', failu '.$files.'<br>'; echo 'Aizņemts '.round($tmp=$size/1024).' kb, kur brīvs '.round((1-$tmp/1024)*100).' %, apakšdirektorijas '.$dirs.', failu '.$files;
-
nez vai sapratīsiet jautājumu, bet..
Ja data.txt:
03.12.2004|janis|komentā[email protected] 16:35|peter|komentārs1*07.12.2004 19:48|olga|komentārs2*12.12.2004 08:06|janis|komentārs3* 21.10.2004|admin|komentā[email protected] 16:35|peter|komentārs1*07.11.2004 19:48|olga|komentārs2*
Kā iespējams šo skriptu attiecināt uz failu data.txt sākot ar simbolu @
$fileData = file('data.txt'); $messageList = array(); foreach ($fileData as $row){ list($date, $user, $msg) = explode('|', $row); $messageList[$user] = array('date' => $date, 'user' => $user, 'msg' => $msg); } ksort($messageList); echo '<h4>Ziņojumi..</h4>'; foreach ($messageList as $key => $message){ echo '<i>'.$message['date'].'</i> <b>'.$message['user'].'</b>: '.$message['msg'] . '<br>---<br>'; }
proti, if ($lpp==$rindinja) {
print no rindiņas $rindinja mainīgo $message['date'], $message['user'], $message['msg'] vērtības }
else { ja nav iepostotu ziņojumu: print "no message"; }
proti, gala rezultātā vajadzētu izskatīties kam tml:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
03.12.2004 Janis
komentārs
[3 komentāri]
---
21.10.2004 Admin
komentārs
[2 komentāri]
---
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Aplūkojot 03.12.2004 datuma komentārus: //?lpp=0
03.12.2004 Janis
komentārs
------------------------------------------------------
12.12.2004 08:06 Janis
komentārs3
---
07.12.2004 19:48 Olga
komentārs2
---
07.12.2004 16:35 Peter
komentārs1
---
Pievienot savu komentāru..
Aplūkojot 03.12.2004 datuma komentārus: //?lpp=1
21.10.2004 Admin
komentārs
------------------------------------------------------
07.11.2004 19:48 Peter
komentārs2
---
07.11.2004 16:35 Olga
komentārs1
---
Pievienot savu komentāru..
!???
session_destroy(); session_save_path();
in PHP skripti
Posted