- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy A54 - türelemjáték
- Xiaomi Smart Band 8 - folyamatosan
- Szerkesztett és makrofotók mobillal
- Ingyen beszerezhető pár SEGA klasszikus mielőtt lekerülnek a Play Áruházból
- Motorola Moto Tag - nyomom, követ
- Magisk
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Mi lenne, ha mutatnál némi konkrétumot? Kíváncsian várom az ajánlatodat, hol tegye fel a kérdését, ahol van is esély rá, hogy kap releváns választ.
Na ugye.Miért ne lehetne neki itt segíteni?
Legfőképp azért, mert ez a kérdés elég szorosan kötődik a PHP-fejlesztéshez is, mert a .htaccess-b×zerálás (vagy web.config) manapság szinte elengedhetetlen. Arról nem is beszélve, hogy ennek semmi köze az "Apache-szerver konfigurálásához", ez inkább az alkalmazás megfelelő beállítása az igények szerint az adott szerverhez kapcsolódóan.(#11712) dodopek :
soha életemben nem hallottam erről az oldalról. Nem mintha az jelentene bármit. -
kkdesign
senior tag
Hát igen... Ebben nagyon is igazad van.. Amit még ugye nem tudtam megoldani, az a dátumkezelése, a fenti linken látszik (felviteles) hogy melyikre is gondolok. Hogy írja ki a mai napot hónapot évet, visztont amit majd utána kiválasztanak fel kell vinni az adatbázisba éééé-hh-nn formátumba. Azt ezáltal hogy lehetne megoldani, mert így eddig működik, de ugye nem megy fel :S... $szdatum=$szev . '-' . $szhonap . '-' . $sznap; erre kellene kihozni valahogy hogy szdatumként felvihessem.
-
syC
addikt
HTML oldalakban keresgélek PHPvel, kb 20-30 másodperces a teljes kérés. CSS-el meg JavaScriptel dedobtam a töltési időre egy animációt, és az animáció alá szeretnék kiíratni sztringeket. Úgy gondoltam, hogy a lefutó PHP függvényt megszakítva JS függvénnyel lecserélem az animáció alatti sztringet. Eddig rossz nyomon jártam szerintem mert HTML objektum innerHtml részét módosítottam JS-el, de ez persze fáziskésében jelenítette meg a sztringet. Még agyalok, de minden ötletet örömmel fogadok.
-
KKope
tag
igazából az lenne a kritérium, hogy olyan cikkszámot ne adjon hozzá a mozgastetel táblához, ami már szerepel az utolsó bizonylatszámmal
(az mozgastetel tábla utolsó bizonylatszámát változóba tettem ->$lastid)<?php
include("connect.php");
//LEGÖRDÜLŐMENÜHÖZ SZÜKSÉGES QUERY
$lek="SELECT * FROM eszkoztorzs";
$eredmeny = mysql_query($lek);
//UTOLSÓ BIZONYLATSZÁMHOZ SZÜKSÉGES QUERY
$eredmeny2 = mysql_query ( " SELECT MAX(bizonylatszam) AS lastid FROM MOZGASFEJ ");
while ( $s = mysql_fetch_array ($eredmeny2))
$lastid = "$s[lastid]";
if ( isset( $_POST["hozzaad"] )) {
$cikkszam = mysql_real_escape_string($_POST["cikkszam"]);
$bizonylatszam = mysql_real_escape_string($_POST["bizonylatszam"]);
$lek2= "INSERT INTO `mozgastetel` ( `cikkszam` , `bizonylatszam` ) VALUES ( '$cikkszam', '$bizonylatszam'); ";
mysql_query ( $lek2 ) or die();
header('Location: index.php?eszkozmozgas');
}
?> -
KKope
tag
Ezt miért csinálod :
$lek="SELECT * FROM eszkoztorzs";
$eredmeny = mysql_query($lek) or die ("HIBA!");
?Az a FORM-on lévő legördülő menühöz kell.
Igazábol nekem az kell, hogy ha egynél többször hozzá akarom adni a cikkszámot akkor eldobja egy üzenettel. (pl: "ezt a cikkszámot már hozzáadtad!")
-
Csak egyszer kellene letrehozni vagyis mindig ujrageneralodna x naponta de most csak az egyszeri generalasrol lenne szo. Mysql adatbazis.
Coyot:
Mar megint nem ertem mirol beszelsz.
Irjal peldat mert nem ismerem a megoldast. Az insert utasitasokat azutan hozom letre hogy minden le van mentve tombokbe.
Vagy azt mondod hogy amikor szedem le az adatokat akkor ne tombbe tegyem hanem irjam ki oket egy sql fajlba kesz insert utasitaskent? -
Sk8erPeter
nagyúr
Meg mondjuk az inline style-nak ITT, a kiküldött leveleknél az is a nagy előnye, hogy amennyiben offline tárolódik a cuccos, pl. mert asztali klienst használ az illető, akkor sem esik szét a tartalom, megmaradnak a szélességek, színek, stb. Igaz, attól még a külső képek nem fognak megjelenni, ha épp nincs internetkapcsolata.
-
Speeedfire
félisten
Nézegetem őket. Vegyesen van, de sokban van kép is, de azok inkább külső képek szerintem. Nem a levél része.
Nem tudom, hogy megy ez, azért kérdem.
mobal: Pontosan erre gondoltam, hogy a képeket elvileg nem küldi el, ha abszolút url-t, adok meg neki.
A css-el nem tudom mi a helyzet. -
trisztan94
őstag
Hát van egy connect.php fájlom. Abban van a kapcsolódás. Na most amikor használnom kell adatbázist, pl terméklistázás, login, stb, akkor include-olom azt a connect.php fájlt, hogy csatlakozzon és utána mehetnek a query-k. Vagy ez így f*szság?
Én így tanultam be, lehet, hogy hülyén
-
Peter Kiss
őstag
Nekem bűzlik ez a példa, mert ránézve hard code-olt az egész.
Maga a configuration injection is elég nehézkes, de itt főleg, gyakorlatilag tesztelhetetlen configfájl nélkül. Biztosan nem tenném bele a Settings::getInstance(); hívást, hagyni kell a getFactorynak (vagy másnak) egy olyan pontot, ahol kódból bele tudom tolni az aktuális lehetséges válaszokat. (Ez a Settings cucc azért nincs itt, mert a factory-k mellett nincs nagy jelentősége, minden látható, ami kell belőle.) A másik, ami problémás lehet, az a switch-case; ha valaki ilyet lát, akkor gondolkodjon el azon, hogy ezt biztosan lehet máshogyan is.
Például, ha én csinálnám, akkor valószínűleg egy Activator vagy valamilyen más osztályt írnék, ami a konfigurációban szereplő adatok alapján tudna létrehozni objektumokat, nem pedig így hard code-olva switch-case-zel, ezt nagyon nehéz módosítani.
Factory se static lenne szerintem, hanem egy DI container-től el tudnám kérni az összes elemet, ami kellene.
DB_Abstraction_AbstractFactory-nak private constructor-t rak, de ennek ellenére pár sorral lejjebb példányosítja, aha.
A require hívásokról ne is beszéljünk...
-
Brown ügynök
senior tag
A Settings osztály getInstance() metódusa egy statikus fv. amit anélkül meghívhatunk, hogy előtte példányosítanánk az osztályt.
Itt ezt úgy sikerült meghívni, hogy vagy egy fájlban van a két osztály vagy include-tuk az osztályt tartalmazó fájlt, esetleg használtuk a namespace importálás szolgáltatását egy kis __autoload()-dal megtámogatva.
Szerk: design patternre én ezt találtam: [link]. Érthető példákat hoz.
-
SektorFlop
aktív tag
ezt szúrtam ki magamnak:
$pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}csak ezzel egy probléma van pont a lényeges résznél két linket is tárol(az előző oldal, és az aktuális oldalt). Pl mint ez:
"http://valami.eu/forum.php?tema=1http://valami.eu/forum.php?topic=3"
-
SektorFlop
aktív tag
-
pvt.peter
őstag
Sziasztok!
Bocsi, hogy csak most jelentkezem, közben volt még más dolgom is, de nyomon követtem a hozzászólásaitokat.
@Sk8erPeter, @Soak illetve @Athlon64+: mindenkinek köszönöm szépen a segítségét
-
j0k3r!
őstag
ertem mire gondolsz, csak ugye, ha latod, hogy azt irja a hozzaszolasa vegen, hogy meg szeretne formokat meg inputokat is hozzaadni, akkor nyilvan erdemesebb alapbol rugalmasabbra megtervezni a dolgot.
"Egyelőre ő kerek-perec megjelölte a legeneráltatni kívánt kódrészletet, a konkrét segítség kérés erre korlátozódik szerintem." - igazad van, akkor lehet en gondolkodtam (feleslegesen?) egy lepessel elore
(#11078) Sk8erPeter: egy hosszu nap utan nem szabad nagyon leulni forumozni, hanem bontani kell egy sort, amig ilyen szep idonk van
azt meg, hogy konkretan mit is akar a kollega, majd elmondja, bar ugy latom eddig nem igazan reagalt egyik javaslatra sem.
-
Sk8erPeter
nagyúr
Ja, láttam a képet, tényleg ideillő.
Az írásod végével is nagyjából egyetértek, a legegyszerűbb megoldást is agyon lehet bonyolítani, szépíteni, amíg világ a világ (ahogy egy projektnek sincs vége soha, mindig lehet valahova szépíteni), de ha valaki először egy egyszerű összegyűjtésre, kiíratásra vágyik, akkor szerintem jelen esetben felesleges a hatmillió leszármaztatás, gyönyörűzés.
Athlon64+ akár elvihette volna olyan irányba is, hogy egy komolyabb, komplett osztályt ír arra, hogy mindenféle esetet lekezelve legeneráljunk jQuery UI tabokat, sőt, még a megfelelő könyvtárakat is behúzza, ezenkívül képes legyen arra is, hogy akár CDN-ről, akár helyi példányból húzza be a jQuery UI-t, ha még nincs include-olva, aztán eldönthető legyen, a vonatkozó kód minimalizált vagy fejlesztői változatát szeretnénk behúzni, sőt, még akár körépakolhatott volna egy rendes admin-felületet GUI-val, és akkor már hű de tuti lenne.
Amit én írtam, azt kb. két perc megírni, majd működésre bírni. Amit Athlon64+ írt, az már egy szétboncolt, komplexebb OOP-s, nyilván rugalmasabban továbbfejleszthető változat, amibe bele lehet építeni még sok mindent, de az előnye akkor jön elő igazán, amikor valaki advanced megoldásra vágyik, és bonyolultabb célokra is használni szeretné. Az övé nyilván szép (mert ő írta, és mert OOP-s, és széjjel van boncolva), az enyém meg nyilván ocsmány, mert nagyon leegyszerűsített, szimplán a konkrét feladatra összpontosított, kezdő által is könnyen kezelhető kód volt. Hát mit is képzeltem én, hogy nem rakok a kódomba legalább egy leszármaztatást? -
Sk8erPeter
nagyúr
Oké, akkor bocs, ha sértő volt a stílusom, én hajlandó vagyok beismerni, ha hibáztam.
Akkor ezek szerint erősen fogalmaztam, amikor felhívtam a hibáidra a figyelmet. De legalább megpróbáltam részletezni, Athlon64+ csak annyit mondott a kódomról, hogy ocsmány megoldás, és kész, 0 indoklás.
Peace! -
Sk8erPeter
nagyúr
foreach($this as $key => $value)
Jesszus, Te itt igazából mit művelsz?ucfirst($key)
ucfirst($value)
Miért akarod felülbírálni a felhasználó által megadott nevet, hogy legyen upper case az első betű? Nehogy már.Ilyet nem szabad. Hadd döntse el a felhasználó, nagy- vagy kisbetűvel szeretné, kódból ne írd felül.
class Content extends HtmlBuilder{
public $prop1;
public $prop2;
public $prop3;
}Itt konkrétan az egész leszármaztatásnak abszolúte SEMMI értelme.
Ezenkívül public változókat használni itt mi értelme van? Akkor minek az OOP, az encapsulation, stb.?
Lényegében ezzel felrúgod ezeket az elveket, példányosítás után azt lehet belepakolni, amit csak akarsz.Amúgy itt az egész szétválasztásnak sincs sok értelme, hogy külön legyen megcsinálva a "header" (legalábbis így nevezted), meg a tartalom maga, ennek úgyis egymás alá kell kerülnie, szétválasztva nem valószínű, hogy szükség lesz rá, tehát lehetne akár egyetlen render() metóduson belül.
-
CSorBA
őstag
Mert nem lehet művelet az osztály változóinak értékadásánál. Ha lentebb állítod be, vagy konstruktorban, akkor ott menni fog.
class Test{
private $ertek;
public function __construct(){
$this->ertek = 1/3;
}
public function foo(){
echo $this->ertek;
}
}
$test = new Test();
$test->foo(); -
Sk8erPeter
nagyúr
Ha statisztikát szeretnél készíteni, akkor jó a megközelítés.
Egy táblában nyilvántartod így: user_id | tag_id | number_of_visits
(persze a mezőnevek opcionálisak)
És igen, tag oldalának meglátogatásakor csak hozzáadsz +1-et a number_of_visits-hez (default érték 0). Elég akkor létrehozni a táblában a bejegyzést, amikor meglátogatja a bejelentkezett felhasználó az adott tag gyűjtőoldalát (addig meg egyértelmű, hogy még nem látogatta meg a tag oldalát).Aztán persze az is jó, ha a felhasználónak lehetőséget biztosítasz kedvenc tagek megjelölésére (pl. ahogy a stackoverflow-n van).
=============
(#10992) Forza_JUVE :
látom azóta megvan, de annyit azért szebben kéne megoldani, hogy ne kelljen a felhasználónak megnyomnia a böngésző "Vissza" gombját, hanem Te irányítsd vissza automatikusan a feldolgozó fájlból az eredeti fájlba (header() függvénnyel), a felhasználónak címzett üzeneteket (hiba, siker, stb.) mentsd mondjuk session-változóba, és legyen egy hely, ahol mindig kiíratod ezeket az üzeneteket. (Így lehet legegyszerűbben megoldani, ha nincs AJAX-kommunikáció.)A Google reCAPTCHA-t meg nagyon egyszerű beüzemelni, ez az egyik legfőbb erénye, meg az, hogy nem valami könnyű feltörni (bár sokan nem szeretik, amiatt, mert nehezen olvashatóak egyes szavak).
==============
(#10983) Brown ügynök:
action="<?php echo $_SERVER['PHP_SELF']; ?>"
Sztem felesleges, ehelyett szimplán:
action=""
(üresen hagyva)
ez valid megoldás is egyben. -
sanzi89
addikt
Vannak a családi fotóim mappa szerint rendszerezve, és jó volna valamilyen megjelenítés amit böngészővel lokálisan vagy távolról el lehetne érni. Erre kellene valamilyen megoldás.
Amiket eddig találtam azok inkább weboldalba ágyazhatóak voltak, és csak pár kép megjelenítésére lettek tervezve. Vagy csak nem találtam még jót...
-
CSorBA
őstag
Én egy helyzetérzékeny nyelvváltót csináltam meg így. Nem olyan szép, de egye fene. Gondoltam először, hogy referert nézek. De akkor mi van, ha linkelik? Vagy épp egyszerre több oldal van? Így gondoltam h. get-el küldöm a uri-t base64-ezve, és egész egyszerűen oda irányítom nyelvváltás után a usert vissza.
Szóval pl.::
(Csak részletek)$encoded_uri = base64_encode($_SERVER['REQUEST_URI']);
<li><a href="?lang=hu_HU&uri='.$encoded_uri.'" title="hu_HU"></a></li>
<li><a href="?lang=en_GB&uri='.$encoded_uri.'" title="en_GB"></a></li>
<li><a href="?lang=de_DE&uri='.$encoded_uri.'" title="de_DE"></a></li> -
Soak
veterán
A kérdésed első része eddig fel sem tünt
.
$myusername = $_GET['username'];
mysql_query("UPDATE user SET status = 0 WHERE username='$myusername'");Akkor nem csak ajánlom a prepared statementet hanem muszáj !!!
Amúgy a session kérdésedhez, a php.net-en le van írva, hogy a session_destroy() nem elég,
In order to kill the session altogether, like to log the user out, the session id must also be unset.
-
Peter Kiss
őstag
A következő újraírás lehetne már olyan, mintha tizedjére csinálnád.
A te megoldásodból akartam épp példát hegeszteni a Logout-ra, de leszavaztad.
Egyébként challenge accepted, ha valakinek nem megy valami, vagy esetleg szeretne más megoldást látni, írjon bátran (úgyse fog senki), hátha tudok valami érdekeset mutatni (saját cuccokból nehéz meríteni, mert design szempontjából tűrhető, amit csinálok, megoldásilag meg úgyis publikus lesz, amint elkészülök egy olyan verzióval, amit kb. bárki használhat).
-
Peter Kiss
őstag
Az ObjectFetcher-rel tudok egy \PDOStatement eredményhalmazából konkrét objektumokat csinálni. Az eredmény kétféle lehet: vagy egy tök semmilyen névtelen objektum lesz minden egyes sor, vagy egy sokkal combosabb variáns: egy base EntityObject-ből származó objektum, aminek ismerem minden property-jét, és mindezt felhasználva azon ColumnAttribute-ok segítségével, amelyek implementálják az IValueProviderColumn interface-t, képes vagyok a raw SQL típusból pl. PHP objektumokat készíteni, hogy csak egyet mondjak: SQL DateTime oszloptípusból PHP DateTime objektumot (alapból string-ként jön vissza). Az eredményhalmaz minden esetben \SplFixedArray lesz függetlenül attól, hogy néhány adatbázisnál kénytelen lehetek előbb siman array-t használni (ezt az aktuális IDbProvider mondja meg).
És az mindenképp baj, hogy már most bonyolultabb megoldásként gondolsz a valódi OO kódokra.
-
Brown ügynök
senior tag
Az is segíthet, hogy jobban megértsd miről beszél a kolléga, ha elmélyülnél a PHP manualban (jelen esetben mondjuk az osztályok működésébe [link]) majd, ha minden világos egy keretrendszerben. Egy keretrendszer megismerése sokat segíthet a saját kódod megírásánál. Ehhez persze idő és türelem kell.
-
Peter Kiss
őstag
Azért nem jó, mert a levegőbe lóg mindened, csak azt nehéz lehet meglátni, ha van ilyen könnyű megoldás is, ezért lenne érdemes a saját feladatodon bemutatni (pl. nem is írnék teljes megvalósítást mindenhová).
Mutatok egy kicsi példát:
class PhotoRepository {
public function __construct(DbContext $db) {//akár egy \PDO is lehet, de még kevés lenne
}
public function FindThreeById($pictureId, $userId) {
}
}
Nem beszélve a visszatérési értékekről, sok más objektumról, pl. ahol a PDO dolgot írtam, ott nálam a teljesség igénye nélkül ilyen objektumok játszanak: DataContext, Query, ColumnAttribute, SqlParameter, ObjectFetcher, PDO
-
Peter Kiss
őstag
Elvileg OO módon akarsz programozni, de azon túl, hogy osztályokba rendezed a kódod, nem sok mindent teszel az ügy érdekében, inkább ellene dolgozol. Ha van olyan része a kódodnak, ami nem gáz, ha kimegy publicra, akkor küldd el nekem, és megmutatom (Logout bejegyzés formájában), mit hogyan lehetne szebben, értelmesebb csinálni.
-
Soak
veterán
Újra írtam ezt, annak idején elég sokat szenvedtem vele, most jobb lett, csak azért írom ide, hátha valakinek lesz hasonló projektje:
public static function find_3_by_id($p_id,$users_id) {
global $db;
$stmt= $db->prepare("(SELECT *, 'next' FROM photographs WHERE id > :id AND users_id = :users_id ORDER BY id ASC LIMIT 1) UNION (SELECT *, 'current' FROM photographs WHERE id = :id AND users_id = :users_id LIMIT 1)UNION (SELECT *, 'previous' FROM photographs WHERE id < :id AND users_id = :users_id ORDER BY id DESC LIMIT 1)");
$result_set = $stmt->execute(array(':id' => $p_id,':users_id' => $users_id));
$object_array = array();
while ($row = $stmt->fetch($result_set)) {
$object_array[] = self::instantiate($row);
}
return $object_array;
}
$photos = Photograph::find_3_by_id($_GET['p'],$user->id);
$next_photo = array_shift($photos);
$current_photo = array_shift($photos);
$previous_photo = array_shift($photos);Így 3 helyett csak 1szer kérem le az adatbázist és utána nem foreachezek, hanem csak szétszedem az Object array-t .
-
Sk8erPeter
nagyúr
Szerintem úgy kéne, hogy ez csak akkor igaz, ha a /users/valaki címet nyitják meg.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^users/(.*)$ profile.php?username=$1 [QSA,L]Nem próbáltam, de sztem így nézne ki.
Vagy egyszerűen futtass rá minden kérést az index.php-ra, és PHP-vel intézd el a kiszolgálást: keress URL aliast adatbázisban, stb.
(#10889) Speeedfire :
"Ha van egy objektumhalmazom, akkor hogyan tudok hivatkozni az xyz.-edik elemére?"
Nem értem a kérdést. Milyen "objektumhalmazról" van szó? (Egyáltalán mi az az "objektumhalmaz"? Objektumok tömbje, vagy mire gondolsz?!) -
SektorFlop
aktív tag
én megoldásom erre a célre az szokot lenni, hogy csinálok egy úgynevezett sablon.php-t. Ez a fálj tartalmaza a html fő részeit, az oldal szerkezetét, és az állandó php elemeket. és különféle változókat íratok ki div-enkét amiknek az aktuális oldalon adok értéket, és ezek után már csak be includ-olom a sablon fájlomat. Ezek után ha a szerkezetbe építed az admin részét, még akkor is teljesen átlátható az egész.
Már korában is kérdezni akartam, mivel kevés tapasztalattal rendelkezem, és nem tudom a komolyabb helyeken hogy működnek ezek a dolgok? Pl. ez a megoldás mennyire elfogadott? Vannak-e hátrányai? Lenne egy pár szakmai kérdésem igazából, ha már egyszer eljutok egy olyan szintre és elhelyezkednék ezzel a dologgal, mire számítsak? Miket kellene igazán tudnom? Szóval szívesen elbeszélgetnék ezekről valakivel, akinek már nagyobb tapasztalata van ebbe, sajnos suliba ilyenket nem mondtak el az embernek
-
Sk8erPeter
nagyúr
Nem hallottam még ilyen definíciót.
Amúgy ha neked van igazad, akkor biztos a Drupal kitalálója, fejlesztői, a hozzájárulók olyan hülyék, hogy rossz elnevezést adtak:
Drupal Themes
...Szerk.: látom közben frissítetted a hsz.-t.
Nemcsak a WordPress-nél meg CMS-eknél hívják így, hanem még számtalan helyen. -
Sk8erPeter
nagyúr
Dehogy színeket értek
Inkább "sminkekre" gondolok, amiket le tudsz tölteni netről, vagy kreálni tudsz pl. CMS-ekhez. Csak lazán kapcsolt elemek, ezért cserélhetők, mivel csak a kinézetet befolyásolják (legalábbis jó esetben nem nyúlnak hozzá az adatokhoz - bár van rá lehetőség, ha nagyon akarom - hanem csak a megjelenítéshez nyúlnak). -
Sk8erPeter
nagyúr
"Ha valaki nincs bejelentkezve akkor bizonyos funkciók nyilván nem jelennek meg"
Igen, de attól még az oldal struktúrája nagyjából ugyanaz. Legalábbis ha pl. arra gondolunk, hogy van egy oldalad, és ha be vagy jelentkezve, és admin is vagy, akkor egy adott tartalomnál megjelenik egy "Edit" link a szerkesztéshez...
Szerintem az, hogy teljesen különválasztasz mindent, nem túl praktikus, mert csak nehézkesebbé teszed a kódod kezelését: az esetek többségében van egy csomó tartalom, amit bejelentkezett és "anonim" felhasználónak is szeretnél megmutatni, de a bejelentkezetteknek csak több/más tartalmat adsz, attól még a megjelenés hasonló.
Persze megint másik kérdés, hogy teljesen különálló admin-felületed van, ami nincs "összekötve" az alapvető megjelenéssel, hanem full máshogy néz ki, de akkor meg azt érdemes valami alkönyvtárba rakni (pl. fantáziadúsan /admin), és ott engedni a bejelentkezést, meg minden egyebet.
Mondjuk megint egy szempont: a theme elvileg egy külön "réteg", tehát elvileg a theme-nek akár váltogathatónak is kéne lennie."plusz jobban átláthatóbb, ha nem egy oldalon van minden"
Itt most nem tudom, mire gondoltál pontosan. -
Alex91
félisten
QuiXplorer nevu prg-t raknam fel egy NAS-ra. Egy regebbi verziot mar szepen megcsinaltam, de ez egy ujabb. Itt meg a letoltheto allomanybol kifelejtettek par dolgot. Amiben meg benne van, azt nem tolti le, bar a forras ott van, tehat ha nagyon akarom megcsinalom.
Szoval inkabb csak az volt, hogy nem tudtam, hogy ez a qx.php valami standard cucc, ennyire nem vagyok benne
. Csak utana lattam, hogy masik verzional ott van a file, csak amit letolteni tudok, abban nincs...
-
bobace
addikt
Az egyszerűbb részt megcsináltam, hogy ha ugyanannyi a befizetés, mint az összterhelés, akkor updatelek minden sort. Nyilván ez sem túl elegáns, mert egy lekérdezéssel mindent le lehetne tudni, csak hogy érezzek egy kis sikerélményt, ezt megcsináltam
Else-ben addig jutottam, hogy lekérem SQL-ból az összegeket. Mondjuk ez 5 érték. De itt megállt a tudomány, ez a rész nem megy: "Majd szépen egyenként összeadogatod őket. Egy array-ban eltárolod azok id-ját amiket összeadsz . Nyilván akkor írod bele amikor már biztos, hogy 100alatt van az össz érték (és mész a következőre)." Foreachet már használtam egyszer-kétszer, de nem tudom, ezt hogyan lehetne összerakni..Hogyan adogatom össze őket úgy, hogy figyeljen egy értékhatárt? -
trisztan94
őstag
De a többi GET az megy, de csak ?p=valami-vel. Adminjog adás, Terméktörlés, mind ugyanígy van (?p=valami-vel) és ezek is ugyanúgy ajaxolva vannak és ugyanúgy az index.php-ben vannak a php-k.
így van az <a>
echo "<center>";
echo "<table border='1' style='margin-bottom: 10px;'";
echo "<tr><th width='25'>Id</th><th width='200'>Felhasználónév</th><th width='100'>Admin Jog</th><th width='150' align='center'>Változtatás</th><th width='100' align='center'>Törlés</th></tr>";
echo "<tr><td align='center' width='25'>$id</td><td width='200' align='center'>$user</td><td width='100' align='center'>$adminnev<br/>
</td>". $adjadmin . "<td width='100' align='center'><a class='torles' href='?torol=$user'>Törlés</a></td></tr>";
echo "</table></center>";A legalja, de azért beraktam az egészet
Szerk:
Megjelenik az index.php-ben amúgy az a-nak a cucca.
Szóval, most ha rákattintok arra a felhasználónak a törlésére, hogy pl: eveke, akkor kidobja azt, hogy: index.php?torol=eveke, szóval mindenképp a php nem jó. De, mint feljebb is írtam ?p=eveke-vel pl az adminjog adás megy. Az első kérdésemben benne van, hogy az hogy van megoldva.Akkor majd erre figyelek, ez igazából csak gyakorlás, de majd ha legközelebb nekikezdek valaminek, mindenképp max security-s lesz, hogy megszokjam
-
trisztan94
őstag
Tudom, tudom, majd átírom PDO-ra, meg nyílván vigyázok ilyenekre csak (mivel amúgy sincs publikálva az oldal) mivel még az elején tartok, előbb megírom az alapját, aztán ha minden kész csinálom a security-t. Vagy ez így hülyeség?
Vissza a témához:
Szóval így mennie kéne a $_GET-nek? Mert adtam ugye valamilyen változónak a $_GET['torol'] értéket, kiprinteltem és semmit sem mutatott
Így volt a hívás:
<a href='?torol=$user'>Törlés</a>
Ez egy Ajaxolt oldalon volt, szóval az index.php kapja azt, hogy index.php?torol=admin most pl.
És a php az akkor ugye oda van írva, az meg most jelen pillanatban így néz ki:
$valtozo = $_GET['torol'];
print ($valtozo);De semmit nem ír ki.
Szerk:
Beraktam a mysql törlést is, de nem törli:
$torlesnev = $_GET['torol'];
$torles = mysql_query("DELETE FROM `members` WHERE username='$torlesnev'"); -
cucka
addikt
Vagy létezhet olyan, hogy pont úgy tölt fel két user képet , ami időben olyan közel lesz, hogy nem a megfelelőt kapom vissza?
Két júzer egy időben az két adatbázis kapcsolatot jelent, a last_insert_id ezt figyelembe véve működik, tehát nem fog előfordulni az eset, amiről írsz.
Permanens kapcsolatok esetén viszont jó kérdés, hogy meg van-e ez ugyanígy oldva, valaki felvilágosíthatna engem is.
-
trisztan94
őstag
-
trisztan94
őstag
Igazából egy egy szakdoga, egy csajszinak segítek, elvileg ingyenes okj lett volna ahol mindent megtanulnak, hát kb 500k-val húzták le.. a lényeg az, hogy semmit sem tud kb és hnaputánra kéne kész lennie
Meg lekell mondani a weboldal tulajdonosi jogokról a suli számára.. szóval így elég offos a történet és hát meglettem kérve, hogy segítsek.
De magamnak is csinálnék egyet majd később ha jobban értek már ehhez, majd akkor nyilván nagyon figyelek ezekre.
Köszönöm szépen a tanácsokat, imádom ezt a fórumot!
Új hozzászólás Aktív témák
Hirdetés
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Viber: ingyen telefonálás a mobilodon
- Békéscsaba és környéke adok-veszek-beszélgetek
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- BestBuy topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Cyberpunk 2077
- Spórolós topik
- Amazon
- Digitális Állampolgárság Program DÁP
- További aktív témák...
- Lenovo Legion 5 Gaming. Az ár irányár, komoly érdeklődés esetén van lehetőség egyeztetésre
- TAVASZI BOMBA AKCIÓK! STEAM, UBISOFT CONNECT, EA APP, XBOX EREDETI KULCSOK 100% GARANCIA
- Bomba ár! Lenovo IdeaPad 330S-15IKB - i5-8G I 8GB I 256SSD I 15,6" FHD I HDMI I Cam I W11 I Gari!
- AKCÓÓÓ!!! Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló
- Csere-Beszámítás! Asus Tuf RTX 5070Ti 16GB GDDR7 Videokártya! Bemutató darab!
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged