22786
Html-, css- és php-help
-
#15342 Persze mindenkepp, igy gondolod?
foreach ($tomb as $array =>$key){
if ($key==$beszurando){
$beszurjuk=false;
break;
}
}
Csak azert, mert mukodik a kod es ezzel a break-es cuccal lenne fullos. -
Cat 02 #15341 Mivel csak az első IF van ciklusban... de lehetőleg az értékadás után rakd. -
#15340 <?
$tomb=file("txt.txt");
$beszurando=$_SERVER['REMOTE_ADDR']."\r\n";
$beszurjuk=true;
foreach ($tomb as $array =>$key){
if ($key==$beszurando){
$beszurjuk=false;
}
}
if ($beszurjuk==true){
array_push($tomb,$beszurando);
file_put_contents("txt.txt", $tomb);
}
echo count($tomb);
?>
Az elso vagy a masodik IF reszhez kell a break? -
#15339 Szóval mind a kettő kell. Köszönöm! :) -
#15338 A meta ködös világa. :)
Nem, mindkettő volt és használható (x)html(4)-ben is. A linkelt videón nem is szerepel, ott charset van, az meg nem ugyanaz.
A html4 úgy fogalmaz, hogy a name metódus és a http-equiv kiválthatja egymást. Viszont a html-equiv felülírhatja a http headereket, míg a sima name metódus csak sima meta infó. Tehát ha megadod, hogy <meta http-equiv="Content-Language" content="hu" /> akkor mintha lenne egy olyan sor a http headerben, hogy Content-Language: hu. Elméletben, de azért sokkal inkább ajánlott eleve a megfelelő http headert küldeni. :)
Hogy botok melyiket kedvelik inkább egy SEO guru megmondja, azt nem vágom. -
#15337 A http-equiv="Content-Language" HTTP-fejlécet hoz létre, a böngészőnek és a keresőmotoroknak szolgál információul. Bővebben >>
A name="language" pedig a Web Content Accessibility Guidelines 13.2.2 pontja miatt (akadálymentességi szempontból) kell. -
Cat 02 #15336 Második HTML5.
Ez alapján legalábbis. -
KAKOLUKIA #15335 Helló!Aki ért a videókészítéshez, légyszíves írjon privátba, mert van néhány kérdésem videókészítéssel kapcsolatban. -
#15334 Valaki el tudná mesélni nekem, hogy mi a különbség az alábbi két sor között?
Avagy hol találok jó leírást.
<meta http-equiv="Content-Language" content="hu" />
<meta name="language" content="hu" />
Melyiket célszerű használni, miért? -
#15333 jó az a kód, csak a $beszurjuk=true-t nem az else ágba kell rakni, hanem még a foreach elé. ez egyébként megoldja az üres txt fájl problémáját is.
az if ágba meg lehet rakni egy break-et, mert ha megtaláltuk már a listában az IP-t, akkor fölösleges megvizsgálni a hátralévő 5000 sort is, úgyse kell beszúrni. -
#15332 Koszi ez mar 100as. Pedig tenyleg hasznaltam a googlet kerestem, kutattam es nem talaltam ezt az oldalt.
Meg egyszer koszonom! -
#15331 Itt van egy hasonló script.
Ez ugyan berakja a dátumot időt is, de simán kiszedheted ha az nemkell. -
#15330 :(
Kozben azt nem is neztem, hogy tenyleg nem menti-e le tobbszor a mar listan szereplo IP cimet. Sajnos lementi tobbszor is ugyanazt. -
#15329 Pofam leszakad!
Igy mar minden rendben.
Mitol lehet ez, hogy kell neki egy loket?
...es persze koszonom szepen! -
#15328 :O
Akkor nemtudom mivan, nem probaltam ki, csak elmeletben gyartottam le.
Probald esetleg ki, hogy nem ures a txt.txt, hanem van egy sor es utanna sortores.
Nincs fwrite, mert a file_put_contents emlekeim szerint egyszerre kezeli le az fopen, fwrite, fclose-t. -
#15327 Nem dobott hibat viszont szinten nem irja be a txt-be az IP cimet, mint az en kodom. Am nincs benne a kododban az fwrite.... -
Dns5000 #15326 probaltam de a responseXML null mindig :S
valószinüleg nem teljesen XHtml az oldal :(
de van megoldás sikerült megcsinálni a regexet ami kimásolja az egész táblát és csak azt amiben az adatok vannak.
Ezt be is lehet szúrni az oldalba és akkor elhet document.getelemetsbyname et vagy xpathot is használni rá.
De szerintem mostár meg tudom majd csinálni regexel kiszedem az adatokat a stringből. És be tudom szúrni olyan formában ahogy szeretném.
var source=responseDetails.responseText;
var re = new RegExp
("<table class=\"reszletes\"(.|\n|r)+?</table>","g");
var myArray = source.match(re);
newelem.innerHTML=myArray[0];
-
#15325 Egyszerűbben: JQuery load függvénye:
$('#tartalom').load('adat.html td.adat'); - így a tartalom azonosítójú blokkba fog kerülni az adat.html-ben levő adat osztályú táblázatcella tartalma. -
Cat 02 #15324 Igen, ez így hülyeség szerintem, bár este van.
Csinálj egy megszámlálást.
$szamol=0;
foreach($t as $ip)
{
if ($t == $_SERVER['REMOTE_ADDR']) $szamol++;
}
if szamol>0 akkor benne volt az ip cím, ha meg 0, akkor nem volt benne.
edit: ez kb az mint alattam, csak az alattam levő takarékosabb, mert egy nem számol, csak igazzá tesz -
#15323 Na gyorsan akkor (lehet, h hibas gyorsan keszult :P)
<?php
$tomb=file("txt.txt");
$beszurando=$_SERVER['REMOTE_ADDR']."\r\n";
foreach ($tomb as $array =>$key)
{
if ($key==$beszurando)
{
$beszurjuk=false;
}
else
{
$beszurjuk=true;
}
}
if ($beszurjuk==true)
{
array_push($tomb,$beszurando);
file_put_contents("txt.txt", $tomb);
}
echo count($tomb);
?> -
#15322 Raktam kettot is az IF meg ELSE vegere de vmi nem jo.
<?php
$a=fopen("txt.txt","a") or die("");
$t=file('txt.txt');
foreach ($t as $t) {
if ($t == $_SERVER['REMOTE_ADDR']){
fclose($a);
break;}
else{
fwrite($a, $_SERVER['REMOTE_ADDR']."\r\n");
break;}
}
echo count($t);
?>
Nem menti el az IP cimet, pedig a txt ures. Kivettem az elso break-et akkor sem jo. -
Cat 02 #15321 Így minden egyes alkalommal felül írja a fájlt :o
Szal nincs benne ? Beleírom
Még mindig nincs benne ? Megint beleírom
Már megint nincs az Istenit ? Megint beleírom
Rakj bele legalább egy break;-et :D -
#15320 <?php
$a=fopen("txt.txt","a") or die(":(");
$t=file('txt.txt');
foreach ($t){
if ($t == $_SERVER['REMOTE_ADDR']){
fclose($a);}
else {
fwrite($a, $_SERVER['REMOTE_ADDR']."\r\n");}
}
echo count($t);
?>
Tenyleg egyszeru ez a foreach... de igy az if/else resznel behal, nem fut le a fwrite es az fclose. -
karajjj #15319 sima for ciklus, ami a tömb első elemétől az utolsóig léptet
nézelődj -
Cat 02 #15318 php.net :)
Olyan mint egy for ciklus, csak tömbön megy végig. -
#15317 Jol hangzik, de annal a franya foreach-nel elverzek! Hol kell azt berakni? -
Cat 02 #15316 Ha array, akkor in_array. Vagy menj rajta végig foreach-csel. De így szerintem a $a egy üres tömb lesz :)
Vagy akár megcsinálhatod regexp-el is. Bár akkor lehet, hogy az egymás utáni IP címeket is nézi. -
#15315 Mivel egyrészt Javascriptet használsz, másrészt teljes HTML-oldalt töltesz be, javaslom, hogy használd ki a DOM-ban rejlő lehetőségeket.
Tehát:
1. Ne responseText-tet használj hanem responseXML-t.
2. A responseXML-ből, getElementsByTagName-mel kérd le az összes táblázatcellát (<td> tag)
3. A kapott tömbön menj végig, és amelyiknek a class attribútuma (getAttribute segítségével lekérheted) adat, annak a tartalmát szedd ki (innerHTML segítségével). -
#15314 Ezzel befurodtem es gondoltam megprobalom egyszerubben:
<?
$a=fopen("txt.txt","a+") or die(":(");
$a = array();
if ($a == $_SERVER['REMOTE_ADDR']){
fclose($a);}
else {
fwrite($a, $_SERVER['REMOTE_ADDR']."\r\n");}
$t=file('txt.txt');
echo count($t);
?>
Viszont igy meg nem mukodik! :( -
#15313 A file() fuggvenyt hasznald az kell neked, aztan egy foreach, egy if-else es keszen is vagy. -
#15312 A sortorest sikerult megoldanom:
A \r\n hianyzott.
Ezt az IP ellenorzot pedig megnezem. Remelem sikerul vmit egyedul is osszehoznom. :) -
Cat 02 #15311 Fűzd hozzá a stringet.
Szal pl csinálsz egy változót, azt egyenlővé teszed a fájlt tartalmával, aztán hozzáadod az ip címet és utána beírod a fájlba. (sajna fájlba sose írtam php-val, csak számolgattam fájlokat, szal nem tudom a pontos függvényeket). A sortörés meg elvileg echo "\n"; -
karajjj #15310 akkor mondjuk mielőtt elmented a címet, beolvasod a file-t és egy foreach-csel soronként végignézed, hogy bennevan-e már, ha nincs, akkor meg hozzáadod egy új sorban -
#15309 Hello!
Egy ujabb keressel fordulok hozzatok. Szeretnek csinalni egy egyszeru, file alapu IP logolo php scriptet. Ez eddig OK nem problema. Amit viszont nem tudok megoldani, hogy a fileba ugy mentse el az IP cimeket, hogy ha mar egyszer szerepel egy adott IP cim a listan, akkor azt ne adja hozza ujbol.
Ami meg fontos, hogy minden IP cimet uj sorba, egymas ala kene pakolgatnia.
http://pastebin.com/cDjcJH1k
Koszi. -
Cat 02 #15308 off
A Microsoft Internet Explorer programot alapvetően úgy lehet használni, hogy ahol a hagyományos Windows-os egérkurzor átalakul kis mutató kézzé, ott rá tudunk bökni a mögötte lévő lapra. Ennél eggyel fejlettebb módszer, hogy a Cím melletti kis téglalapba beírjuk a kívánt címet, pontosan! xD -
bracsek #15307 Nem igen láttam erre választ, de immár ha későn is leírom mit tennék.
Levágnám a fájl elejét valahogy felismerem honnan kezdődik a táblázatom egészen az első <tr> ig.
Levágom a fájl végét az utolsó </tr> utántól.
Split a </tr><tr> ekre a maradékon, ekkor minden sor egy egy tömbelem lesz.
És kihasználva hogy jó esetben 1 ciklussal vannak kiíratva akkor tovább splittelem a megfelelő módon. A tömböm első indexe adott az első splitből, a másodikat meg kialakítja a második split vagy ha nem lehet splittelni akkor egy kicsit bonyolultabb sordarabolás. -
Cat 02 #15306 Ez lett volna az. Nem regexp, de olyasmi mint neked kell, csak PHP :s -
Dns5000 #15305 source ben benne van egy egész oldal nem csak amit az előbb írtam
és javascripben kellene csinálni.
Vissza néztem az utolsó 2 oldalt de nem találtam regexes dolgokat.
source=responseDetails.responseText;
var re = new RegExp("Alapterület:");
source.match(re); -
Cat 02 #15304 Alapterület után kezdesz egy sort és mész az első ">"-ig, utána pedig másolod a string-et "m"-ig. Ha lehet ilyet. De Faustus nemrég linkelt ide dolgokat amik pont ilyenekre jók. -
Dns5000 #15303 újabb regexp probléma
<td width="45%" class="cim">Alapterület:</td>
<td class="adat">36 m²</td>
Ebből hogy hogy szedem ki a 36ot? Alpterület: re lehet rákeresni utánna van a</td>\n lehet hogy van még más white space is :S