- hdanesz: Hyundai Ioniq 28kWh - Első benyomások - második felvonás
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- btz: Internet fejlesztés országosan!
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- koxx: Bloons TD5 - Tower Defense játék
- sziku69: Szólánc.
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- sto1911: Pinball FX3 PH! verseny
Új hozzászólás Aktív témák
-
fordfairlane
veterán
válasz
fordfairlane #2298 üzenetére
pages osztály:
/* class: pages
* oldalszámok osztály
* függőség: <url>
*/
class pages {
var $total;
var $params;
function pages($tot = 20) {
$this->total = $tot;
}
function get($first,$per,$max,$params="") {
if($per < $max) {
$this->params = $params;
$maxp = ceil($max/$per);
$actp = ceil($first/$per) + 1;
$fpage = $actp - floor(($this->total)/2);
if($fpage<1) $fpage = 1;
$topage = $fpage + $this->total;
if($topage>$maxp) $topage = $maxp;
if(($topage - $fpage) < $this->total) $fpage = $topage - $this->total;
if($fpage<1) $fpage = 1;
$str = '<table class="pages"><tr><td>';
// <<
$link = '<<';
if($fpage>1) {
$str .= $this->clink(0,$link);
}
else {
$str .= $link;
}
$str .= '</td>';
// <<
// <
$str .= '<td>';
$link = '<';
if($first>0) {
$f = $first - $per;
if($f < 0) $f = 0;
$str .= $this->clink($f,$link);
}
else {
$str .= $link;
}
$str .= '</td>';
// >
for($i=$fpage;$i<=$topage;$i++) {
$str .= '<td>';
if($i != $actp) {
$f = (($i-1)*$per);
$str .= $this->clink($f,$i);
}
else {
$str .= "<strong>".$i."</strong>";
}
$str .= '</td>';
}
// >
$link = '>';
$str .= '<td>';
if(($first + $per)<$max) {
$f = ($first + $per);
$str .= $this->clink($f,$link);
}
else {
$str .= $link;
}
$str .= '</td>';
// >
// >>
$link = '>>';
$str .= '<td>';
if($topage < $maxp) {
$f = (($maxp-1)*$per);
$str .= $this->clink($f,$link);
}
else {
$str .= $link;
}
$str .= '</td>';
// >>
$str .= '</tr></table>';
return $str;
}
}
function clink($first,$link) {
$str = '<a href="'.$_SERVER['SCRIPT_NAME'];
if(is_array($this->params)) {
$url = new url($this->params);
}
else {
$url = new url();
}
$url->set("f",$first);
$str .= $url->get();
$str .= '">'.$link.'</a>';
return $str;
}
} -
fordfairlane
veterán
válasz
fordfairlane #2298 üzenetére
url osztály:
/* class: url
* url kreáló osztály
*/
class url {
var $params;
function url($url = "") {
if(is_array($url)) {
$this->params = $url;
}
else {
$this->params = array();
}
}
function set($p1,$p2 = "") {
if(is_array($p1)) {
foreach($p1 as $key => $value) {
$this->params[$key] = $value;
}
}
elseif(is_string($p1)) {
$this->params[$p1] = $p2;
}
}
function remove($p1) {
if(is_string($p1)) {
unset($this->params[$p1]);
}
}
function get() {
foreach($this->params as $key => $value) {
if(is_array($value)) {
foreach($value as $inkey => $invalue) {
if($url_uj) $url_uj .= "&"; else $url_uj = "?";
$url_uj .= urlencode($key."[".$inkey."]")."=".urlencode($invalue);
}
}
else {
if($url_uj) $url_uj .= "&"; else $url_uj = "?";
$url_uj .= $key."=".urlencode($value);
}
}
return $url_uj;
}
} -
fordfairlane
veterán
válasz
emitter #2297 üzenetére
Mivel ez nem triviális, és sok helyen volt szükségem erre, csináltam rá két osztályt, <url> és <pages>.
Így kell használni őket:
define(PERPAGE,20); // 20 elem egy oldalon
$f = (int)$_REQUEST['f']; // $f változóba kerül az aktuális oldal száma
/* Ebbe kerül bele az összes találatok száma, ebből tudjuk kiszámolni, hány oldal. Ide egy adatbázis lekérdezés jön általában. */
$sum = 200
/* Ha megadsz a konstruktornak egy számot, akkor max ennyi oldalszámot jelenít meg, hogy a lapozó ne legyen túl hosszú, ha esetleg többszáz oldal van. Alapból 20 az értéke */
$pages = new pages();
echo $pages->get($f,PERPAGE,$sum,$_GET);Az utolsó sornban a $_GET helyére $_REQUEST kerül a te esetedben, mivel hol GET, hol POST metódusban kapja az oldal a paramétereket.
-
emitter
őstag
válasz
emitter #2293 üzenetére
mondok egy példát:
keresem a 100Ft-nál drágább termékeket az adatbázisomból. Kapok 326 találatot. Alapból megjelenítem az 1-50-ig terjedő részt. Van egy linksorom, mint a te filmes oldaladon. Ha az '51-100' linkre kattintok, amelynek a href-je 'vmi.php?limit=50&page=50', akkor ez nem elég, hanem valahogy vissza kell küldenem azt is, hogy én a 100Ft feletti termékeket akarom. Ezt hogyan tehetem meg?szerk: a keresési információkat (pl. 100 Ft) post-tal küldöm
-
PazsitZ
addikt
válasz
emitter #2293 üzenetére
Én nem értettem meg teljesen a dolgot, sorry.
Szerintem ebben az esetben a keresési feltétel is mehetne get-be majd utána az oldalszám.
?search=valami&page=1
Minden esetben lefutna a kérés (lehetőleg valami szerint rendezve ugye) és ezután csak az x-ediktől y-ig iratod/kéred le az eredményt. -
fordfairlane
veterán
válasz
emitter #2293 üzenetére
Pár száz karakternyi adatot simán bele lehet passzírozni urlbe.
<?
$page = (int)$_GET['page'];
$url = $_SERVER['SCRIPT_NAME'].'?page='.$page;
foreach($_POST as $key => $value) {
$url .= '&'.$key.'='.urlencode($value);
}
echo $url;
?>Ha nagyon sok adat van, akkor meg session-ben célszerű eltárolni.
-
emitter
őstag
válasz
PazsitZ #2292 üzenetére
értem én, de az én oldalamon egy keresés eredményeként kapott találathalmazt kellene oldalakra bontani. Ha adok egy új oldallekérést get-tel, akkor valahogyan a keresési feltételeket is vissza kell újra juttatni a szervernek, hogy a lapozás után a következő x db találatot tudja lekérni az adatbázisból.. nemtom mennyire érthető..
És ehhez javascript kéne, hogy az egyszer már elpostolt adatokat újra vissza tudjam küldeni, nem? Vagy akkor én nem értem, hogy te mire gondolsz. -
emitter
őstag
válasz
Tele von Zsinór #2289 üzenetére
Most hogy nekiláttam, az a kérdésem, hogy az ilyen lapozást post-tal is meg lehet oldani, vagy csak get-tel? Az a baj, hogy az egész oldalon a keresés post-tal megy, így asszem nem lenne egyszerű megoldani, hogy a lapozási infókat az url-ben vigyem át..
Viszont post esetén csak javascripttel tudom megoldani, hogy a lapozómenüben egy linkre kattintva a submit-esemény bekövetkezzen.. akiknek nincs js-ük, azok haljanak meg? Szóval mit tanácsoltok?szerk: ha ötvözném a kettőt, és csak a lapozási infót küldeném get-tel, akkor is csak JS-sel tudnám megoldani, mert különdben elvesznek a keresési feltételek (kulcsszavak)..
-
emitter
őstag
válasz
Tele von Zsinór #2289 üzenetére
köszi!
-
emitter
őstag
Adatbázisbeli keresés eredményeit szeretném felosztani, hogy oldalanként pl. 10 találatot jelenítsen meg.
Ezt érdemes úgy megoldani, hogy minden lapozásnál lefuttatom a keresést, de mindig csak az adott 10-es találat-blokkot jelenítem meg? Más ötletem egyelőre nincs.. -
Drizzt
nagyúr
Sztringeken végig keresni szövegek előfordulásait lehet valahogy hatékonyan? Nem találtam semmi jó függvényt, úgyhogy kb. explode-nál maradtam. Másrészt van-e beépített függvény sztringek kettészedésére valamelyik pozíciónál, vagy törlésre pozíciótól?
-
fordfairlane
veterán
válasz
Wizardmon #2283 üzenetére
A $GLOBALS egész más. A környezeti változók a $_SERVER-ben vannak. Régebben a te általad leírt globális formában is elérhetőek voltak, sok más adattal egyetemben, de erről fokozatosan átálltak arra, hogy a különféle adatokat típusuktól függően különféle asszociatív tömbben tették elérhetővé, $_GET, $_POST, $_SESSION, $_SERVER, stb, stb....
-
Wizardmon
csendes tag
Ohh... Nekem a könyv valami $GLOBALS dologgal jön mindig, hogy ez így van.
Ezek szerint köze nincs hozzá?...
Hát bakter.. most nem tudom bízzak-e még ebben a könyvben.
Azt hiszem keresek valami más szakirodalmat php-hez -
Wizardmon
csendes tag
Heló mindenki!
Nem rég kezdtem el a php-t. Van hozzá egy könyvem: php24 óra alatt.
Most az űrlapoknál tartok de nagyon elakadtam.
[OFF]<html>
<head>
<title>9.2. program Egy egyszerû HTML ûrlap</title>
</head>
<body>
<form action="9.3.program.php" method="GET">
<input type="text" name="felhasznalo">
<br>
<textarea name="cim" rows="5" cols="40">
</textarea>
<br>
<input type="submit" value="rendben">
</form>
</body>
</html>Ahova mutat:
<html>
<head>
<title>9.3. program A 9.2. példa ûrlapjának
feldolgozása</title>
</head>
<body>
<?php
print "Üdvözlet <b>$felhasznalo</b><P>\n\n";
print "A címe:<P>\n\n<b>$cim</b>";
?>
</body>
</html>[/OFF]Elvileg ha beírok valamit a négyzetekbe, annak meg kéne jelennie a másik oldalon, de nem azt tesz. Kiírja hogy üdvözet, alája meg A címe, de amit az előző oldalon beírtam, azt nem. Mi lehet a probléma?
Légyszi segítsetek. -
Drizzt
nagyúr
Feltettem a PHP Eclipse-t, s tetszik őszintén szólva, de egy dolog még hiányzik, ami hasznos lenne: Kéne bele olyan, ami a html részeken kiegészíti ctrl+sp-vel a javascrpit cuccokat is. Van ilyen tool? Ami Php, html, meg javascript ilyen támogatását egyszerre lehetővé teszi?
-
RoyalFlush
őstag
Így néz ki az oldal: [link]
Az volna a kérdésem, ezt hogy lehetne megoldani egyetlen form-mal (egyszerre több eredményt lehessen rögzíteni)?
$szamlalo = 1;
$parancs = mysql_query("SELECT * FROM `bl_merkozes` ORDER BY _jateknap Desc"); // Táblanév
while ( $adat = mysql_fetch_array($parancs) ) {
$datum1 = $adat[_jateknap];
if ($szamlalo != 1) {
if ($datum1 != $datum2) $sordobas = "<br>";
}
$blokk .= "<form name=\"form1\" method=\"post\" action=\"bl_eredmeny_h.php\"><tr><td valign=\"middle\">";
$blokk .= $sordobas;
$blokk .= "<font color=\"#FFFFCC\" size=\"2\">".$adat[_parositas]."<font></td><td valign=\"middle\">";
$blokk .= $sordobas;
$blokk .= "<input type=\"hidden\" name=\"_kod\" value=".$adat[_kod].">";
$blokk .= "<input type=\"text\" name=\"hgol\" size=\"5\" maxlength=\"2\" value=".$adat[_hazaigol].">";
$blokk .= "<font color=\"#FFFFCC\" size=\"2\"> - <font>";
$blokk .= "<input type=\"text\" name=\"vgol\"size=\"5\" maxlength=\"2\" value=".$adat[_vendeggol].">";
$blokk .= "</td><td valign=\"middle\"><font color=\"#FFFFCC\" size=\"2\">".$sordobas.$adat[_jateknap]."<font></td>";
$blokk .= "<td valign=\"middle\"><font color=\"#FFFFCC\" size=\"2\">".$sordobas."<input type=\"submit\" name=\"ok\" value=\"ok\"></font></td></tr></form>";
$sordobas = "";
$datum2 = $datum1;
$szamlalo = $szamlalo + 1;
}
mysql_close($kapcsolat);
print "<font color=\"#FFFFCC\" size=\"2\">".$blokk."</font>";
?>bl_eredmeny_h.php
$parancs = "UPDATE bl_merkozes SET _hazaigol = '" . $_POST["hgol"] . "' WHERE _kod = " . $_POST["_kod"];
Előre is köszönöm a segítséget!
-
-
zeix
senior tag
Amiért pedig ide jöttem...
Olyat szeretnék csinálni PHP-val, ha bejelentkezik valaki az oldalra, akkor rögtön lássam, hogy belépett és ő is lásson engem ugyanazon az oldalon.
Lehetne információkat küldeni egymásnak, adatbázis felé, stb. valós időben.Vagy ehhez már Flash+PHP kell?
Remélem érthető
Köszönöm.
-
zeix
senior tag
válasz
Redpaladin #2269 üzenetére
Nálam is ez a gond Vista64 bit. Nem indul el automatán.
Én AppServ-et használok.
Manual control server => Apache startés elindul a localhost...
-
Louloudaki
aktív tag
válasz
Redpaladin #2269 üzenetére
esetleg ha van skype a gépen, akkor az lenyúlja a 80as portot a webservertől, ha a win indítása közben a skype előbb kerül sorra mint a server.
de lehet a tűzfal is a hibás. -
Redpaladin
tag
Megprobáltam,sajnos nem müködött. Bár az XP alatt egyből elindult a Apache szerver,csak a Vista alatt van valami gond.
Azon gondolkozom,hogy ha megváltoztatom a portot akkor müködne? Alapbeállítás szerinti port van: 80. S Xamp alatt hogy tudom átállítani más portot,mondjuk 81.re?
Más tippem nincs! -
dodopek
addikt
Sziasztok!
A kérdésem csak nagy vonalakban tartozik a php fórumba.Merthogy abban íródott a coppermine foto galery,amivel kapcsolatban kérdeznék...
Nem tudjátok véletlenül,hogy hogyan lehet beállítani,hogy a coppermine captcha-t használjon regnél,illetve hozzászólásnál?Mert én nem találtam meg az admin beállításokban...
Köszi,és bocs,ha valakinek a lelkébe tiportam,mert ez nem épp ide való kérdés...
Dodo -
emitter
őstag
a max_file_size csak IE esetén működik? Valahol ezt olvastam, talán igaz, mert nekem FF nem jelez semmi, ha 100kB-nál nagyobbat akarok feltölteni..
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input type="file" name="image" /> -
cellpeti
nagyúr
Sziasztok!
Most állnék neki PHP-nek,letöltöttem az AppServet,de ott mit kell elindítanom,hogy php állományt tudjak futtatni?
-
Balint133
aktív tag
Sziasztok, lehet off topic lesz, de php jellegű a probléma.
Adott egy websiteom, amin van egy WordPress nevezetű valami...
Ezen a wordpressen csináltam egy oldalt 'Videók' néven, ezen a mellékoldalon lenne egy táblázatféleség amiben a videók nevei (??helyes ez így??) lennének, egy 'Lejátszás Gombbal' mellettük. A táblázat felett lenne egy DivX webplayer, melynek egy olyan dinamikus kódja lenne, hogy az elérési URL-t a lejátszás gomb alatt levő változó értékét írná be.<object classid="clsid:67DABFBF-D0AB-41fa-9C46-CC0F21721616" width="500" height="340" codebase="http://go.divx.com/plugin/DivXBrowserPlugin.cab">
<param name="custommode" value="none" />
<param name="autoPlay" value="false" />
<param name="src" value="http://enoldalam.hu/videok/$valtozo" />
<embed type="video/divx" src="http://enoldalam.hu/videok/$valtozo" custommode="none" width="500" height="340" autoPlay="false" pluginspage="http://go.divx.com/plugin/download/">
</embed>
</object>Namár most, az lenne a kérdésem h a 'gyári' WP-be valamilyen módon ez beépíthető, vagy egyszerűbb ha lelopom a skint és csinálok egy videok.php-t ami ezt megvalósítja
(igen a fenti player hibás, mert only HTMLbe beágyazható, de így prog órán örülök h ezt letudtam vadászni a netről
)
Köszönöm előre is
-
r0by
addikt
válasz
Redpaladin #2261 üzenetére
Amiket említettél, azokat nem használtam még, szóval nem tudok nyilatkozni, hogy miért nem indulna el.
Viszont az Appserv nekem nagyon bevált, ezért sem ismerem a többit
Ezt már nyúztam xp és vista alatt is, most pedig win7 alatt kínzom.
Eddig még sosem volt vele gondom (kopp-kopp-kopp) -
Redpaladin
tag
Sziasztok!
Telepítéssel kapcsolatban van a problémám,s mindenféle módszert kipróbáltam már ezért fordulok hozzátok,hátha közületek valaki tudna nekem segíteni.
Telepítettem: Xampp -ot,s előtte leállítottam a UAC-t ahogy kérte a telepítő,de sajnos localhost nem jön be. A control panelben asszontja porthiba miatt nem indul el a apache szerver,s mindenféle portot állítottam,de eddig nagy semmi. Gondoltam,sebaj,ott van még a Wamp,de sajnos vele se jutottam előrébb,ugyanugy nem indul el a localhost...
Szerintetek mi a hiba? Vistával van a gond? Vagy vírusirtó tűzfala babrál vele?
Nagyon remélem tudd valaki segíteni,mivel munkámhoz kellene s nagyon megszívok a munkahelyemen.... -
Boxer001
veterán
Sziasztok!
Érdeklődnék a téma iránt, esetleg nem tud valaki valamilyen weboldalt linkelni, vagy bármilyen segédanyagot, ahol olvashatnék? Abszolút teljesen kezdő érdeklődés van csak bennem, egyelőre azt szeretném eldönteni, hogy fekszik-e egyáltalán ez, érdemes-e belevágnom.
Előre is köszi! -
cucka
addikt
válasz
emitter #2256 üzenetére
Ha teljesen korrekt ellenőrzést akarsz az űrlapodra, amely mindenhol kijelzi a releváns hibaüzenetet, akkor az sok meló. Mindent ellenőrizni kell, esetleg azokat a műveleteket/ellenőrzéseket összevonhatod, amelyeket több mezőnél is használsz. (Tipikusan ilyen pl. az, hogy üres-e a mező. Csinálsz egy tömböt azokból a mezőnevekből, amelyeknek nem szabad üresnek lenni és foreach-el megnézed mindegyikre, hogy valóban nem üres-e a $_POST tömbben. Persze ez csak akkor segít, ha sok mezőre kell ugyanezt ellenőrizni..)
Viszont lenne egy másik kérdésem: ki lehet-e nyerni valahogyan a $_POST elemeinek a nevét?
Például array_keys() függvénnyel kapsz egy tömböt a $_POST-ban található kulcsokról. Vagy foreach ($_POST as $kulcs => $ertek) formában is végigiterálhatsz rajta.
Egyébként azt javaslom, hogy ne a $_POST elemein menj végig az ellenőrzésnél, hanem a programod tudja, hogy milyen elemeknek kéne ott szerepelniük. Egy php programnak bármikor bármit el lehet post-olni, ezért ne a post-olt adatok alapján ellenőrizd a post-olt adatokat. (Ez kicsit hülyén hangzik, de pontosan ezt írtad le) -
emitter
őstag
válasz
vakondka #2254 üzenetére
ja, de most csak a példa kedvéért mezo1, stb. a mezők nevei
szóval akkor ezt nem lehet megúszni (áll vagy 30 mezőből az űrlapom..)
--
Viszont lenne egy másik kérdésem: ki lehet-e nyerni valahogyan a $_POST elemeinek a nevét? Hogy ne kelljen egy helytelen űrlapkitöltés esetén mind a 30 már kitöltött mezőt egyenként visszairatni, hanem egy ciklussal végigmehessek a $_POST elemein. Lehet úgy hivatkozni mondjuk az első elemére, hogy $_POST[0], vagy csak úgy, h $_POST['mezo1']?
-
whYz
őstag
Hali
Azt szeretném megoldani, hogy van 2 login rendszerem két különböző gépen, és ezt szeretném egy beléptetőrendszerrel összehozni.
Tehát egy login lenne, ami ellenőrizné, hogy melyik mysql adatbázisban van az a felhasználó amit épp beírtak és oda lépjen be.Erre tudtok valami használható megoldást?
-
emitter
őstag
JS-ellenőrzés már kész, most azon gondolkozom, hogy a szerver-oldalon hogyan tudom leghatékonyabban megoldani ugyanezt..
Azt szeretném, hogy akkor is működjön az ellenőrzés, ha ki van kapcsolva a JS a böngészőben. De nem lenne túl szerencsés, ha egy elrontott mező után mindent újra ki kéne tölteni. Tehát php-ből írjak vissza minden kitöltött mezőt, ugye?
Az ellenőrzést hogyan csináljam? Egy marha hosszú if-sorozattal, így?if(isset( $_POST["submit"] )) {
if( !isset($_POST["mezo1"]) ) {
$hianyos[$i] = "mezo1";
$i++;
}
if( !isset($_POST["mezo2"]) ) {
$hianyos[$i] = "mezo2";
$i++;
}
.
.
.
if( !isset($_POST["mezo9"]) ) {
$hianyos[$i] = "mezo9";
$i++;
}
else {
echo "<p>Sikeres regisztráció!</p>";
}
//kitöltött mezők visszaírása; hibás mezők jelzése
} -
cucka
addikt
A következő sort:
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
Cseréld ki erre:
$line = $_SERVER['REMOTE_ADDR'] . "|" . $mday . $month . $year . "\n";
A hiba oka, hogy a letöltött script-ed meglehetősen szarul van megírva és csak akkor működik, ha a szerveren a register_globals be van kapcsolva. A bekapcsolt register_globals egy óriási biztonsági lyuk, ezért jó ideje alapból ki van kapcsolva a php-ban, sőt, a fejlesztés alatt álló 6-os php-ból ki is lesz szedve teljesen.
Egyébként bohóckodni jó ez a log file-al működő látogató számlálás, de javaslom, minél hamarabb cseréld ki egy olyanra, ami adatbázist használ.
-
The DJ
addikt
Igen, ez így igaz természetesen, a baj az, hogy akkor sem növekszik, ha más valaki nézi meg az oldalt rajtam kívül.
Pár ismerősömnek belinkeltem, hogy teszteljem minden működik-e, de miután megnézték azután is csak 1-en áll a számláló, pedig ha minden igaz akkor már elvileg növekednie kéne.
-
cucka
addikt
Meggyűlik a bajom egy látogató számláló scripttel, az egyedi látogatókat, és a mai egyedi látogatókat nem számolja valamiért és nem tudok rájönni miért, az oldal találatokat és az oldalletöltéseket méri szépen ha ráfrissítek ugrik egyet az is, de az egyedi látogatószám nem. Megakadt 1 főnél.
Szerintem ez pont hogy így kell működjön. Az egyedi látogató pontosan azt jelenti, hogy egyedi (ip cím és/vagy cookie szerint), tehát ha ráfrissítesz, akkor nem kell növekedjen az értéke.
Például te ma megnézed az oldaladat 30-szor, én pedig 15-ször, akkor az egyedi látogatók száma 2 kell legyen, az oldalletöltések száma pedig 45. -
The DJ
addikt
Sziasztok, megint én
Meggyűlik a bajom egy látogató számláló scripttel, az egyedi látogatókat, és a mai egyedi látogatókat nem számolja valamiért és nem tudok rájönni miért, az oldal találatokat és az oldalletöltéseket méri szépen ha ráfrissítek ugrik egyet az is, de az egyedi látogatószám nem. Megakadt 1 főnél.
A txt fájl jogait, ahova menti az adatokat 777-re állítottam, tehát vagy a scripttel van a baj vagy az oldallal. Bemásolom a scriptet hátha valamelyik PHP guru hozzá tud szólni a dologhoz.
<body>
<font face="Verdana" size="1">
<?php
// Our log file;
$counter = "stats.txt";
// Date logging;
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$current_date = $mday . $month . $year;
// Log visit;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);
// Read log file into array;
$contents = file($counter);
// Total hits;
$total_hits = sizeof($contents);
// Total hosts;
$total_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
array_push($total_hosts, $entry[0]);
}
$total_hosts_size = sizeof(array_unique($total_hosts));
// Daily hits;
$daily_hits = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hits, $entry[0]);
}
}
$daily_hits_size = sizeof($daily_hits);
// Daily hosts;
$daily_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hosts, $entry[0]);
}
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));
?>
<? echo "
Oldal találatok:<b> " . $total_hits . "</b><br><br>
Egyedi látogató: <b> " . $total_hosts_size . "</b><br><br>
A mai oldalletöltés: <b> " . $daily_hits_size . "</b><br><br>
A mai egyedi látogatók: <b>" . $daily_hosts_size;
?> -
cucka
addikt
Mindenképp kell ellenőrzés a szerver oldalra, méghozzá az előtt, hogy az adatokat feldolgoznád (pl. bekerülnének egy adatbázisba).
Lehet bohóckodni ajax-al meg javascript-el, de a konkrét adatfeldolgozás akkor is úgy kezdődik, hogy a szerver kap egy POST vagy GET kérést. Ilyen kérést pedig nem csak böngészőből lehet küldeni, tehát az egész kliens oldali ellenőrzés könnyedén kikerülhető. -
L3zl13
nagyúr
válasz
Tele von Zsinór #2244 üzenetére
Lehet egyben a kettőt Ajax-szal, vagy a mellett is kell egy pusztán szerveroldali?
-
emitter
őstag
válasz
Tele von Zsinór #2244 üzenetére
köszi!
-
emitter
őstag
itt is megkérdezem a gyors válasz reményében:
egy regisztrációs űrlap kötelező mezőinek kitöltését hogyan célszerű ellenőrizni: javascripttel a Submit gond megnyomása után (de még a feldolgozó php betöltése előtt), vagy a feldolgozó php-ből?
-
The DJ
addikt
válasz
fordfairlane #2241 üzenetére
Köszönöm mindkettőtöknek, ez volt a baj valóban, kitöröltem az action részt és működik rendesen
-
The DJ
addikt
Sziasztok!
Van egy oldalam, az index.php-ben a következő néhány sor van beszúrva egy középső sávba azért, hogy a tartalmat a nekem szükséges helyen jelenítsem meg:
<?php
$page=$_GET[page];
if(!isset($page)){
include "kezdolap.php";
}else{
$vanea=is_file($page.'.php');
if(empty($vanea)){
$vanea="0";
}
if($vanea==1){
include "$page.php";
}else{
include "nincs.php";
}
}
?>Ez azt hiszem egyértelmű, működik is szépen, nincs vele semmi gond. A probléma ott kezdődik amikor az egyik aloldalba (tehát nem az index.php-be) be akarok illeszteni egy egyszerű login rendszert, aminek a következő a forráskódja:
<?php
// Define your username and password
$username = "admin";
$password = "admin";
if ($_POST['txtUsername'] != $username || $_POST['txtPassword'] != $password) {
?>
<h1>Login</h1>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label for="txtUsername">Username:</label>
<input type="text" title="Enter your Username" name="txtUsername" /></p>
<label for="txtpassword">Password:</label>
<input type="password" title="Enter your password" name="txtPassword" /></p>
<input type="submit" name="Submit" value="Login" /></p>
</form>
<?php
}
else {
?>
This is the protected page. Your private content goes here.</p>
<?php
}
?>A baj az, hogy valamiféle módon az első kód miatt nem működik a második. Nem értek mélyen a PHP-hoz és nem tudom mi üti ki a másodikat. Úgy kellene működnie, hogy beírom a nevet és jelszót és megjeleníti a védett tartalmat, de ehelyett csak simán visszadob az index.php-ra. Kipróbáltam egy PHP mentes oldalon és ott tökéletesen működik.
Tudna valaki segíteni hogy hogy hozzam össze ezt a két dolgot, hogy minden működjön rendeltetése szerint?
-
cucka
addikt
válasz
Jano_023 #2237 üzenetére
Értelmes lehetőségek a probléma megoldására
- htaccess-el véded a filet.
- olyan helyre rakod a filet, ami kívül esik a webszerverben beállított wwwroot könyvtáron, de a php el tudja érni.
- file helyett adatbázisban tárolod a kényes információkat.Ingyenes tárhelyen általában az első kettőre nincs lehetőséged
.
-
Jano_023
őstag
válasz
Louloudaki #2236 üzenetére
Igazából ez a számláló csak egy kis gyakorlás volt. De nagyobb gond pl. ha egy reisztárció-s oldalt csinálok. Ahol tárolom a neveket és a felhasználó jelszavakat. Hogy állítsam be, hogy ezen adatokat tudjam tárolni valami fáljban és azt csak az arra jogosult érje el??? Igazából majd ide szeretnék eljutni, de még csak hete csinálom ezt a PHP bulit ... szóval lehet kicsit sokat haraptam.
-
Louloudaki
aktív tag
válasz
Jano_023 #2235 üzenetére
free tárhelyen nem szeretik ha rrejtett cuccot töltesz fel, legyen az akár egy txt csak. .htaccess fájl segítségével be lehetne állítani, hogy jelszót kérjen, de free tárhelyen ilyen sincs. próbálj meg egy egyszerű php fájlt berakni, ami kér usert/passwordöt és ha jó, akkor kidobja a fájlt.
-
Jano_023
őstag
Sziasztok,
Nem rég kezdtem el a PHP-t épp most csináltam egy számlálót és ekkor egy érdekes dologra hívta fel a kedves barátom a figyelmet. Az a file amiben tárolom az értéket, hogy hányan látták az oldalt bárki számára megtekinthető. A kérdésem, azok a fileok amikkel dolgozom, azoknak a jogait, hogy ki vagy ki ne nézzhese meg hogy állítom be? Egy ingyenes domain nevet használok az extrán. De ott nem tudtam ilyesmi állítani.Szóval mi a megoldás ? Mert ha simán beírom az elérési útját a filenak megjeleníti a böngésző.
Előre is köszi !
Jano -
WaterWave
veterán
Még mindig a számlálóval bajlódok, srácok, már féluton vagyok
[link]
1-14 ig listázza a lapot és nemjövök rá miért, mikor 1-15 ig kéne majd 2-16 stb stbelértem hogy 1-14 nél ha 2. lapra klikkelek akkor az Előző linkként előjöjjön így tudok lépegetni, de sajnos csak 14 oldalig, mikor lenne vagy 21..
valaki tudna segíteni?
-
tkazmer
addikt
válasz
Tele von Zsinór #2230 üzenetére
oh, köszi a kiegészítőt
404 marad sajnos, de sikerült másképp talán megoldani: ob_start(); az elejére és ob_end_flush(); a végére az oldalnak, ettől úgy néz ki, megjavult. -
Tele von Zsinór
őstag
válasz
tkazmer #2228 üzenetére
De átírja az állapotkódot? Ajánlom a Live HTTP headerst ennek ellenőrzésére.
-
D.R.O.
tag
válasz
Tele von Zsinór #2225 üzenetére
Az Eclipse PDT-nél még alt-tab sem kell, ha beállítod neki a webszervert. Csak megnyitod egy másik fülben azt ott látni a végeredményt.
Egyébként télleg faja a cucc, mármint az Eclipse PDT, és linuxon is megy. Én is ott használom.
-
tkazmer
addikt
válasz
Tele von Zsinór #2227 üzenetére
átírtam erre (közben máshol is kaptam tippet):
header("HTTP/1.1 200 OK", "", "200");
viszont így se akarja az igazságot... -
tkazmer
addikt
egy weblapnál rövidwebcímeket használok, mégpedig olyan módon, hogy adott a $_SERVER['HTTP_REQUEST'] változó, amelyet explode-al feldarabolok és egy $request tömbben tárolok, így pl a domain/oldal-ból az "oldal" elérhető úgy, hogy $request['1'].
Maga az oldal pedig úgy kapja meg ezt az -alapvetően 404-et adó - kérést, hogy error document 404-nek be van állítva az index.phpa gondom az, hogy valami miatt néhány felhasználónak gyakran előfordul: 404-et kap, de főleg IE alatt. megnéztem, elfelejtettem betenni a header("HTTP/1.0 200 OK"); sort, azonban most, ezt betéve is kiad nekik néha - egyelőre teljesen rendszertelennek tűnő módon - 404-es hibát. Ált. 4-5 kattintásonként jelentkezik a hiba.
mi lehet a gond illetve esetleg a megoldás? volt már valakinek hasonló?ami miatt nem a htaccesses átírós megoldást választottam, az az, hogy eredetileg IIS-re kellett az oldal (mostmár apacheon van), és a rendszergazda szerint ott fizetős isapi modullal lehetett volna csak a htaccess-es-hez hasonló módon megoldást találni.
-
Drizzt
nagyúr
Php-hez amúgy létezik bármiféle jól használható fejlesztőkörnyzet?
Gondolok arra, hogy pl.: Java-t marha jól lehet Eclipse-szel fejleszteni. Mondjuk persze teljesen más egy szerver oldali nyelv, de azért érdekelne, hogy van-e valami lényegesen használhatóbb, könnyebben debugolható dolog, minthogy Linux-on a joe syntax highlightingját használom, aztán meg megnézem a szerveren, hogy mi a php lehívás eredménye. -
Átjöttem akkor ebbe a topikba, azt mondták itt az egyik problémámat meg lehetne oldani php-vel.
Itt írtam róla.Az még lemaradt, hogy a feltöltött/betöltött képeket csak ideiglenesen tárolná a rendszer. Tehát bizonyos idő után ki kellene üríteni a mappát, amiben átmenetileg tárolta a képeket.
Nagyon kezdőként kérdezem ezeket.
-
zeix
senior tag
válasz
Tele von Zsinór #2218 üzenetére
Köszönöm!
Sokkal egyszerűbb. -
zeix
senior tag
Jó reggelt!
Ehhez kérnék egy kis segítséget, hogy hogyan lehetne a kódot egyszerűsíteni.
Ez a script a számokat, a karakterhosszúságuk alapján írja ki, ezres helyiérték elválasztó ponttal.íme:
$hossz=strlen($sor2["leltar"]);
switch ($hossz) {
case "1":
print $sor2["leltar"];
break;
case "2":
print $sor2["leltar"];
break;
case "3":
print $sor2["leltar"];
break;
case "4":
$e3 = substr($sor2["leltar"], -3);
$e9 = substr($sor2["leltar"], 0, -3);
print $e9.'.'.$e3;
break;
case "5":
$e3 = substr($sor2["leltar"], -3);
$e9 = substr($sor2["leltar"], 0, -3);
print $e9.'.'.$e3;
break;
case "6":
$e3 = substr($sor2["leltar"], -3);
$e9 = substr($sor2["leltar"], 0, -3);
print $e9.'.'.$e3;
break;
case "7":
$e3 = substr($sor2["leltar"], -3);
$e6 = substr($sor2["leltar"], -6, -3);
$e9 = substr($sor2["leltar"], 0, -6);
print $e9.'.'.$e6.'.'.$e3;
break;
case "8":
$e3 = substr($sor2["leltar"], -3);
$e6 = substr($sor2["leltar"], -6, -3);
$e9 = substr($sor2["leltar"], 0, -6);
print $e9.'.'.$e6.'.'.$e3;
break;
case "9":
$e3 = substr($sor2["leltar"], -3);
$e6 = substr($sor2["leltar"], -6, -3);
$e9 = substr($sor2["leltar"], 0, -6);
print $e9.'.'.$e6.'.'.$e3;
break;
case "10":
$e3 = substr($sor2["leltar"], -3);
$e6 = substr($sor2["leltar"], -6, -3);
$e9 = substr($sor2["leltar"], -9, -6);
$e12 = substr($sor2["leltar"], 0, -9);
print $e12.'.'.$e9.'.'.$e6.'.'.$e3;
break;
case "11":
$e3 = substr($sor2["leltar"], -3);
$e6 = substr($sor2["leltar"], -6, -3);
$e9 = substr($sor2["leltar"], -9, -6);
$e12 = substr($sor2["leltar"], 0, -9);
print $e12.'.'.$e9.'.'.$e6.'.'.$e3;
break;
case "12":
$e3 = substr($sor2["leltar"], -3);
$e6 = substr($sor2["leltar"], -6, -3);
$e9 = substr($sor2["leltar"], -9, -6);
$e12 = substr($sor2["leltar"], 0, -9);
print $e12.'.'.$e9.'.'.$e6.'.'.$e3;
break;
}Jó hosszú lett
-
WaterWave
veterán
Sziasztok.
Mivel jelezték ide irjam a problémámat, ezért ide írom..
Tehát adva van egy oldallapszámozási rendszer [link]
Müködési elve 1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20-21 / 30/lap
Tehát egy lapon 30 sort listáz ki
Mivel regisztrált neveket listáz ki a cucc, ezért a gondom vele az, hogy minél több a reges, annál több az oldallap, és ahogy "hízik a szám" egyre jobban közeledik a lap széléhez és lefog róla egyszer csúszni, csúnyán kifejezve, meg esztétikailag se a legjobb..
Ezért egy ilyen szisztémára gondoltam, csak nem tudom megoldani sajnsos
pl:1-15 30/lap Következő
(vagy)
Előző 2-16 30/lap Következő
(vagy)
Előző x-21 30/lapÖtletek vannak, megvalósítás hiányzik, mert nem könnyű, de aki ért hozzá az vágja, ezért aki tud segítsen.
Köszi -
akasp
senior tag
tkazmer: köszi ezt még eddig nem is tudtam
amugy eléggé bennevagyok már php + mysql stb, de még egyszer se jutott eszembe hogy mia fene lehet a get és a post között a különbség? eddig mindig postoltam... de jobblenne tudni hogy mi a különbség
hátha néha megkönnyíti a dolgom
-
akasp
senior tag
-
pigatt
őstag
Üdv.!
Kellene egy kis segítség, nem tudom működésre bírni a keresőt egy honlapon.
Eddig eljutottam:
<div id="search">
<form method="get" action="">
<fieldset>
<input type="text" name="q" value="Írd be a keresendő szöveget" id="q" class="text" />
<input type="submit" value="Search" class="button" />
</fieldset>
</form>
</div>Csak akármit adok, meg action-be nem működik. Mi lehet a hiba??? Mit kell megadnom???
-
Napster01
tag
hali!
Nem nagyon barátkoztam még php-nuke-al, próbáld meg hivatalos oldalakon, vagy mod oldalakon, ismerek egy magyar oldalt, fórumban böngészgess, hátha találsz valamit: [link] -
sasa311
veterán
Sziasztok!
Egy kis segítséget szeretnék kérni! Egy barátommal közösen üzemeltetünk egy PHP-Nuke alapú weblapot, íme:
http://www.korallszirtes-akvarium.hu/index.phpArra irányulna a kérdésem, hogy milyen modult tudnánk beépíteni a honlapba azért, hogy javítsuk a képgalériánkat.
Jelenleg az van, hogy fix méretű képeket kell feltöltenünk, különben széthúzzák az oldalt. És mivel enm éppen egy számtech irányultságú oldal sok user nem tudja variálni a képei méretét.
Azt szeretnénk, hogyha bármilyen képet fel lehetne tölteni, a rendszer automatikusan az optimális felbontásra kicsinyítené, ám mikor ráklikkelnek akkor egy új ablakban a normál méretben is megnyitható lenne.
Mit ajánlotok?
-
gergelyk3
csendes tag
Sziasztok. Olyan prolémában kérném a segitsegeteket hogy van egy webshoppom amiben mar meg van a minimum rendelés határozva de en ugy szeretném átirni hogy ez ne minimum rendelés hanem rendelési egység legyen., tehát csak 20asaval vagy 30asaval lehessen rendelni.
Ez a kodreszlet ami szerintem eldonti ezt. Probalkoztam a %-os osztast megvalositani de sajnos a tudasom nem eleg hozza
//Minimum quantity code
if(MINIMUM_ORDERS == 'true'){
$min_order_query = tep_db_query("select p.minorder as min_quant FROM " . TABLE_PRODUCTS . " p where p.products_id = '".$products[$i]['id']."'");
while ($min_order = tep_db_fetch_array($min_order_query)) {
if ($products[$i]['quantity'] < $min_order['min_quant'] ) {
$products[$i]['min_quant']=$min_order['min_quant'];
}
}if ($products[$i]['quantity'] < $products[$i]['min_quant'] ) {
$products[$i]['quantity']=$products[$i]['min_quant'];
$cart->add_cart($products[$i]['id'],$products[$i]['quantity'],$products[$i]['attributes']);
$cart_notice = sprintf(MINIMUM_ORDER_NOTICE, $products[$i]["name"], $products[$i]["min_quant"]);
}
}
//End Minimum quantity codeRemelem tud vki nekem segiteni. koszonom
Toth Gergely
-
Orb1337
tag
Nekem van egy nagyon alap problémám: PHP oldalamon firefox alatt rosszul jelennek meg a nyelvi karakterek, IE alatt minden stabilan működik. Mi a megoldás?
-
Új hozzászólás Aktív témák
Hirdetés
- Eladó konfig! Ryzen 7 7800X3D 2TB SSD 64GB DDR5 RX9070XT 16GB!
- Új, makulátlan állapotú Samsung Galaxy Buds FE, fehér, fél év garancia
- Új, makulátlan állapotú Samsung Galaxy Watch7 44mm ezüst, 2 év garancia
- Új, makulátlan állapotú Samsung Z Fold 6 256GB Tengerészkék, független, 2 év garancia
- Használt TP-Link Deco M4 - AC1200 Router (Mesh-ként is használható)
- Csere-Beszámítás! Sapphire Pure RX 7900XT 20GB Videokártya! Bemutató darab!
- Bomba ár! Dell Latitude 7390 2in1 - i7-8G I 16GB I 256SSD I 13,3"FHD Touch I HDMI I Cam I W11 I Gar
- Lenovo LEGION Pro 5 / Pro 7, Lenovo Yoga Pro gépek (RTX 4060 / 4070 / 4080 / 4090)
- Bomba ár! Lenovo ThinkPad T470s - i5-6GEN I 8GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 4070Ti Super GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest