Hirdetés

2024. június 10., hétfő

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)

Hozzászólások

(#14501) Sk8erPeter válasza Kurik (#14494) üzenetére


Sk8erPeter
nagyúr

AjaXplorerrel, pontosabban új nevén Pydio-val tudnád távolról is nézni a megosztott tartalmakat bejelentkezést követően, amennyiben webszerver is van a gépeden, és azt működésre bírod, hogy távolról meg tudj tekinteni rajta egy weblapot:
http://pyd.io

Már ha ez megfelelő.
Ez alapvetően egy nagyon ügyes kis fájlmegosztó, amibe rengeteg plugin van építve, akár dokumentumok szerkesztésére, videók/képek megtekintésére, akár tömörített állományok tartalmának megnézésére, meg egyebekre. Biztosít többfelhasználós működést, egymással megosztogatást is, a regisztráció/bejelentkezés pedig eleve adott.

Az még nekem nem teljesen tiszta, hogy amennyiben igazából a videó-megtekintések idejére pont, hogy leállítani szeretnéd az utorrent.exe-t, akkor miért az volt az eredeti cél, hogy elindítsd. :) Az exec()-hez és hasonlókhoz pedig jogosultságokat kell biztosítani (ami erősen megfontolandó!). Az ütemezett feladatos megoldást hogy érted? Kicsit most számomra keverednek az eddigi ötletek a végcéllal, picit ellentmondónak tűnnek a szempontok.

[ Szerkesztve ]

Sk8erPeter

(#14502) #68216320


#68216320
törölt tag

Köszönöm a megoldásokat.

Egy észrevétel: milyen már, hogy a gugli a php.net-es találatokat nem hozza be, mert kártékony oldalnak jelöli? :Y Félnek a feltörekvő konkurenciától? :DDD

(#14503) Tele von Zsinór válasza #68216320 (#14502) üzenetére


Tele von Zsinór
őstag

A belső levlistán is volt erről szó, már megtették a szükséges lépéseket, elvileg fel is van oldva ez a hibás jelölés.

(#14504) Kurik válasza Sk8erPeter (#14501) üzenetére


Kurik
tag

Igen, már ajánlottad az ajaxplorer-t másik bejegyzésemre is. Ki is próbáltam, de feleslegesnek éreztem. :)
A video megtekintéssel semmi gondom, megoldottam magamtól.

A célom: Elindítom a kiválasztott video-t automatikusan leállítja az uTorrentet, majd megtekintem a video-t majd azt szeretném, hogy ha végzett a video induljon el vissza az uTorrent.
A pillanatnyi kódom működik is le is állítja meg is nézem a video-t, de nem indul el vissza az uTorrent, vagy is elindul de az első hsz-ben leírtak szerint beteszi a feladatkezelőbe és pont a vége.

Bármelyik programra kicserélem jól működik, csak az uTorrentet nem indítja. :(

Az ütemezett feladat: Olyat olvastam, hogy tegyem ütemezett feladatba az "elindítást" mondjuk percenként, ami áll egy ellenőrző batch-ből, és ha megtalálja az indít.txt akkor lefuttatja az uTorrentet, majd törli az indít.txt. A php-vel meg hozzam létre az indít.txt amikor szeretném futtatni. De nem hiszem, hogy ez lenne a legegyszerűbb megoldás... :D

A webhozzáférés jelszóval el van látva emiatt nem aggódok.
Tudom mit szeretnék, maximum nem tudom kifejezni magamat. :DDD

A jogosultságokról tudnál írni? Vagy az nem lehet probléma?
Köszönöm a hozzászólásodat! :R

Ha tévedek, ki lehet javítani :)

(#14505) mobal válasza Kurik (#14504) üzenetére


mobal
MODERÁTOR

Kétséges, hogy meg fogod-e tudni oldani ezt így. Ha jól tudom akkor az exec így indít mindent:

cmd /c utorrent.exe

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14506) Kurik válasza mobal (#14505) üzenetére


Kurik
tag

Tudom így indít, de ha ugyanezt beütöm vagy belehelyezem egy bat-ba és kézzel elindítom akkor már jó. Viszont ha ráhivatkozok exec()-vel a bat-ra már ugyanazt csinálja mintha simán exec('uTorrent.exe') lenne.
Ezt a részét nem értem :)

Köszönöm Neked is! :R

[ Szerkesztve ]

Ha tévedek, ki lehet javítani :)

(#14507) SirRasor


SirRasor
őstag

Hoi! Csak egy gyors kérdés:

PDO lekérdezés $result->execute(array..
végigmegyek az elemeken:

foreach($result as $data) { .. } a $data szépen visszaadja az értékeket.

Ha viszont utána (és nem benne!) csinálok még egy foreachet, akkor a $data már teljesen üres lesz, mintha a $result elbandukolt volna a végére és nem állna vissza.

Ötletek?

Make Love not war!

(#14508) fordfairlane válasza SirRasor (#14507) üzenetére


fordfairlane
veterán

A PDO statement nem csupán egy lekérdezés eredménye, hanem komplex objektum, aminek része az eredményhalmaz is. Én a helyedben kiszedném egy tömbbe.

$tomb = $result->fetchAll();

Tömbön pedig nem gond többször iterálni.

És átnevezném a $result - ot $statement -re vagy $stmt -re, hogy beszédesebb neve legyen. Vagyis:

$stmt = $pdo->prepare($querystr);
$stmt->execute($queryparams);
$result = $stmt->fetchAll();

foreach(...)

reset

foreach(...);

[ Szerkesztve ]

x gon' give it to ya

(#14509) SirRasor válasza fordfairlane (#14508) üzenetére


SirRasor
őstag

Közben összevontam rafináltan 1-be, de azért thx; így már kezd világosodni a dolog :)

eddig $query elnevezést használtam, csak neten egyre több helyen láttam kiírva a $result-ot erre a helyre, de akkor átpártolok az $stmt-re. Mondjuk én is $pdo-val példányosítom a pdo-t :DDD

Make Love not war!

(#14510) fordfairlane válasza SirRasor (#14509) üzenetére


fordfairlane
veterán

Mondjuk én is $pdo-val példányosítom a pdo-t :DDD

Az mindegy, az az általános db interfész, amin keresztül érkezik a többi. Kvázi factory osztály, azon kívül, hogy ennek a konstruktorával van megoldva a db kapcsolat kiépítése, és a főbb konfigurációs paraméterek átadása.

A statement már specifikusabb dolog, PHP-s reprezentációja egy adott lekérdezésnek, annak paramétereinek és annak eredményének. A result meg sokszor csak egy tömb, már nálam az is objektum szokott lenni, hogy legyen típusa annak is.

[ Szerkesztve ]

x gon' give it to ya

(#14511) Sk8erPeter válasza Kurik (#14504) üzenetére


Sk8erPeter
nagyúr

Egyszerűbben megközelítve a kérdést: amennyiben írsz egy nagyon egyszerű, egysoros batch-fájlt, aminek az egyetlen dolga csupán az utorrent.exe elindítása, majd pedig ezt a batch-fájlt (nem közvetlenül az utorrent.exe fájlt!) próbálod futtatni exec() függvénnyel, akkor mi a helyzet?

Sk8erPeter

(#14512) Sk8erPeter válasza SirRasor (#14507) üzenetére


Sk8erPeter
nagyúr

(#14513) Kurik válasza Sk8erPeter (#14511) üzenetére


Kurik
tag

A feladatkezelőbe berakja, de nem normálisan fut, mint az legelső kommentemben írtam. "feladatkezelőbe látszik, de maga a program nem indul el. Ez abból is látszik, hogy ilyenkor 5MB ramot fogyaszt, viszont ha kézzel indítom el 25MB-ot."

Viszont ha bat-et kézzel elindítom (kettőt rákattintok :) ) elindul rendesen.

Ha tévedek, ki lehet javítani :)

(#14514) Tele von Zsinór válasza Kurik (#14513) üzenetére


Tele von Zsinór
őstag

Felhasználói gondnak gyanítom (bár nincs tapasztalatom windowsos php-ban). Nem a te usered nevében indul a torrentkliens, így más a %appdata% tartalma, másutt keresi a beállításokat, mint amikor te indítod.

(#14515) Peter Kiss válasza Kurik (#14513) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Ha végül is sikerül elindítani, akkor megcsinálhatod azt is, hogy webes felületen bekéri a rendszer a te felhasználódat és jelszavadat, és azzal indítod el.

(#14516) Sk8erPeter válasza Tele von Zsinór (#14514) üzenetére


Sk8erPeter
nagyúr

Na ez nem egy rossz gondolat. Alapból valóban az %appdata%\uTorrent könyvtárban keresgéli a settings.dat, resume.dat fájlt, ami felhasználóhoz kötődik, abban az esetben, ha normál telepítés van fent. A 3.xx akárhányadik verziótól kezdve lehet ELEVE portable-módban is telepíteni.
A 2.x változatoknál az jelenti a portable módot, ha az utorrent.exe könyvtárral azonos könyvtárban található a settings.dat, resume.dat fájl. Ekkor az %appdata%\uTorrent könyvtár tartalmával nem törődik, nem keresi, ezzel tehát áthidalható lenne a probléma (ha eleve portable-módban próbálná meg használni, az %appdata%\uTorrent könyvtárban lévő adatok gondos átmásolásával az utorrent.exe mellé, persze backup nem árt).
Legalábbis feltételezem, nem szeretné, ha ugyanannak a felhasználónak a nevében futna a php-folyamat is.

Sk8erPeter

(#14517) Kurik válasza Sk8erPeter (#14516) üzenetére


Kurik
tag

Nagyon szépen köszönöm mindenkinek a segítséget életre kelt a technika. :) :R
Ez a másolás hiányzott... :)

Ha lenne valaki ilyen elvetemült mint én, ne lepődjön meg csak háttérbe fut. Nekem ez nem jelentett problémát mivel ott a WebUI. :DDD

Ha tévedek, ki lehet javítani :)

(#14518) aero.


aero.
veterán
LOGOUT blog

Admin felületről szeretnék egy olyat, hogy listázza ki a postokat (ez már adott volt), mellé pedig egy törlési lehetőséget, ami értelemszerűen sql-ből kiszedi. Találtam egy topikot a neten, ott vázoltak is egy komplett scriptet, de valami nem okés, üresen lefut eredmény nélkül.

Vázolom, már átalakítva:

teszt.php

<?php
include '../connect.php';

echo "<table class='lista' border='0'>
<tr>
<th>ID</th>
</tr>";

$eredmeny = mysql_query('SELECT * FROM posts');
while ($row = mysql_fetch_array($eredmeny))
{
echo "<tr>";
echo "<td>" . $row['ID'] . "</td>";
echo '<form action="delete.php" method="post">';
echo '<input type="hidden" name="delete_id" value='.$row['ID'].'" />';
echo '<input type="submit" value="Törlés" />';
echo '</form>';
echo "</tr>";
}
echo "</table>";

?>

delete.php

<?php
if(isset($_POST['delete_id']) && !empty($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE * FROM posts WHERE `ID`=".$delete_id);

}
header('Location: teszt.php');

Hiba nélkül lefut, de semmit nem csinál. Itt a thread, ahonnan néztem. [link]

[ Szerkesztve ]

(#14519) Peter Kiss válasza aero. (#14518) üzenetére


Peter Kiss
senior tag
LOGOUT blog

A delete.php-ban nincs:

include '../connect.php';

És nem fut le hiba nélkül, csak nincs bekapcsolva a hibajelzés. Emellett persze más gondok is vannak.

[ Szerkesztve ]

(#14520) aero. válasza Peter Kiss (#14519) üzenetére


aero.
veterán
LOGOUT blog

Már próbáltam, hátha az a hiba, de így sem. Pontosabban ugyanúgy eseménytelenül lefut és visszaadja az oldalt. Éppen az, hogy én annyira nem értek hozzá, szóval így nem fogom tudni megmondani mi a hiba. :B

[ Szerkesztve ]

(#14521) fordfairlane válasza aero. (#14520) üzenetére


fordfairlane
veterán

A hibajelzés valószínűleg ki van kapcsolva, így egyáltalán nem eseménytelen, csak épp nem látod, hogy mi történik.

1. delete.php-nak is szüksége van mysql connectionra, akárcsak a listázónak.
2. A form legyen td-ben.
3. input mező value-jának csak egyik oldalán van idézőjel, legyen mindkettőn.

value='.$row['ID'].'" />'; helyett value="'.$row['ID'].'" />';

[ Szerkesztve ]

x gon' give it to ya

(#14522) aero. válasza fordfairlane (#14521) üzenetére


aero.
veterán
LOGOUT blog

1. Visszakerült
2. Majd ha működik kap rendes formát, most csak hánytam
3. Jogos észrevétel ... éés valószínűleg a hiba oka is volt, mivel most már jó. Ja meg igen, a DELETE után a csillag nem kell, egy kísérletezésből ott maradt.

Köszönöm szépen a gyors segítséget :R

[ Szerkesztve ]

(#14523) mobal válasza aero. (#14522) üzenetére


mobal
MODERÁTOR

"isset($_POST['delete_id']) && !empty($_POST['delete_id'])"

Ez kb. felesleges redundancia. Az empty fügvény az egyben ellenőrzi, hogy a változód létezik, továbbá azt is nézi, hogy van értéke. Ennyi bőven elég:

"! empty($_POST['delete_id'])"

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14524) Speeedfire válasza mobal (#14523) üzenetére


Speeedfire
nagyúr

Én úgy tudom, hogy az empty nem a legjobb függvény. :U

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#14525) Sk8erPeter válasza Kurik (#14517) üzenetére


Sk8erPeter
nagyúr

Na, jó hír. Írtad viszont, hogy a háttérben fut - ezt most hogy érted? Most akkor továbbra sem jelenik meg a hozzá tartozó GUI, vagy mi? :DDD

(#14524) Speeedfire :

"Én úgy tudom, hogy az empty nem a legjobb függvény. :U"
Mit jelent az, hogy "nem a legjobb függvény"? :DDD

Sk8erPeter

(#14526) fordfairlane válasza Speeedfire (#14524) üzenetére


fordfairlane
veterán

Ha a változó nem létezik, akkor sem generál warningot. Nem függvény, hanem nyelvi szerkezet. Olyan, mint az isset, csak még pluszban leellenőzi, hogy false-e a tartalom.

[ Szerkesztve ]

x gon' give it to ya

(#14527) mobal válasza Speeedfire (#14524) üzenetére


mobal
MODERÁTOR

Ebben az esetben jó lesz, mert ugye egy "ha" feltételben van. De ha jobban tetszik ;]

if (isset($_POST['delete_id']) && $_POST['delete_id'] != null)

Szerk.: van itt valaki aki komolyabban ért a Mustace template kezelő motorhoz?

mobal,

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14528) Sk8erPeter válasza fordfairlane (#14526) üzenetére


Sk8erPeter
nagyúr

"Olyan, mint az isset, csak még pluszban leellenőzi, hogy false-e a tartalom."
Mondjuk ezzel kapcsolatban lehet, hogy vki számára félrevezető a php.net-en lévő infó, hogy "A variable is considered empty if it does not exist or if its value equals FALSE", mert inkább a visszatérési értéknél írtak tűnik egyértelműbbnek a leírás: "Returns FALSE if var exists and has a non-empty, non-zero value."

"The following things are considered to be empty:

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)"

Az "if its value equals FALSE" olyan, mintha ilyen ellenőrzés történne: ($var === FALSE), pedig a listából látható, hogy nem erről van szó, és a visszatérési értéknél írtak picit mintha inkonzisztensek vagy ellentmondóak lennének az első idézett állítással (mert a FALSE is empty, de még más is).

[ Szerkesztve ]

Sk8erPeter

(#14529) mobal


mobal
MODERÁTOR

Azt meg lehet csinálni egy sql query-vel, hogy először elmentek egy tag-et, majd egy másik táblázatba beállítom annak az id-ját?

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14530) Kurik válasza Sk8erPeter (#14525) üzenetére


Kurik
tag

Úgy érem, hogy taskmgr-be látszik, de a tálcán nem. Ha a GUI szó alatt ezt (Graphical User Interface) érted, akkor ilyen nincs, viszont van a WebUI ami nekem teljesen megfelel. :C

Ha tévedek, ki lehet javítani :)

(#14531) Sk8erPeter válasza mobal (#14529) üzenetére


Sk8erPeter
nagyúr

Ezt meg tudnád fogalmazni érthetőbben, hogy mi a pontos cél, és egyáltalán mire lesz ez jó? :)

(#14530) Kurik :
Ja, hát úgy értettem, hogy a kiszolgálógépen, ahol a batch-progit végül is lefuttatod az exec() fv.-nyel, ott megjelenik-e a µTorrent felhasználói felülete, vagy sem a fv.híváskor - ezek szerint nem, csak háttérben futkorászik, de nem gond, mert nincs rá szükséged. :)

[ Szerkesztve ]

Sk8erPeter

(#14532) mobal válasza Sk8erPeter (#14531) üzenetére


mobal
MODERÁTOR

Van egy forrás amit parsolok időnként. Abba vannak keresőszavak és azt akarom eltárolni. Adatbázisba pedig egy az n kapcsolat van az elemek és a keresőszaka között. Na most az új keresőszavak tárolását akarom egy tranzakcióba sűríteni (tehát kereső szó + kapcsolat), de van egy olyan érzésem nem lehet.

Esetleg tárolt eljárással? ;]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14533) Peter Kiss válasza mobal (#14532) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Szerintem értem, mit akarsz, de neked viszont fogalmad sincs, hogyan működnek ezek. :D

Persze, hogy lehet, nem kell hozzá tárolt eljárás, egy tranzakciót kell indítani, végén commit vagy közben rollback, és kész.

(#14534) Sk8erPeter válasza mobal (#14532) üzenetére


Sk8erPeter
nagyúr

Én csak azt nem értem még mindig, hogy a parse-olásnak, meg a tageknek mi köze van az adatbázishoz, meg a konkrét queryhez, amivel feltöltöd. Először parse-olod az adatokat PHP-vel gondolom, kinyered a kapott eredményből a neked szükséges szavakat, aztán pedig azokat a szavakat el akarod tárolni adatbázisban, mármint az összeset, nem? Most az a kérdés igazából, hogy hogyan állíts össze egy query-t PHP-vel? VAGY pedig az a kérdés, hogy mondjuk hogyan csináld meg azt, hogy az egyik táblában tárolod a keresőszavakat, aztán van egy kapcsolótáblád, amibe meg be akarod nyomni az adott szóhoz tartozó id-t. Na de ehhez megint nem szabadna, hogy köze legyen bármilyen tagnek is, hiszen azt fel kellett, hogy dolgozd az alkalmazásodban, de nyilván nem egy query-ben kellene ezt megtenned. Tárolt eljárással a kapcsolótáblás feltöltés elintézése is amúgy megoldható, ja, ha ez a kérdés, de még megoldható hatmillióféleképpen. :DD Csak kicsit kuszálódtak itt a dolgok. :D DE akár azt is megcsinálhatod, hogy amennyiben auto_increment meződ van a keresőszavakat tároló tábládban, akkor megjegyzed, honnan kezdted feltölteni, és az annál nagyobbakhoz tartozóakat meg a feltöltés után nyomod a kapcsolótáblába... De ennél értelmesebb megoldás is nyilván lehet, ha kicsit jobban megértjük, mit akarsz. :D Na jó, én értem, mire gondolok, elég kuszán fogalmaztam, csak most nincs energiám átfogalmazni érthetőbben, de hátha valami így is átjön. :DDD Hozzáteszem, Te sem fektettél túl sok energiát a kérdésed szabatos megfogalmazásába, és még a végére engem is belekavartál, aztán elkedvetlenedtem. :DDD

[ Szerkesztve ]

Sk8erPeter

(#14535) Speeedfire válasza Sk8erPeter (#14525) üzenetére


Speeedfire
nagyúr

Valahol mintha azt olvastam volna, hogy nem ajánlott az empty, inkább az isset. Nem tudok rá érvelni, mert nekem csak ennyi rémlik. :B

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#14536) Peter Kiss válasza Speeedfire (#14535) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Minden attól függ, mit szeretnél elérni milyen lehetséges adatokkal. Ha valaki azt mondja bármelyikre is, hogy ez az ultimate good solution, akkor az idióta.

(#14537) mobal válasza Sk8erPeter (#14534) üzenetére


mobal
MODERÁTOR

EGY tranzakcióz belül KÉT műveletet KÉPES a mysql végrehajtani ÚGY, hogy az egyik paramétere az ELSŐ tranzakció során születik meg?

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14538) Sk8erPeter válasza Peter Kiss (#14536) üzenetére


Sk8erPeter
nagyúr

:DD

(#14535) Speeedfire :
Ahogyan arra előttem tanult kollégánk elég tömören rávilágított, ez a kijelentés ebben a formában értelmetlen. Szerintem ha erről olvastál, akkor az valami olyasmiről szólhatott, hogy nem biztos, hogy jó, ha mindenáron lustán rászokunk az empty() túlzott használatára validálásnál vagy egyéb esetekben, jobb néha a kódban egyértelműen az elvárt adattípusra vizsgálódni (pl. NULL-ról vagy empty stringről van-e szó, FALSE-ról, vagy másról), igaz, az empty() - mint látható az ennek megfelelő esetekből - elég sok lehetőséget lefed. Persze csak tipp, hogy valami ilyesmire gondolhattál. De tényleg "attól függ".

(#14537) mobal :
látom szereted lerövidíteni kifejtés helyett. :DDD
Hát erre most azt tudom mondani, hogy olvasd el itt Athlon64+ második bekezdését, sokkal rövidebben és lényegre törőbben sikerült válaszolnia, mint ahogy én előbb próbálkoztam neked egy jó hosszú hsz.-szel, amire Te visszaböfögtél egy mondatot, azt' részedről elintézve. :DDD

Remélem, értékeled, hogy most a moderátori kedvedért egy hsz.-be nyomorítottam több hsz.-t... ;] Akármilyen gusztustalan is, több hsz. írása helyett. ;] :DDD

[ Szerkesztve ]

Sk8erPeter

(#14539) mobal válasza Peter Kiss (#14533) üzenetére


mobal
MODERÁTOR

Köszi. Fogalmam sincs, ezért kérdeztem. :)

Speeedfire: nem azért olvastad, hogy nem jó mert esetleg nincs semmi hibaüzenet?

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14540) Sk8erPeter válasza mobal (#14539) üzenetére


Sk8erPeter
nagyúr

Mitől lenne már hibaüzenet, ha egy változó beállítottságát/létét és PHP-értelemben vett "ürességét" ellenőrizzük (empty())? :F

Sk8erPeter

(#14541) mobal válasza Sk8erPeter (#14540) üzenetére


mobal
MODERÁTOR

"A variable is considered empty if it does not exist or if its value equals FALSE. empty() does not generate a warning if the variable does not exist."

A dokumentáció alapján erre gondoltam.

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14542) Sk8erPeter válasza mobal (#14541) üzenetére


Sk8erPeter
nagyúr

De nem is meglepő, hogy nem generál warningot, mivel az empty() az isset által végzett feladatot is lefedi, ahogy meg is beszéltük, tehát a változó beállítottságát/létezését is vizsgálja, nemcsak annak "ürességét", meg az isset()-hez hasonlóan erre is vonatkozik, hogy "this is a language construct and not a function".
De ezt Te is vágod, hiszen pont erre hivatkoztál itt, hogy redundáns lenne mindkettőt használni egy adott változóra. :P

No de igazából az eredeti felvetést kellene megfejteni inkább, hogy mi az, hogy "nem ajánlott az empty". :)

[ Szerkesztve ]

Sk8erPeter

(#14543) mobal válasza Sk8erPeter (#14542) üzenetére


mobal
MODERÁTOR

Nem tudok már mire gondolni, mert érzésem szerint "több" (az empty) és ahogy te írtad: "az empty() az isset által végzett feladatot is lefedi". Ha nem jobb de szerintem biztos, hogy nem rosszabb megoldás.

Csak találgattam.

mobal,

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14544) Speeedfire válasza Peter Kiss (#14536) üzenetére


Speeedfire
nagyúr

Valóban. :K

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#14545) Speeedfire


Speeedfire
nagyúr

Web konferencia

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#14546) Zedz


Zedz
addikt

Sziasztok, van ez a kódom:

class Login extends CI_Model{
public function login(){
if(array_key_exists("login",$_POST)){
$username = $_POST['username'];
$password = $_POST['password'];
$query = $this->db->query("SELECT * FROM users WHERE nev='$username'");
if($query->num_rows()>0){
$this->session->set_userdata('logged_in');
}
else{
echo "rossz e-mail cím vagy jelszó";
}
}
}
}

A gond az, hogy amit kiechozok azt 2x írja ki. Miért? Codeigniterben írok most egy tesztoldalt, még csak ismerkedem a CI-vel, szóval lehet valahol más lesz a gond.

A választ előre is köszönöm!

(#14547) Peter Kiss válasza Zedz (#14546) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Fogalmam sincs, de, ha csak most kezded a CI-t, akkor inkább felejtsd el gyorsan, és nézz meg egy másikat!

(#14548) Zedz válasza Peter Kiss (#14547) üzenetére


Zedz
addikt

Miért? Mi a baj vele? :S Sajnos a vizsgára készülő oldalnak CI-ben kell íródnia, a drágalátos Smartyval karöltve. :D

(#14549) Peter Kiss válasza Zedz (#14548) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Elég csak ránézni a te kódodra, egy jó mozdulat nincs benne programozástechnikailag.

(#14550) fordfairlane válasza Zedz (#14546) üzenetére


fordfairlane
veterán

Más magyarázat nem nagyon van erre, mint az, hogy a login metódust kétszer hívja meg a keretrendszer. Azt kéne alaposan megvizsgálni, hogy a kontroller mit csinál. A CI-t nem ismerem, szóval részletes útmutatóval nem tudok szolgálni.

x gon' give it to ya

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.