- Samsung Galaxy S24 - nos, Exynos
- A Mobvoi eddigi legkeményebb órája a TicWatch Atlas
- iPhone topik
- Xiaomi Mi 9T - a túl jó Redmi
- Vodafone mobilszolgáltatások
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen okostelefont vegyek?
- Poco X6 Pro - ötös alá
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Honor Magic6 Pro - kör közepén számok
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
"Tehát az isset true-val fog visszatérni bármilyen változóra, ami nem létezik"
Hogy micsoda?
Ha van egy ilyened:
$valami;
az isset($valami) FALSE-szal fog visszatérni;
A $valami = 1; után már TRUE-val.
Hogy térne vissza true-val? Vagy csak elírtad?"Jól látható, hogy a neve ellenére az isset()-nek valójában semmi köze ahhoz, hogy egy változó (vagy tömb index) definiált-e vagy sem."
Az előbbi azt igazolja, hogy de igen, van köze hozzá (PHP 5.3.8-ban legalábbis biztosan, Te nem tudom, hányas változatról beszélsz, hol volt ez valaha érvényes (4-esnél simán lehet, ezt nem tudom), én az általad említett dologgal nem találkoztam még).
Ahogy arra is false-t ad vissza, ha a $nincsilyen változód nincs beállítva sehol hogy, és nyomatsz egy olyat, hogy isset($nincsilyen->tokmindegy), ahogy ugyanez igaz a $nincsilyen['tokmindegy'] ellenőrzésére is.
Ez most akkor pont annak ellenkezője, amit írtál, szóval nem értem az állításodat."(Ennek eldöntésére a get_defined_vars() való)."
Hmm? Hogy jön ide a get_defined_vars(), amikor csak egyetlen változó meglétét szeretnéd ellenőrizni? Ez a függvény egy komplett tömböt ad vissza az adott scope-ban elérhető lokális/globális/szerver/környezeti változókról, tehát tartalmazni fogja a $GLOBALS tömb dolgait, a $_SERVER dolgait, és így tovább... ezután ezen a tömbön fogsz kiadni egy isset()-et, és akkor ugyanott vagy, vagy ezt most hogy értetted?
Nem az array_key_exists() vagy property_exists() és társai valamelyikére gondoltál?"A gyarkolatban ebből az következik, hogy az empty() teljesen alkalmatlan bármire, visszatérési értékének semmi köze ahhoz, hogy "üres"-e a változó értéke vagy sem. Javaslom, soha, semmilyen körülmények között ne használd az empty()-t, ez egész egyszerűen egy rosszul kitalált nyelvi elem a php-ban."
Mondjuk akkor még lehet értelme, ha a "", 0, 0.0, "0", NULL, FALSE, array() és értékadás nélkül deklarált $var változók közül egyik sem felel meg neked, és megköveteled, hogy mindegyiktől különbözzön mondjuk adott mező Ha például egy adott mezőt kötelező kitölteni, vagy mondjuk 0-nál (0.0-nál) nagyobb szám megadására van szükség, akkor végül is ellátja a feladatát, de ettől függetlenül azzal egyetértek, hogy általános validációra nyilván alkalmatlan.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz #68216320 #12696 üzenetére
"php.ini-ben lehet beállítani valahol alapértelmezettként az error_reporting-et?"
Jaja:
http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting"Illetve emlitetted az if( ! empty( $_POST['valami'] ) )-t. Inkább ez vagy az isset() ?"
itt tudod megnézni bővebben:
http://php.net/manual/en/function.empty.php
mondjuk a lényege már ki lett vesézve. A kettő nem ekvivalens, csak arra céloztam, hogy az empty()-ben eleve "benne van" egy isset()-vizsgálat is, tehát ez nem fog notice-t dobni, ez is nyelvi elem (nem függvény):
"No warning is generated if the variable does not exist. That means empty() is essentially the concise equivalent to !isset($var) || $var == false."
Tehát ha a !isset($_POST['valami']) igaz, akkor az is igaz, hogy empty($_POST['valami']). De az empty() ezentúl még lehet akkor is igaz, ha az adott változó érték nélkül lett deklarálva, vagy annak értéke egyenlő a következők valamelyikével: "", 0, 0.0, "0", NULL, FALSE, array(). Pont ezért lett korábban az a végkövetkeztetés, hogy ha általános validációt szeretnél, akkor arra nem feltétlenül alkalmas az empty(). De ha az előbbi értékek közül egyik sem felel meg, akkor kényelmes eszköz lehet, de ennél is igaz az, hogy ettől még nem biztos, hogy jó: a kódod nem mondja meg az azt olvasó számára egyértelműen, hogy milyen értékeket vársz el, bár ettől függetlenül valamelyest beszédes is. Csak azt megzavarhatja, aki nincs tisztában az előbb írtakkal, hogy ha mondjuk egy felhasználó éppen 0-t ír egy adott űrlapmezőbe, akkor is igazzal fog visszatérni az empty(), és ez nem minden esetben jön jól.=======================
(#12699) biker :
"de a ===-nek is van szerintem hátránya: "0" === 0 FALSE szerintem, mert az első sztring a másik num
nem?"
De igen, ahogy írtad, a "0" === 0 az hamis, mivel a három egyenlőségjellel típusvizsgálatot is végzel, és ez nagyon jól is van így. Szóval ez nem hátrány.
Ha már ennyire belementünk: van például az intval() függvény is:
http://php.net/manual/en/function.intval.php
na ez is teljesen alkalmatlan vizsgálatra, mert az intval("asd") eredménye például 0 lesz, ami nyilvánvalóan nem jó. Tehát PHP-ben elég kacifántos lehet adott esetben egy validáció.[ Szerkesztve ]
Sk8erPeter
-
cucka
addikt
válasz Sk8erPeter #12701 üzenetére
Hogy térne vissza true-val? Vagy csak elírtad?
Ja, igen, fordítva"Jól látható, hogy a neve ellenére az isset()-nek valójában semmi köze ahhoz, hogy egy változó (vagy tömb index) definiált-e vagy sem."
Egy példa arra, amikor egy tömb index definiálva van, isset szerint viszont mégsem:$a = array(0=>null);
$r = isset($a[0]);
var_dump($r); //-> FALSE
var_dump($a[0]); //-> NULL
var_dump(count($a)); //-> int(1)Ugyanez globális változóra. A $s az isset szerint nem létezik, valójában pedig igen.
$s = null;
$r = isset($s);
var_dump($r); //-> FALSE
var_dump($s); //-> NULL
var_dump(in_array('s', array_keys(get_defined_vars()))); //-> TRUE -
Sk8erPeter
nagyúr
Ja, így már érthető, de nem azt mondtad korábban, hogy HA NULL AZ ÉRTÉKE, mert akkor egyből érthető lett volna:
http://php.net/manual/en/function.isset.phpisset — Determine if a variable is set and is not NULL
már eleve ez van a doksiban.
Szerintem is totál degenerált dolog ez ilyen formában, mivel rohadtul félrevezető...Viszont ez működik:
$a = array(0=>null);
var_dump( array_key_exists(0, $a) ); // --> TRUE!visszatérve arra, amit írtál:
var_dump(in_array('s', array_keys(get_defined_vars()))); //-> TRUE
na ne már... ezt minden validálásnál így csinálod? Az összes, adott scope-ban elérhető változót lekéred egy tömbbe, és végigszaladgálsz rajtuk, csak hogy megtudd, egyetlen adott tömb egy adott kulcsa létezik-e? Akkor már nem értelmesebb kissé a fentebb említett array_key_exists()? Kicsit kevésbé tűnik erőforrás-igényesnek, eleve kevesebb adatból kell kibogozni a kérdésünkre a választ.Sk8erPeter
-
it_service
csendes tag
Helló, 1 kis segítséget szeretnék kérni.
Van 1 mysql táblám, 3 különböző mezővel.
id: 1
nev : XYZ
kor: 11id: 2
nev : XYZW
kor: 14...
Update-elem formról érkező adattal a 2. változatot vissza lehet-e kapni valahogyan azt hogy mondjuk a kor 14-ről 15-re változott?
Ergo azt a mezőnevet szeretném visszakapni amiben az érték megváltozott, jelen pillanatban 'kor'.
Köszönöm
-
DeltaPower
addikt
válasz it_service #12705 üzenetére
Az update előtt select és php-ben összehasonlítod.
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
it_service
csendes tag
válasz DeltaPower #12706 üzenetére
Igen, így lesz, köszi
-
trisztan94
őstag
Sziasztok!
Érdekesség szempontjából kérdezném az alábbi dolgot:
A Facebook hogyan tárolja a felhasználók posztjait, kommentjeit, lájkait, összes tevékenységét? Adatbázisba menti, esetleg XML-be? Egy ekkora adatbázis nem lassítaná használhatatlan szintre az oldalt?[ Szerkesztve ]
https://heureka-kreativ.hu
-
Soak
veterán
válasz trisztan94 #12708 üzenetére
MySQL is nagyon gyors (ha van alatta vas), de a facebook amúgy is élen jár az uj technológiák keresésében (költség optimalizálás) , ezért pl itt egy cikk : [link] , láthatod, hogy nem csak a relációs adatbázisok játszanak ilyenkor, de azért kiemelném ezt a részt : First deployment of Cassandra system within Facebook was for the Inbox search system. The system currently stores TB’s of indexes across a cluster of 600+ cores and 120+ TB of disk space. és ez egy több mint 4 éves bejegyzés .
-
Soak
veterán
válasz trisztan94 #12710 üzenetére
Azért a facebook szerintem kivülről sem egyszerű
-
trisztan94
őstag
Igen, ez kicsit gyenge kifejezés volt, de akkor se gondolná az átlagfelhasználó, hogy mi minden van mögötte. offban off: Ha jól értettem 600 magos szerver van alatta?!
Nem rég vágtam bele egy nagyobb projectbe, nem annyira bonyolult oldal, de még én sem gondoltam volna, hogy ennyit kell vele sz*rakodni, pedig azért nem az első melóm.
https://heureka-kreativ.hu
-
Soak
veterán
válasz trisztan94 #12712 üzenetére
Az nyilván nem egy szerver, hanem egy cluster, de amúgy jah, szerintem ma már van az 1000 is ...
Szerk : De ez nem a komplett site alatt van, hanem csak egy modul alatt.
[ Szerkesztve ]
-
Brown ügynök
senior tag
Van egy email feldolgozó kis program ami imap-pal működik. Az ékezetes csatolmány azonban elég csúnyán jelenik meg. Mégpedig így:
ISO-8859-2''%4D%F3%64%6F%73%ED%74%6F%74%74%20%E9%70%65%6E%67
A kódot nem én írtam és imap-ban sem vagyok járatos de talán valami kódolási/dekódolás megoldaná a problémát. Van ötletetek?
-
Brown ügynök
senior tag
válasz Brown ügynök #12715 üzenetére
URL kódolva volt, nem karakterkódolási probléma. Egyébként egy hasznos oldal ezzel kapcsolatban: [link]
-
alitak
senior tag
Sziasztok,
belefutottam egy olyan gondba, hogy interbase adatbázishoz nem tudok csatlakozni. A phpinfo szerint a firebird/interbase driver engedélyezve van, a kód futáskor meg azt mondja, hogy Fatal error: Call to undefined function ibase_connect()
Találkoztatok már ilyen gonddal?[ Szerkesztve ]
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
jeszi
tag
Sziasztok!
Kb. 100 ingatlan képét kellene megjeleníteni. Egy ingatlan kb.4 képet tartalmaz.
Arra gondoltam, hogy minden ingatlan egy mappában lenne, pl.:
(sorszam-település)1-Budapest
1.jpg 2.jpg 3.jpg 4.jpg
2-Budapest
5.jpg 6.jpg 7.jpg 8.jpg
3-Dunakeszi
9.jpg 10.jpg 11.jpg 12.jpgNa ezt kellene jól megírni php-val, hogy a mappák látszódjanak és ha kattintanak egyre, akkor az ott lévő képek látszódjanak.
Kb. a linkek megvannak:
foreach (glob("./*-*") as $filename)
{
echo "<br>";
echo "<a href=\"".$filename."\">".$filename."</a><br/>";
// echo "<img src='".$filename."'/>";
echo "<br>";
}Azért írtam ide, mert aki ezzel foglalkozik, szerintem annak 2 perc ezt megírni, nekem viszont nem triviális a megoldás, nem vagyok fejlesztő, elakadtam. A segítséget köszönöm!
[ Szerkesztve ]
Nem félek a haláltól, majdcsak túlélem valahogy!
-
Siriusb
veterán
Nekem ez egy kicsit furcsa elgondolás. Én létrehoznék 100 linket a 100 ingatlannak, és pl. colorbox-szal galériaként megjeleníteném a képeket, minden ingatlan egy-egy galéria.
Tehát lenne minden ingatlanhoz egy ul, aminek az elemei hivatkozások <a> a képekre. A rel taggal lehet colorbox-nál csoportosítani a képeket. Vegyük a könyvtár nevét: bp001, ezt teszed be a a rel-be <a href="#" rel="bp001>bp001: ez a szöveg a link</a>, így amikor rákattintasz a hivatkozásra, colorbox-ban megjelenik az első kép, mint kép 1 / 4 és szépen végig lehet lapozni. Másik hivatkozásra kattint, másik galéria jön fel.Szerk: persze minden képhez kell egy linket generálni, de csak egy hivatkozást jelenítesz meg, a többit css-szel elrejted.
[ Szerkesztve ]
-
alitak
senior tag
CentOS. Viszont időközben a rendszergazdánk alakított valamit, mert a függvény már megy. Az új probléma, hogy nem tudok becsatlakozni külső adatbázishoz. Másik, nagyon hasonló rendszerről ugyanaz a PHP kód működött, valamint kliensprogramból be tudok csatlakozni. Még megpróbálok ssh-n keresztül csatlakozni, lehet más a gond, nem pedig a PHP.
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
Sk8erPeter
nagyúr
válasz alitak #12724 üzenetére
Most ez kábé olyan hibaleírás volt, mint a "nem működik, mi lehet a gond?" Azt sem írtad, milyen hibaüzenetet kapsz a külső adatbázishoz kapcsolódásnál. Ennyi alapján nem lehet segíteni.
Egyébként PDO-val is lehet csatlakozni a Firebird/Interbase-hez:
http://php.net/manual/en/ref.pdo-firebird.php
amivel amúgy is jóval igényesebb lenne.Sk8erPeter
-
alitak
senior tag
válasz Sk8erPeter #12725 üzenetére
Igen, ebben abszolút igazad van. Ez a hiba:
Unable to complete network request to host "*****". Failed to establish a connection. A kapcsolat időtúllépés miatt megszakadt in *** on line 438A PDO csatlakozást is próbáltam, ott ez lett a vége:
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in ***:439 Stack trace: #0Ez szerver beállítás hibája lesz?
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
cucka
addikt
válasz alitak #12726 üzenetére
Az első azt mondja, hogy nem tud csatlakozni a szerverhez. Ellenőrizni kell, hogy egyáltalán fut-e azon a szerveren az adatbázis és hogy a tűzfalban engedélyezve van-e a kapcsolat (kifele és befele is, nem elfelejtve, hogy melyik portról van szó).
A második azt mondja, hogy a PDO nem találja a megfelelő adatbázis drivert, szóval lényegében el sem jut oda, hogy megpróbáljon csatlakozni. -
alitak
senior tag
A firebird szervet innen lokálisan a gépről egy kliensprogrammal (FlameRobin) elérem. PHP-val a szerverről nem érem el. A PDO elképzelhető, hogy nincs telepítve, a szerver üzemeltetés rész nem nálam van. Rákérdezek. Van arra esély, hogy ha az ibase_connect() segítségével nem tudok csatlakozni, attól a PDO-val menni fog a dolog?
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
Dave-11
tag
Egy JavaScript változó értékét hogy tudom átadni egy PHP változónak?
:D Semmi :D
-
Dave-11
tag
Nem igazán, arról lenne szó, hogy van egy űrlap, abból javascript feldolgozásával kapunk egy értéket, és ezt php-val el kell küldeni egy e-mail címre a mail függvénnyel.
Az űrlapot muszáj javascripttel feldolgozni.
Ötlet?
Próbálkoztam ezzel:
<?php
$var = '<script language="javascript">document.write(valtozo);</script>';
echo $var;
?>
Ezzel csak az a baj, hogy undefinde-ot ír ki, és nem tudom hogy miért:D Semmi :D
-
fordfairlane
veterán
válasz Dave-11 #12733 üzenetére
Ezzel csak az a baj, hogy undefinde-ot ír ki, és nem tudom hogy miért
Azért ír undefined-et, mert a javascriptet a böngésző értelmezője hatja végre, a javascript változók a kliensgép memóriájában jönnek létre, míg a PHP a kiszolgálóoldalon teszi ugyanezt.
Semmiféle automatizmus nincs a HTTP protokollban erre a célra, ezt a változót valahogy el kell küldeni a szervernek, ugyanúgy, ahogy az űrlap mezőit is. Hidden mezőt célszerű használni, ahogy írták előttem.
[ Szerkesztve ]
x gon' give it to ya
-
vamzi
senior tag
Sziasztok!
Szeretnék egy baromi egyszerű oldalt magamnak, de most a kódolásra nem akarok időt pazarolni. Az otthoni hobbi projektjeimet szeretném vele egy helyre összeszedni. Forráskódok, szövegek és képek. Ez eddig mezei HTML, ami jelenleg is megy, de a forráskódokat szeretném, ha úgy jelenne meg, mint mondjuk a Notepad++-ban, tehát színezve, sorszámozott sorokban és kimásolhatók legyenek. Erre a Geshi-t találtam, ami tényleg nagyon pöpec, de ebbe sajnos csak megjeleníteni tudom a beírt forrást.
Én viszont azt akarom, hogy ha feltöltöm egy mappába a forrásfájljaimat, akkor az adott oldal annak a tartalmát nyissa be és formázza a kiterjesztésnek megfelelően.
Van erre valami jó plugin?
-
Tele von Zsinór
őstag
-
vamzi
senior tag
válasz Tele von Zsinór #12738 üzenetére
Ez már funkcionalitásban túl sok. Semmi komolyat nem szeretnék, pusztán összeszedni az eddig megcsinált projektjeimet és azokat egy helyen tárolni.
De, köszönöm.
-
Mbazsika
tag
Sziasztok!
Nem értem, hogy a visszaadott JSON eredménybe miért nincsenek benne a mező nevek, ellentétbe a mintákkal:$result = sasql_query($link,
"Select STIME, STAT From .............");
$retrows = array();
while ($row = sasql_fetch_row($result))
{
$retrows[] = $row;
}
sasql_disconnect($link);
header('Content-type: application/json');
echo '{"posts":'.json_encode($retrows);Az eredmény:
{"posts":[["2013\/02\/16 15:50",16],["2013\/02\/16 16:00",16],["2013\/02\/16 16:10",16],["2013\/02\/16 16:20",16],["2013\/02\/16 16:30",16],["2013\/02\/16 16:40",16],["2013\/02\/16 16:50",16],["2013\/02\/16 17:00",16],["2013\/02\/16 17:10",16],["2013\/02\/16 17:20",16]]
Mit rontok el?
Előre is köszi a segítséget! -
Peter Kiss
őstag
válasz Mbazsika #12740 üzenetére
Használd a sasql_fetch_assoc-ot a sasql_fetch_row helyett.
-
Mbazsika
tag
válasz Peter Kiss #12741 üzenetére
-
kkdesign
senior tag
Üdv, olyan kérdésem lenne, hogy szeretnék egy olyan oldalt, hogy menüpontok megnyomása után a középső content divbe includoljon egy külső php tartalmát és mindig mikor megnyomom a másik menüpontot, az töltsön be. ezt hogy tudom megvalósítani egyszerűen?
-
Soak
veterán
válasz kkdesign #12743 üzenetére
a linknek adsz egy get paramétert . pl href="/index.php?page=info" , utána pedig a content részen (div-ben) csinálsz valami ilyesmit
switch($_GET['page']){
case 'info':
include 'info.php';
break;
default:
include 'index.php';
break;
}De ez elég gány és a googlebe is megtalálhattad volna 2 perc alatt.
-
Dave-11
tag
Sk8erPeter még te javasoltad nekem, hogy a mysql_query() és hasonló dolgok helyett használjam inkább a PHP PDO objektumát. Megfogadtam a tanácsodat, és mostanság már csak azt használgatom, illetve gyakorolom a használatát, és lenne is vele kapcsolatban egy kérdésem:
Tegyük fel, hogy van egy adatbázis, benne egy táblám, és én abból tudom, hogy csak egy sort szeretnék kiválasztani, és hogy annyit is fogok kapni. És mondjuk egy sor egy értékét szeretném egy változóba menteni. Eddig így csináltam:
$query = $db->prepare("SELECT * FROM `users` WHERE `id` = :id");
$query->execute(array(":id" => $_GET["id"]));
$felh_nev;
foreach($query as $sor){
$felh_nev = $sor["username"];
}
Remélem értitek mire gondolok itt, ha tudatosan csak egy sort akarok kiválasztani egy táblából, akkor nekem így furának tűnik, hogy foreach -el ugyanúgy végig kell mennem az eredményem, nincs egy egyszerűbb megoldás, vagy ezt így kell csinálni?:D Semmi :D
-
Lacces
őstag
Hali,
.htaccess-es átírányításokat hol lehetne tanulni? Főleg a következő eset érdekelne:
URL-ben beírva:
test/ - et (virtuális hoszt beállítva, ez a host név) Behozza automatikusan a webapp index.php fájlját, megjeleníteni pöpecül.
test/profile/view -öt beírva az url-be ilyenkor könyvtárt keres, ami nekem nem jó!
Azt szeretném elérni, hogy a /test/ után lévő dolgokat, REQUEST_URI-ként értelmezzen, és ezt feltudnám akkor használni az alább látható php kódban.Mint ahogy itt a PH is lehet: http://prohardver.hu/fooldal/rovat/processzor/ - ezt a fooldal/rovat/processzor/ részt REQUEST_URI-ként értelmezze és ne pedig fájl elérési útként...
Nem tudom, hogy ezt hogyan hívják... Ha valaki megmondaná, hogy mire keresek Google-ban már az is nagy segítség lenne.
PHP kód (bár ez lényegtelen):
if(!empty($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] != '/') {
//overwrite default controller/action
$uri = $_SERVER['REQUEST_URI'];
}
Új hozzászólás Aktív témák
- Call of Duty: Black Ops 6
- Milyen notebookot vegyek?
- Sorozatok
- Autós topik látogatók beszélgetős, offolós topikja
- Black Friday november 29. / Cyber Monday december 2.
- Filmvilág
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- HDD probléma (nem adatmentés)
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Építő/felújító topik
- További aktív témák...
- XFX Radeon Speedster SWFT 319 RX 6800 - BONTATLAN - ALZA GARANCIA
- Bomba ár! Lenovo X1 Yoga 3rd - i5-8GEN I 8GB I 256GB SSD I 14" 2K Touch I W11 I CAM I Garancia!
- Bomba ár! Lenovo X1 Carbon G3: i7-G5 I 8GB I 256GB SSD I 14" QHD I HDMI I Cam I W10 I Gari!
- Bomba ár! Lenovo ThinkPad T450s - i5-5GEN I 8GB I 128GB SSD I 14" HD+ I Cam I W10 I Garancia!
- Bomba ár! Lenovo ThinkPad T14s - i5-10G I 8GB I 256GB SSD I 14" FHD Touch I Cam I W11 I Garancia!
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest