- Google Pixel 9a - a lapos munka
- Samsung Galaxy S25 - végre van kicsi!
- iPhone topik
- Samsung Galaxy S21 FE 5G - utóirat
- MediaTek lapka köré épülne a Galaxy S25 FE?
- HMD Fusion - öltöztetnéd megint
- Google Pixel topik
- Honor Magic6 Pro - kör közepén számok
- Május 27-én Párizsban tart bemutatót a Realme
- Fotók, videók mobillal
Új hozzászólás Aktív témák
-
pelyib
tag
válasz
bandi0000 #19599 üzenetére
Az átadott osztálynak implementálni kell a JsonSerializable interface-t.
-
DNReNTi
őstag
válasz
bandi0000 #19594 üzenetére
Ha nem hoki backendet akarsz irni, akkor a PHP-t kb el is felejtheted. Nem megoldhatatlan feladat benne REST API-t irni, csak szerintem tulzottan hakolas, meg akkor is ha valami normalis framework-ot hasznalsz, ilyen lehet pl a Lumen vagy a Slim. Szerintem kimondottan API-t irni, sokkal egyszerubb mondjuk NodeJS-ben. Lehet velem van a baj, es csak az en kezem nem allt ra, de en az utobbi par evben a modern igenyek miatt inkabb mar elengedtem a PHP-t.
-
bandi0000
nagyúr
válasz
bandi0000 #19593 üzenetére
UPDATE
közben látom, hogy nem json formátum, legalább is egy validátor szerint
végül is az lett a megoldás, hogy az osztályban van egy metódus, ami json formátumban adja vissza az adattagokat, és ezt tudom vissza küldeni a $response-ba
ez mennyire számít jó megoldásnak? mármint ha nem hoki backendet akarok csinálni?
-
bandi0000
nagyúr
köszönöm, elvileg sikerült
Akkor egy hivatalos json válasz így néz ki ? :"{\"id\":\"3\",\"firstname\":\"J\\u00e1sz\",\"lastname\":\"Miska\",\"email\":\"misikepower@gmail.com\",\"age\":\"999\",\"postcode\":\"6041\"}",
ráhúztam ezt a json_encode-t, azt írta ki ilyen formába
így állítom össze a választ:
return $response->withJSON(
$json,
200,
JSON_UNESCAPED_UNICODE
);nem találtam rá megoldást, mit kellene máshogy csinálni, hogy ne tűnjenek el az ékezetek, gondolom rá kellene erőltetni az UTF8-at valahogy
-
bandi0000
nagyúr
Megint kérnék egy kis segítséget
Van egy osztály, abba vannak adattagok, név,email,lakhely... stb, ezekhez van get tulajdonság
Viszont egy ilyen objektum tömböt hogyan tudok vissza adni JSON válaszba?
Egy ideje guglizok, sok mindent találtam, de igazából nem nagyon működnek, gondolom valami komolyabb átalakítás kellene itt
Ami működött, hogy csináltam az osztályba még1 metódust, ami vissza adja tömbként az összes adatot, ez nem is lenne rossz szerintem, de csak 1 objektumra működik, nekem meg egy objektum tömböm van
-
bandi0000
nagyúr
válasz
pelyib #19587 üzenetére
Köszi, gondolom a request-re validálás az, amikor a bejövő adatokat validálom, responsra talán nincs is értelme
Ránézek akkor a middlewarera, csak nem igazán találok értelmes leírást, még a slim honlapján se...
Még egy banális kérdés, felhasználó azonosítást a szerver ordalon kell megcsinálni? Mármint gondolok arra, hogy ha bejelentkezik, akkor maradjon meg a munkamenete, ez PHP ben történik?
-
pelyib
tag
válasz
bandi0000 #19586 üzenetére
Az attól függ, hogy mit akarsz validalni.
Ha a request-t, akkor én a fentebb levő middleware-s megoldást mondanám, azzal az invalid request el se jut a controllerig. De akár saját magad megírt egyszerű class is jó ami csak a Respect\Validation libet használja.
Szóval igen, külön osztály, akár minden endpointhoz egyet-egyet.Ha meg csak a paraméterét egy metodusnak, akkor meg simán ott helyben: Respect\Validation.
És igen szivás meg idő mindent levalidalni, de utána nyugodtabban alszik az ember.
-
bandi0000
nagyúr
Kaptam még1 tippet a validációra, mégpedig a GUMP, ezt hogy érdemes beleírni a kódba? Értem ezt úgy, hogy gondolom nem kellene ezeket bele okádni az endpointok közé, hanem kellene egy külön osztály és azt hívogatni mikor validálni akarok?
-
bandi0000
nagyúr
Nézegetem ezt a SlimFramework-os validációt, ez tényleg ennyire sok és bonyolult, mint ahogy nekem tűnik, vagy csak nekem új ez ennyire? Github-os linken több 100 sor-ban csinálta meg a validálást, már amennyire jól értelmeztem
ezt nézegetem, én sem csináltam nagyon még ilyet, pláne nem PHP-ban, ígyí elsőre megijedtem tőle, azt hittem egyszerűbb
vagy csak én nem találok olyan leírást ami elmagyarázza jól ezt a dolgot
-
GreenIT
tag
Tudna valaki segiteni, hogy erre a hibara mi a megoldas?
win7 prof alatt jott elo, ha szamit es ilyen dll-t win7 alatt nem talaltam. -
bandi0000
nagyúr
válasz
#57018880 #19577 üzenetére
Igen kicsit közepén kezdtem, szakdogához kell majd egy weblapot csinálni, és ezt ajánlották, hogy így csináljam, nekem igazából tetszik, bár a .Net kicsit jobban feküdne, bár azt is most kezdtük
Amúgy [ez] a tutorial, bár inkább a githubos megoldás sterint csináltam, mert ez a tutorial annyira nem részletesen írja le
[ez] a githubos link, ticketmapper talán a class neve, amibe van a save metódus, arról beszéltem
-
bandi0000
nagyúr
Tudnátok abban segíteni, hogy
Megcsináltam egy REST API-t, SlimFramework tutorial alapján, end pointok működnek is, hanem az jutott eszembe, hogy Put és Post kéréseknél kellene ellenőrizni itt a szerver oldalon az adatokat, ezt hogy érdemes megtenni? Szép megoldást akarok, de itt még csak gyakorolgatok, szóval írjak egy osztályt rá, vagy máshogy kellene?
Illetve tutorialba amikor bekérte az adatokat, abból létrehozott egy objektumot, ugye van egy osztály ami megfelelteti az adatbázis egy tábláját, na már most, úgy csinálta, hogy ezt az objektumot dobta tovább a mentést végző metódusnak, és az adatbázis műveletnél használnia kellett az osztály getter metódusait, gondolom ezt az OOP miatt csinálta így, viszont csomó átalakítást és nyűgöt lehetne megspórolni úgy, ha csak egy tömbként adnám tovább az adatokat, ez nem fér bele már az OOP/ szép megoldásba?
-
Locsi
senior tag
Sziasztok. Van egy Ncore kereső, a Synology Nas-hoz de már nem igazán működik, még akkor sem, ha jól van beállítva. Azt szeretném, hogy magát a kereső plugint átalakítani, hogy azt a kulcsot is hozzá illessze az url végére, amit a torrent letöltésékor kapunk. Valahogy így néz ki, amit a dlm generál.
http://ncore.cc/torrents.php?action=download&id=xxxxxxx
és így kellene, hogy kinézzen
http://ncore.cc/torrents.php?action=download&id=xxxxxxx&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Maga a kereső, az így néz ki, de nem tudom, hova kellene beírni, hogy helyes legyen.
<?php
class SynoDLMSearchNCore {
private $qurl = 'http://ncore.cc/torrents.php';
private $purl = 'http://ncore.cc/torrents.php?action=download&id=';
private $NCORE_COOKIE = "/tmp/ncore.cookie";
private $NCORE_LOGIN_URL = 'https://ncore.cc/login.php';
public function __construct() {
}
public function prepare($curl, $query, $username, $password) {
if (!file_exists($this->NCORE_COOKIE) && $username !== NULL && $password !== NULL) {
$this->VerifyAccount($username, $password);
}
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_USERAGENT, DOWNLOAD_STATION_USER_AGENT);
curl_setopt($curl, CURLOPT_COOKIEFILE, $this->NCORE_COOKIE);
curl_setopt($curl, CURLOPT_HEADER, TRUE);
curl_setopt($curl, CURLOPT_REFERER, $this->qurl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_URL, $this->qurl."?miben=name&tipus=all_own&miszerint=fid&hogyan=DESC&mire=".urlencode("[###]" != $query ? $query : ""));
}
public function VerifyAccount($Username, $Password) {
$ret = FALSE;
$PostData = array('ne_leptessen_ki'=>'1',
'Submit'=>'Belépés!',
'nev'=>$Username,
'pass'=>$Password,
'set_lang'=>'hu',
'submitted'=>1,
);
$PostData = http_build_query($PostData);
$queryUrl = $this->NCORE_LOGIN_URL;
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_USERAGENT, DOWNLOAD_STATION_USER_AGENT);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $PostData);
curl_setopt($curl, CURLOPT_COOKIEJAR, $this->NCORE_COOKIE);
curl_setopt($curl, CURLOPT_HEADER, TRUE);
curl_setopt($curl, CURLOPT_REFERER, $this->NCORE_LOGIN_URL);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_URL, $queryUrl);
$LoginInfo = curl_exec($curl);
curl_close($curl);
if (FALSE != $LoginInfo && preg_match("/Set-Cookie: nick=".$Username."/iU", $LoginInfo) && file_exists($this->NCORE_COOKIE)) {
$ret = TRUE;
} else {
$ret = FALSE;
}
return $ret;
}
public function parse(&$plugin, $response) {
preg_match("/<div.*?box_torrent_all.*?>/iU", $response, $match);
$beginPos = strpos($response, $match[0]);
preg_match("/<div.*?lista_lab.*?>/iU", $response, $match);
$endPos = strpos($response, $match[0]);
$response = substr($response, $beginPos, $endPos-$beginPos);
preg_match("/<div.*\"box_torrent_all\".*>(.*?)<\/div>/isU", $response, $match);
$response = $match[1];
$res=0;
if(preg_match_all("/<div class=\"box_torrent\">(.*)<div class=\"torrent_lenyilo/siU", $response, $matches2, PREG_SET_ORDER)) {
foreach($matches2 as $match2) {
$title="Unknown title";
$download="Unknown download";
$size=0;
$datetime="1978-09-28";
$page="Default page";
$hash="Hash unknown";
$seeds=0;
$leechs=0;
$category="Unknown category";
$torrentData = $match2[1];
preg_match("/"
."<div class=\"box_alap_img\">.*<a.*<img.*alt=['\"](.*)['\"].*"
."<div class=\"torrent_txt2?\">.*<a.*href=['\"].*id=(\d+)['\"].*(title=['\"](.*)['\"].*)<nobr>(.*)<\/nobr>.*"
."box_feltoltve.*>(.*)<\/.*"
."box_meret.*>(.*)<\/.*"
."box_s.*<a.*>(\d+)<\/.*"
."box_l.*<a.*>(\d+)<\/.*"
."/isU", $torrentData, $matchDetail);
if (count($matchDetail) > 0){
$title = $this->getTitle($matchDetail);
$download = $this->qurl."?action=download&id=".$matchDetail[2];
$size = $this->getSize($matchDetail);
$datetime = $this->getDate($matchDetail);
$page = $this->qurl."?action=details&id=".$matchDetail[2];
$hash = md5($title.$download);
$seeds = $matchDetail[8];
$leechs = $matchDetail[9];
// $category = utf8_encode($matchDetail[1]);
$category = $matchDetail[1];
$plugin->addResult($title, $download, $size, $datetime, $page, $hash, $seeds, $leechs, $category);
$res++;
} else {
ob_start();
var_dump($torrentData);
file_put_contents("/tmp/dlm_parse_error_".date("YmdHis")."_".rand(100000).".txt", ob_get_clean()."\n");
}
}
}
return $res;
}
private function getTitle ($matches) {
return ("..." == substr($matches[5], -3) && trim($matches[4]) != "" ? $matches[4] : $matches[5]);
}
private function getSize ($matches) {
$size = str_replace(array("<br>", "<br />", "<br/>"), array(" "), $matches[7]);
preg_match("/(.*) (.*)/i", $size, $sizeParts);
$multiplier = 1;
switch ($sizeParts[2]){
case "TB": $multiplier *= 1024;
case "GB": $multiplier *= 1024;
case "MB": $multiplier *= 1024;
case "kB": $multiplier *= 1024; break;
}
return $sizeParts[1] * $multiplier;
}
private function getDate($matches) {
$date = $matches[6];
if(preg_match("/(\d+)-(\d+)-(\d+).*?(\d+):(\d+):(\d+)/i", $date, $matchDate)){
$date = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $matchDate[1], $matchDate[2], $matchDate[3], $matchDate[4], $matchDate[5], $matchDate[6]);
}
return $date;
}
}
?> -
bandi0000
nagyúr
válasz
supercow #19570 üzenetére
basszus
minő balga hiba
Esetleg ha abban tudnál még segíteni, vagy akárki más, hogy
composer.json-be megadtam, hogy hol vannak az osztályok, de nem találja, vagyis szerintem rossz helyen keresheti?
autoload-ot is betöltöttem, de csak úgy találja az osztályt, ha requireddel betolom őket ugye
-
bandi0000
nagyúr
válasz
supercow #19568 üzenetére
Lényeg az, hogy tanulom ezt a slimframeworkot, + OOP
Lekérdeztem az adatbázisból, és minden sorból csináltam egy objektumot, ez a Student.php ban van
objektumokat a StudentEntity-ből származtattam , + ez örökölt még a Mappertől, de ez csak az adatbázis változót vette átindex.php-ban, a tanulok útvonalnál akartam ezt kiíratni, de nem igazán írt ki semmit a tulajdonságokkal, attól tartok, hogy valamit nem jól csináltam az adatbázis és az objektumok között
mert az adatbázisból lekérdezi, $row-ba benne is vannak az értékek, szóval vagy a kiíratás nem jó, vagy nem rakja bele a tömbbe
-
bandi0000
nagyúr
PHP-ben hogyan tudnám ellenőrizni, hogy van e az objektum tömben adat?
RestAPI-t csinálok, lekérdeztem az adatbázisból, és egy objektum tömbe raktam bele egyesével az adatokat, de hiába echo-zom ki, nem ír ki semmit, a lekérdezés jó, azt ki tudtam íratni, print_r-el meg nem írja ki a konkrét adatokat, csak annyi sort ahány adat van
-
#71423744
törölt tag
Van FB-n dev csoport, de fogalmam sincs, mennyi idő, mire visszaigazolják a csatlakozásomat, és addig nem tudok ott kérdezni
A user_id + photo_id még oké, de mindkettőhöz védelmi beállítások is tatoznak, és tudni kellene monitorozni, hogy az adott fénykép publikusan hozzáférhető-e? Eddig ami csúnya megoldást találtam, hogy nem egy alkalmazást regisztrálok, hanem legalább 2-t, megosztom közöttük a user_id-kat, és a másodlagos alkalmazással lelistázom az adott user_id alatt elérhető fényképeket. Lévén azt az alkalmazást a user nem fogja engedélyezni (fel sem kínálom), a publikus fényképeken kívül mást nem kapok meg a listában. Viszont ez nagyon csúnya és teljesítménypocsékoló "megoldás". Az FB-n minden alkalmazás engedélyköteles, az FB meg is tilthatja, hogy ilyet csináljak.
Egy másik kérdés, amin filozok, hogy azok a photo_id-k vajon mindörökké unique szigorúan monoton növekvő értékek? Vagy előfordulhat a jövőben, hogy letöröl az egyik user valami fényképet, aztán feltölt egy másikat, és az új fénykép megkapja a régi id-ját? Mert akkor más fénykép került uzgyan arra a user_id + photo_id-ra, és az problémát tud jelenteni az alkalmazás tisztaságának megőrzésében. Egy profil képet lecserélhetnek egy önkényuralmi jelképre, és azt fogja az app-om a népek orra elé tolni. Ki kellene azt védeni 101%-osan. Erre valószínűleg az FB "hivatalos" állásfoglalására lesz szükségem. De ha írták is konkrétan valahol, akkor azt a levelet megspórolhatom.
-
#71423744
törölt tag
Sziasztok!
Facebook API. Valami koncepcionális leírásra lenne szükségem / bármi elég frissnek tekinthető leírásra a felhasználói fényképek kezeléséről.
Az elméleti szitu. Adva van egy fb alkalmazás, amit a felhasználó engedélyez. Az app megkapja az engedélyeket. Az alkalmazás kilistázza weblapra a felhasználó által feltöltött fényképeket. Eddig még találok elég sok példát, működni fog. A felhasználó választ egyet. És az után kezdődik a problémám. Az alkalmazásnak fel kell tudnia jegyeznie egy olyan linket / tokent / akármit, amin keresztül az a kiválasztott kép egyértelműen azonosítható bármikor sokkal később is. Akár évek múlva. Az alkalmazásnak tudnia kell bármikor később is linket adnia arra, hogy az a kép a kliens oldalon megjeleníthető legyen. _Vagy_ tudnia kell felismerni azt az esetet, ha az a fénykép elérhetetlenné vált. Példának okáért a felhasználó azt a képet letörölte, vagy megváltoztatta a hozzáférési jogokat (eu-ban már van gdpr is).
Mi a legnormálisabbnak tekinthető angol szakirodalom, amiből körbejárhatom a fentebbi kérdéskört? A programozási alapjaim megvannak, nagyon alap dolgokon nem akadok majd fent, de levegőben lógó, félig / semennyire sem megmagyarázott api doksiból nem tudom kihámozni a háttér mechanizmusait. Reménykedem benne, nem csak annyi van, ami az fb dev oldalán érhető el, mert az hagy maga után nem kevés kívánnivalót
-
-
ezt az xdebug-t nem ismertem, köszönöm, mindjárt meglesem.
vardumpra pedig ezt kapom.array(2) { ["ID"]=> string(1) "1" ["comment"]=> string(21) "tetszoleges szöveg 1" }
array(2) { ["ID"]=> string(1) "2" ["comment"]=> string(21) "tetszoleges szöveg 2" }
array(2) { ["ID"]=> string(1) "3" ["comment"]=> string(21) "tetszoleges szöveg 3" } -
válasz
bandi0000 #19559 üzenetére
én már mindenhogy próbáltam
És én minden esetre köszönöm az ötletelés, okoskodásnak biztos nem veszem, mert én mát ötlettelen vagyok
Jelenleg úgy gondolom hogy a cikluson belüli változó kezeléssel lesz a bajom, mert ha:<?php
while($rows=mysqli_fetch_assoc($result)) {
echo $rows['ID'];
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['ID']; ?>"></td>
<td bgcolor="#FFFFFF"><? echo $rows['ID']; ?></td>
<td bgcolor="#FFFFFF"><? echo $rows['Comment']; ?></td>
</tr>akkor az eredményem:
-
sziasztok,
egy kis segítséget szeretnék kérni, mert már teljesen tanácstalan vagyok
php7-et használokés a következővel lenne a gondom:
<?php
while($rows = $result->fetch_assoc()) {
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['ID']; ?>"></td>
<td bgcolor="#FFFFFF"><? echo $rows['ID']; ?></td>
<td bgcolor="#FFFFFF"><? echo $rows['Comment']; ?></td>
</tr>
<?php
}
?>177 sorom van, legenerálódik szépen a táblázat, 177 üres sorral.
aecho $rows['ID'];
-t berakom a while után közvetlen vissza kapom az adatokat.Mit rontok el, hogy nem jelenik meg adatom?
-
Nite
őstag
az a resze rendben is van, ahogy a kepeken latod, a "szemetmappa1" nem letezik, ezert az a controller nem talalhato, jelzi is a CI
a "szemetmappa" az elso kepen viszont letezik, az "application" mappan kivul van, egeszen pontosan mellette, azt szeretnem elerni es egy htaccess-el tiltani benne a file listázást
magyarul, hogy azt ne ellenorizze a CI, de nem ertem miert teszi, ha egyszer nincs az "application" mappan belul
-
bandi0000
nagyúr
Tud valaki segíteni a Front Controlleres sémába?
Maga az oldal működik, de
Van egy Kapcsolat nevű oldal, ahol emailt lehetne küldeni, de küldés helyett fel akarom tölteni egy adatbázisba
A probléma az, hogy ha form-ot használok, akkor bármire ha átirányítanám ami feldolgozza ezt, akkor új lapot nyit meg, amit nem szeretném, hanem azt akarom elérni, hogy "elküldi" és mintha nem történne semmi, tehát ugyan azon a lapon maradna, vagy betöltené ugyan azt az oldalt, de minden szöveges mező üres lenne
Létezik valami megoldás erre? A legjobb az lenne, ha pl egy feldolgoz.php-nek küldené el, de ugye nem akarná azt megnyitni minden áron
-
Nite
őstag
sziasztok!
CodeIgniter-el kapcsolatban kerdeznem, hogyan lehet elerni, hogy az "application" mappan kivul levo egyeb mappakhoz engedjen hozzaferni?
persze, ha nem letezik a mappa akkor kezelje le tovabbra is
koszonom
-
biker
nagyúr
nabazz, volt a főgyökérben egy saját php.ini, de abban nem adok meg soha elérési utat, lévén konfigolja a szerver.
Tárhelyparkos megoldás: ha van php ini, akkor nem csak a változásokat veszi onnan, hanem a defaultot se tölti be a szerverről. Ergo a cpanel default session save path-ot se tölti be.
Csúcs, töröltem, működik a session
[:beer] -
biker
nagyúr
tárhelypark gondom lenne?
Hülye kérdés. Van egy rendszerem, eddig közel 80 példányban fut kb 30 szerveren, gond nélkül
Ma felraktam egy tárhelyparkos ügyfélnek, de még a domainje nincs meg, így a c18tarhelypark.... féle elérésen fut.
Itt a session változó létrejön, belépek, benne vannak a mentett változók, de az egyik oldalon van egy iframe, ami egy almappából tölt be adatot, ide nem adja át a session adatot az iframe-be.
Mindenhol máshol működik gond nélkülszanaszét túrtam a google-t, nem segít semmi trükk.
Lehet hogy a domain hiánya okozhat ilyen gondot, vagy ez valami idióta beállítás a tárhelyparkon? -
bandi0000
nagyúr
Lenne egy gondolom pofon egyszerű kérdésem, de még csak most ismerkedek a php-val, így magamtól nem jövök rá
Szóval lényeg a lényeg, hogy REST-API-t használok PHP ben, és megcsináltam ezt a SlimFramework tutorialt, ott úgy van megoldva, hogy az adatbázisból beolvas 1 sort, minden egyes sornak létrehoz egy objektumot, aminek a függvényeiben vissza adja az egyes mezők értékét
Na már most, nekem notORM-et kellene használni az adatbázis adatinak kinyeréséhez, viszont a weboldalon, a példáknál, nem látom, hogy osztályt használna a reprezentálásra, hanem szimplán egy változóba lekéri az adatokat az adatbázisból
pl így:
foreach ($db->application() as $application) { // get all applications
echo "$application[title]\n"; // print application title
}de az ORM lényege nem az lenne, hogy osztályoknak feleltetjük meg az adatbázis tábláit?
Vagy esetleg teljesen más lenne a koncepció?
-
bandi0000
nagyúr
válasz
bandi0000 #19532 üzenetére
Esetleg annyi, hogy írja, hogy változtassam meg az elérési utat, az elején látok csak ilyet, de ha jól tudom, ott az autoload.php elérési útját kell megadni, viszont ha rá navigálok a tickets-re, akkor azt írja, hogy nem találja annak az osztálynak az elérési útját, mert rossz helyen keresi
-
bandi0000
nagyúr
Sziasztok
Most próbálok ismerkedni ezzel a csodás világgal, mégpedig a SlimFramework-ot kezdtem el, de mivel kicsit tört angolom van, így előfordulhat, hogy félre értettem valamit
De elég sok kérdés merült fel bennem
Nem igazán értem mit csináltunk a feladatba
Első körben csináltunk egy loggert, amit nagyjából értek, hogy mi is
Ez után egy adatbázis kapcsolatot csináltam, de itt nem kellene lennie egy adatbázisnak is? Mert a feladatba nem írja, vagy legalább is nekem nem egyértelmű
Ez után teljes képzavar, hogy mi az a tickets fügvény, vagyis ez nem adatbázisból olvasná ki az adatokat vagy hasonló elgondolása van?
Ebbe van egy TicketMapper osztály? amit nem deklaráltam sehol, talán egy Dependency Injection lenne, de amikor "működött" az alkalmazás, akkor hibát írt rá, mert nincs sehol ilyen függvényem -
cidalain
veterán
válasz
vic999 #19528 üzenetére
Azzal kezdted, hogy informaciot szeretnel nyerni. Mi a kerdes, mert az nem volt?
1. Valaszt varsz, hogy az ismerosod milyen iranyban induljon a fejlesztessel?
2. Az a kerdes, hogy a koncepcio ertheto e, es ez alapjan megvalosithato e?
3. Azt szeretned tudni, hogy itt a forumozok kozul valaki megcsinalna e?
4. Az a kerdes, hogy a forumozok tudnak e valakit, aki ezt megcsinalna?
5. Igazabol tokmindegy, csak mukodjon mar, van penz boven fejlesztesre. -
vic999
csendes tag
Sziasztok!
Egyik ismerősömnek szeretnék kis információt nyerni:Szüksége lenne egy olyan admin felületre, ahova bizonyos emberkék be tudnak lépni (pl. email cím alapján). Itt az admin által létrehozott termékek jelennének meg, amit az ügyfél meg tudna nézni, leokézni, igény szerint módosítást kérni egy arra szánt mezőben.
Fontos lenne, hogy ha például "A cég" jelentkezik be, akkor csak az "A cég" termékei legyenek láthatók a felületen.
Mindennek automatizáltnak kellene lennie: ha kérései alapján módosították a terméket vagy készen van a termék, arról kapjon értesítést az ügyfél, illetve a gyártó is kapjon egy emailt azzal, hogy az ügyfél jóváhagyta / módosítást kér.
Ami még fontos, hogy egy-egy szerkesztésnél mindig új verzióként jelenjen meg a termék. Pl. ha volt egy Nvidia videókártya beta nevű termék, akkor az a módosítás után Nvidia videókártya v1.0 legyen, aztán minden módosításnál nőjön a verziószám.
Összességében az alábbiakat kell tudnia a felületnek:
• rendelés létrehozása (Megrendelő)
• rendelések jóváhagyása (admin)
• input generálása a gyártáshoz
• rendelések állapotának követése (Megrendelő és admin)
• e-mail értesítések küldése
• pdf dokumentumok generálása elérhetőségének biztosítása
• új termék, termékmódosítási igény létrehozása (Megrendelő)
• új termék vagy termékváltozat definíció létrehozása(admin)
• minta input generálása a gyártáshoz
• termék kép feltöltése (admin)
• termék jóváhagyása (Megrendelő), megrendelésA design gyakorlatilag mindegy, csak átlátható legyen. A funkciókon van a hangsúly.
Lehet akár valamilyen motor (Wordpress, Prestashop, stb.) vagy sablon, egyedi programozás vagy bármi, csak működjön.
Remélem érthető és megvalósítható a kérdésem.
Előre is köszönök minden választ!
-
#68216320
törölt tag
Hogyan lehet PHP-ban teszteket csinálni? (pl. UnitTest)
Illetve a GitLab-on van egy DevOps funkció, ami folyton hibát a tesztekre, mivel nincsenek. Hogy lehetne ezt kilőni vagy leginkább tesztekkel megetetni? -
kezdosql
tag
-
#57018880
törölt tag
Szerintem elég egyértelmű, ha spec MySQL-re tervezett programról van szó akkor azt érdemes használni. PDO képes sok egyéb adatbázissal is kommunikálni, de ennek nyilván akkor van leginkább előnye ha az applikációt több Hostra telepítik, ahol előre nem ismerhető, hogy milyen adatbázist használnak.
-
biker
nagyúr
Mindig tudnak nekem újat mondani???
Belefutottam egy olyanba, hogy a tárhelyen nem volt PDO, php-ben ki volt kapcsolva.
Kértem, kapcsolják be, másnapra megtörtént, azzal, hogy "mi nem javasoljuk a pdo-t, inkább a mysqli-t, de ez az önök döntése"Miről maradtam le? Vagy nem én vagyok helikopter mégsem?
-
#57018880
törölt tag
Ahogyan ezt említették már semmi köze a PHP-hez.
1- kiveszitek a kutyát a képből teljesen egy külön képbe, transzparens PNG
2- külön rétegre rakjátok, CSS abs pos, z-index
3- kizárólag a főoldalon jelenítitek meg display: none, ha body.home akkor meg display: block
(4)- esetleg kelleni fog valami margó, padding stb, hogy kompenzálja, hogy ne lógjon be a kutya a tartalomba -
cdm12
tag
Sziasztok! Grafikus vagyok. Elkészítettem egy webdesignt , amiben van egy header menüpontokkal logóval stb , és az egésznek avn egy fehér háttere 50% opacityvel. Alatta a főoldalon van egy kutya aminek a fülei belógnak a header mögé, direkt így csináltam, így néz ki jól. Ugye a kutya már külön html tagben van , mivel a headert a programozó fel akarja használni a többi menüponthoz is , a kutya viszont csak a főoldalon van. A programozó haverom azt mondja ezt így nem tudja megcsinálni , mert wordpressben phpvel a külön html tagben lévő részeket nem tudja egymés mögé becsúsztatni. A kérdésem az lenne mi erre a megoldás?
-
GreenIT
tag
Egy kerdes erejeig jottem csak:
Letezik olyan program, ami adott konyvtarban levo php fajlokrol csinal egy hierarchia listat, hogy melyik melyiket hivja meg?
-
supercow
őstag
válasz
supercow #19514 üzenetére
Valahogy így:
<form id="form1" >
<input type="text" name="form1mezo1" id="form1mezo1">
<input type="text" name="form1mezo2" id="form1mezo2">
</form>
<form id="form2" >
<input type="text" name="form2mezo1" id="form2mezo1">
<input type="text" name="form2mezo2" id="form2mezo2">
</form>
<button id="gomb">Csinald</button>
<div id="eredmeny"></div>és JQuery kódodban:
$('#gomb').on('click', function(e){
$.ajax({
url: 'target.php',
dataType: 'json',
method: 'post',
data: {
urlap1: $("form1").serialize(),
urlap2: $("form2").serialize(),
[...egyeb POST parameterek, pl CSRF TOKEN ]
}
}).success(function(resp) {
console.log('siker='+resp);
$('#eredmeny').html( resp.uzenet );
}).always(function(){
console.log('vege');
});
});illetve doc itt: http://api.jquery.com/jquery.ajax/
A target.php -ben az űrlapok egyesével jelennek meg POST paraméterként.
ott csinálhatsz valami ilyesmit és lesz egy tömböd. Ne felejtsd el a bejövő adatokat ellenőrizni filter_var() vagy ahogy szükséges.<?php
$urlap1 = parse_str( $_REQUEST['urlap1'] );
// eredmeny:
$urlap1 = [
"form1mezo1" => "valami",
"form1mezo2" => "másvalami"
] -
Agostino
addikt
sziasztok
a kérdés csak részben érinti a php-t, de biztosan tudtok segíteni : ) adva van egy oldal, vegyesen html, php tartalommal. az oldalon van négy darab form, a formokban csak egy submit button. ha a submit button-t lenyomja a felhasználó, lefut egy select lekérdezés, majd a lekérdezés eredménye echo segítségével táblázatban megjelenik egy div-ben. az oldalon összesen négy form van, négy lekérdezés futtatható le. a gondom az, hogy a submit lenyomásával az egész oldal újratölt. ez ilyen, tudom, csak azt szeretném, ha nem lenne page reload. utánaolvastam a témának és annyit kiokoskodtam, hogy ajax segítségével megoldható, amit szeretnék. viszont minden egyes példa külső url-t ad az ajaxnak és egy adott táblával foglalkozik. nem szeretném az oldalon található négy formot és hozzá tartozó php kódot szétszedni, mert a négyféle select csak a kezdet, sokkal több lesz a projekt végén. megoldható az egyáltalán, egy oldalon több form, több php + select legyen, azonban egyetlen ajax script megoldja azt, hogy ne töltődjön újra az oldal? amolyan global megoldás?
-
#68216320
törölt tag
válasz
Joci93 #19508 üzenetére
Nem kell ezert composer rogton. Mint kiderult a macOS-en, amin a PHP 5.6 van, nem volt a mysql.default_socket beallitva a php.ini-ben. Kellet egy link a mysql.socket-hez es be kellett allitani a php konfigban. Azaz nem programkod volt a problema, hanem a dev. env. volt elszurva.
-
#68216320
törölt tag
Segítséget szeretnék kérni. Ki milyen class loader-t használ? Nálam folyton gond van azzal amit csináltam. Ez például PHP 7.2-n működik, de 5.6 esetében már nem. Valami olyan megoldás volna jó, ami minden helyen működőképes. Persze lehet teljesen rossz a koncepcióm.
./autoloader.php
<?php
function classLoadMain($class) {
$class = str_replace('\\', '/', $class);
include $class . '.php';
}
function classLoadAdmin($class) {
$class = str_replace('\\', '/', $class);
include '../' . $class . '.php';
}
?>./classes/DbConnect.php
<?php
namespace classes;
use PDO;
use Exception;
class DbConnect {
private $connection;
public function __construct() {
$this->connection = new PDO('mysql:host=localhost;dbname=my_test_database', 'root', 'admin');
if (!$this->connection) {
throw new Exception('Could not connect to database server');
}
$this->connection->query("SET NAMES 'utf8'");
$this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
public function getConnection() {
return $this->connection;
}
}
?>./test1.php
<?php
use classes\DbConnect;
require_once("autoloader.php");
spl_autoload_register('classLoadMain');
$dbConnect = new DbConnect();
?> -
eagleberg
tag
válasz
eagleberg #19502 üzenetére
Nem akarom ide kiírni melyik cég, de sejthetitek...
Senkit nem érdekel "felesben"? A hónap végéig van időm eldönteni kell vagy nem.
Máshol nem akarok ezzel "házalni".
(Bónuszként elárulom hogyan tudod lementeni a videókat magadnak...)
Privát üzenetet küldj ha esetleg... -
Agostino
addikt
oh, rájöttem közben asszem : ))
-
eagleberg
tag
Ha valakit érdekelne online tanfolyam (közös) előfizetés (magyar nyelvű, 1 éves, sok-sok téma) akkor kérem privátban keressen meg.
Új hozzászólás Aktív témák
- Xiaomi Redmi Note 14 Pro 5g 8/256gb - Szép állapot, akár beszámítással
- LG 70UN74003LA Smart LED Televízió, 70" (177 cm) - 4K Ultra HD, HDR, webOS
- TP-Link RE650 AC2600 (RR650) WIFI hatótávbővítő
- BONTATLAN Új Iphone 16 és 16 Plus 128-512GB 1év APPLE garancia gyári független Deák AZONNAL Átvehető
- ÚJ Bontatlan iPad Air 6 - 7 gen 11 és 13 Minden szín 1 év Apple Garancia Azonnal Átvehető DEÁK Térné
- AKCIÓ! Intel Core i7 7700K 4 mag 8 szál processzor garanciával hibátlan működéssel
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- Update 05.09. Bomba árak 2025-ben is! Üzleti - Consumer laptopok DELL FUJITSU HP LENOVO
- Samsung Galaxy A14 5G 64GB, Kártyafüggetlen, 1 Év Garanciával
- www.LicencAruhaz.hu OLCSÓ & LEGÁLIS SZOFTVEREK 0-24 KÉZBESÍTÉSSEL - Windows - Office - ÖRÖK GARANCIA
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest