- Külföldi prepaid SIM-ek itthon
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Hivatalosan is bemutatta a Google a Pixel 6a-t
- Xiaomi 14T Pro - teljes a család?
- Samsung Galaxy Watch7 - kötelező kör
- Okosóra és okoskiegészítő topik
- Apple Watch Sport - ez is csak egy okosóra
- Honor 200 Pro - mobilportré
- Xiaomi 12 - az izmos 12
- Magisk
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
venic
kezdő
válasz
bandi0000 #20027 üzenetére
Nem biztos, hogy választ tudok adni a kérdésedre
De mondjuk nem a beirt adatokból számolok, hanem a beirt info alapján még az adatbázisban vannak az adatok, ahonnan veszem a számokat amivel számolok.
Amit belinkeltem oldalt (kaloriabazis.hu), ha azt vesszük példának, akkor pl beirod hogy almát ettél, és akkor az adatbázisban meg kell nézni, annak mennyi a szénhidrát fehérje stb tartalma és akkor azzal kell számolni.
Illetve egy étel adatfelvételekor 3, tehát 1 küldés során 3 érték megy az adatbázisba, nemcsak 1.
Persze létrehozhatnék változókat a beirt adatoknak (vagy nem tudom, hogy gondolod), csak jelenleg nekem az most bonyolultabbnak tűnik. -
venic
kezdő
válasz
bandi0000 #20023 üzenetére
Úgy szeretném, hogy beir valamit a felhasználó és akkor már ezzel is történik számolás, majd ha megint hozzáir valamit, akkor módosul a számolás... szóval közben is van számolás, minden egyes adat beirás után, nemcsak a végén.
Szóval most úgy van felépitve, hogy beirsz valamit, akkor az adat megy az adatbázisba, majd a szükséges adatokból számol. Ha újra beirsz valamit, akkor az megint megy az adatbázisba, de számolásnál már a korábbi és a mostani beirt adatot is figyelembe véve történik a számolás. -
venic
kezdő
válasz
bandi0000 #20018 üzenetére
Mutatok egy példát, ehhez hasonlót szeretnék, talán igy jobban érthető lesz.
Ezen az oldalon is lehet regisztráció nélkül is beirni, hogy miket ettél egy nap.
És ha beirod az ételeket, utána kijön egy táblázat, ahol összegzi.
Csak ugye ez a gondom, hogy mig beir a felhasználó 2 adatot, közben beirhat egy másik felhasználó egy másikat.
Nekem is ilyesmi, hogy több adatot lehetne beirni és később ezekből számol, ahogy itt is végülis.
https://kaloriabazis.hu/ -
-
bandi0000
nagyúr
válasz
bandi0000 #19934 üzenetére
Na végül is ezt megoldottam, viszont
404 Page-et is létre szeretnék hozni, viszont itt elég korlátozottak a lehetőségek, a gond az, hogy ha betöltött egy oldal, és után olyan url-t adok meg, ami nem létezik, akkor ki tudok íratni egy szöveget, hogy 404, de az előző oldal megmarad
1.0-ás verziónak azt találtam ki, hogy minden oldal betöltés elött betöltök egy üres php fájlt, és értelemszerűen, ha jó az útvonal, akkor betölti hozzá a a felületet, ha nem, akkor megjelenik a 404 hiba, de ez elég puritán megoldás, erre van valakinek szebb megoldása?
Van egy Route osztály, amibe belekerülnek az útvonalak
class Route{
public static $validRoutes = array();
public static function set($route,$function){
self::$validRoutes[] = $route;
if(array_search($_GET['url'],self::$validRoutes)){
if($_GET['url'] == $route) {
$function->__invoke();
}
}else{
include_once("./Views/404.php");
}
}}
Az útvonalakat így adtam meg, A CreateView megkapja paraméternek a betöltendő View nevét
Route::set('home', function(){
Index::CreateView('deletePage');
Index::CreateView('Home');
});
-
kezdosql
tag
válasz
bandi0000 #19682 üzenetére
Ugy tunik, nem ertjuk egymast.:-(
Megvan az adatbazis, csinalok egy lekerdezesi formot, beteszem html fajlba.
Bongeszovel megnyitod a fajlt, elinditasz egy lekerdezest.Hogyan kell megcsinalnom, hogy a kapott eredmenyt html fajlban kapd, es azokra a tetelek, amikre engedelyezek tovabbi lekerdezest,linkkent jelenjenek meg, hogy ne kelljen ujra a formba beirnod a lekerdezest, cask rakattintasz a linker, es latod az eredmenyt?
-
pelyib
tag
válasz
bandi0000 #19654 üzenetére
A linkelt lib-nek a logger csak opcionális paramétere, szóval ha nem kell, akkor ne add át neki.
-
pelyib
tag
válasz
bandi0000 #19630 üzenetére
Nem hiányzik ott egy "/" a models után?
Amúgy az összes kódot (konfiguració ugye másik mappa) illik a "/src" mappába rakni így egy namespaceben van minden kódod
Teszteket csak deven kellenek behúzni.
Pl ahogy az a Composer doksijában is van. -
Doink
aktív tag
válasz
bandi0000 #19608 üzenetére
Vagy mindenhol validálsz vagy csak szerveren.
Ha csak szerveren akkor visszakapsz egy JSON-t az errorokkal és azt értelem szerűen angularral rábindolod a megfelelő mezőkre.
Ha mind2 oldalon akkor addig nem küldesz semmit amíg böngészőből el tudod dönteni valamiről hogy valid, de ettől függetlenül szerver oldalon mindig validálunk hiszen a böngészővel a user azt csinál amit akar.A kliens és a szerver között megváltozik az adat:
- Ha arra gondolsz hogy valami csomag elkúródik akkor ezzel nincs dolgod, tcp/ip megoldja
- Ha arra gondolsz hogy felviszel egy új admin usert de valaki már felvitt egyet amíg te töltötted ki a formot akkor a szerveroldali validálás meg fogja oldalni.
- Ha arra gondolsz hogy egyszerre többen szerkesztik ugyan annak a usernek a formját akkor azt úgy tudod megoldani hogy beteszel egy timestampet vagy random karaktersort minden editálásnál és leküldöd a kliensnek, ha nem ugyan azt küldi vissza mint ami a db-ben van akkor valaki már megváltoztatta amíg ő szerkesztette az adatot
- Ha arra gondolsz hogy egy táblázatot/bármilyen kiírást hogyan lehet frissíteni real time ahogy a szerveren változik akkor WebSocket -
pelyib
tag
válasz
bandi0000 #19601 üzenetére
Általában elé raknak egy dedikált webszervert (Nginx, Apache) ami bizonyos szabályok alapján eldönti, hogy pontosan hogyan szolgálja ki a kérést, esetünkben továbbítja a PHP felé.
Ennek beállítására ~ végtelen leírás van a neten, többek között a Slim oldalán is. -
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?
-
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.
-
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:
-
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
Új hozzászólás Aktív témák
- Mini-ITX
- Külföldi prepaid SIM-ek itthon
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Linux felhasználók OFF topikja
- Formula-1
- Parfüm topik
- Luck Dragon: Asszociációs játék. :)
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Goddess of Victory:Nikke
- Őszre feketét ölt a THEC64 Mini
- További aktív témák...
- QNAP TS-932X - 10 gigabites NAS - 5x4TB HDD + 4x400G SSD
- SPIRIT OF GAMER Race Wheel PRO 2 kormány minden tartozékával mekgímélt állapotban eladó!
- Playstation 5 Drive Edition 825GB (CFI-1116A), 6 hónap garanciával, Bp-i üzletből eladó!
- Apple Watch Series 7 41mm NIKE GPS
- Acer Nitro XV340CKP WQHD 144HZ IPS KALIBRÁLT
- HIBÁTLAN iPhone 14 Pro Max 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3011
- Olcsó Notebook! Lenovo Ideapad 3! Ryzen 3 3250U / 8GB DDR4 / 128GB SSD
- Samsung Galaxy A34 5G 128GB Kártyafüggetlen 1 év Garanciával
- NYÁRI BOMBA AKCIÓK! PSN, STEAM, UBISOFT CONNECT, EA APP, XBOX EREDETI KULCSOK 100% GARANCIA
- Xiaomi Redmi Note 13 256GB Kártyafüggetlen 1 év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest