- Samsung Galaxy A55 - új év, régi stratégia
- Yettel topik
- Honor 200 - kétszázért pont jó lenne
- Honor 200 Pro - mobilportré
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Huawei Watch GT 5 Pro - egészség + stílus
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- iPhone topik
- Apple Watch
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
Új hozzászólás Aktív témák
-
DNReNTi
őstag
És láss csodát. Ahogy lett AdWords fiók, hogy az oldalt hirdessük egyből nem spam a kiküldött levél.
Szerk:
Válasz erre, (#16341) DNReNTi -
DNReNTi
őstag
SMTP-n is és simán is kipróbáltam már. A vicc, hogy a sima, SPF passed, az SMTP softfail.
Bár ez lehet amiatt, mert az smtp egy másik szerver. Nem értem én má'.
(#16345) fordfairlane
Nem, nincs, teljesen átlagos, regisztrációról például, átlag 4-10 sor egy levél.
Ékezetes subject viszont van. Az gond?
Pl: 'Elfelejtett jelszó pótlása.' - ez egy konkrét példa.(#16346) mobal
De, az tuti. Fentebb írtam is, megvan az eredménye. -
DNReNTi
őstag
Sziasztok,
Villámkérdés email küldéssel kapcsolatban:
Egy új induló alfa verziós oldalnál sajnos azt tapasztaljuk, hogy a gmail felhasználók nem kapják meg a leveleinket, vagyis spamként kapják. PhpMailer-el mennek a levelek, a többi szolgáltatónál egyelőre nem tapasztaljuk ezt a problémát. Miért van ez?A header:
Subject: XYZ
To: XYZ@gmail.com
X-PHP-Originating-Script: 0:class.phpmailer.php
Date:
From: XYZ@domain.hu
Reply-To: XYZ@domain.hu
Message-ID:
X-Priority: 3
X-Mailer: PHPMailer 5.2.7 (https://github.com/PHPMailer/PHPMailer/)
MIME-Version: 1.0A levél tartalma:
plain text
html text
2db pngA szervert ellenőriztem nincs blacklist-en.
A levélben a két kép (logo) AddEmbeddedImage metódussal kerül be, azaz szövegközi képként. Van benne továbbá egy link is, persze a domain.hu-ra. Én nem tudok rájönni hol a hiba.Valaki?
-
DNReNTi
őstag
válasz
Sk8erPeter #16331 üzenetére
Jaja, az. JetBrains oldalán van is rá doksi, Youtube csatornájukon meg video, gyorsan összedobtam rá egy "tesztkörnyezetet" (1db php file), belőttem ahogy a dokban le van írva, meg a videóban elmondva, így működik. Egyelőre ennyire volt idő, majd hozzáapplikálom, valami nagy projekthez is, ahol haszna is lesz.
-
DNReNTi
őstag
válasz
Sk8erPeter #16324 üzenetére
Köszi a tippet, be is lőttem az XDebug-ot.
(#16329) Sk8erPeter
Pontosan így történt.(#16328) Athlon64+
Ezt én se értem most.
A lényeg kóddal:
$SQL_recordset = $SQL_statement->get_result();
if ($SQL_recordset) {
//megyünk tovább
} else {
//"nincs" recordset
}Vizsgálva van a metódus return, de nem hibás, csak false, és épp azért mert a $SQL_statement->execute(); kimaradt.
Szerintem nincs a főőődön IDE, ami erre figyelmeztetne.
-
DNReNTi
őstag
válasz
Peter Kiss #16317 üzenetére
De epp ez benne a trukk, hogy az IDE sem szol erte, mert defnialva van, es visszateresi erteke szinten van: false. Azert false mert a stamentet nem futtattam.
-
DNReNTi
őstag
Az érzés, amikor egy jó másfélóra hibakeresés, és kódtúrás, valamint számtalan var_dump() után, rájössz, hogy a recordset azé' false, mert elfelejtetted a statement-et futtatni.... hát zavarbaejtő.
-
DNReNTi
őstag
válasz
Speeedfire #16274 üzenetére
Kár, hogy minden ilyen program Budapesten van, vannak érdekesnek tűnő előadások, de hát k. drága a benzin.
-
DNReNTi
őstag
válasz
tothjozsi96 #16214 üzenetére
Van valami különösebb oka annak, hogy adatbázis helyett ezt a megoldást választottad?
-
DNReNTi
őstag
válasz
kemkriszt98 #16193 üzenetére
Kíváncsi leszek mi lesz a megoldás, vagy valami nagyon triviális (fától az erdőt), vagy valami nagyon szolgáltató specifikus.
Az hogy direkt megy, cron-nal meg nem... fura.
-
DNReNTi
őstag
válasz
kemkriszt98 #16191 üzenetére
Hát ennek alapján már ott elvérzik a dolog, amikor a PDO objektumot létre akarod hozni. Hol futtatod ezt a szkriptet? Ha lokálisan, akkor van e engedélyed kívülről elérni az adatbázist? Ha online akkor miért nem simán mysql:host=localhost? A port default? Ha nem az is megadható: port=1234. A kapcsolatot ebben a formában tesztelted valamivel?
-
DNReNTi
őstag
válasz
kemkriszt98 #16189 üzenetére
var_dump()-al nézd meg a prepare után $send mit ad. Lehet elírtál valamit a lekérdezésben, tábla vagy mezőnevet pl. és így false lesz.
-
DNReNTi
őstag
válasz
tothjozsi96 #16182 üzenetére
Ez a könyv kérdés szerintem mindig szubjektív, eleve attól is függ most milyen szinten állsz, mit szeretnél megtanulni. Az hogy én nem kezdenék bele, nem azt jelenti, hogy tele van hülyeséggel a könyv. A könyvekből szerintem maximum gondolkodásmódot lehet elsajátítani, nincs olyan, hogy jó tananyag, mert minden egyes program más. Webalkalmazásokra ez pedig fokozottan igaz. Programozásban egyetlen jó tanulási módszer van: a gyakorlás. Természetesen kell egyfajta látásmód, egy bizonyos nyitottság és az alapok, valamit programtervezési minták ismerete. De egyetlen könyvtől se várd el, hogy miután elolvastad a 400 oldalt, te, vagy bárki megír egy e-bank felületet.
Menj el a boltba, lapozz bele, ha úgy látod tudsz tanulni belőle, mond számodra új dolgokat, akkor megéri, és számodra jó könyv.
De hogy a kérdésre válaszoljak: Nem, nem tudok könyvet ajánlani, őszintén szólva, programozás témában még egyet nem olvastam el.
-
DNReNTi
őstag
válasz
tothjozsi96 #16180 üzenetére
Lassan 5 éves a könyv. Éb bele se kezdenék.
-
DNReNTi
őstag
válasz
kemkriszt98 #16157 üzenetére
A phpMyAdmin helyett ajánlom neked a MySQL Workbench-et. Lényegesen kényelmesebb, gyorsabb, és okosabb mint a MyAdmin.
Nem beszélve arról, hogy egy adatbázis modell készítéséhez szvsz verhetetlen. Ingyen.
-
DNReNTi
őstag
válasz
kemkriszt98 #16152 üzenetére
Meg ha megvan, tessen beírni, hátha valakinek segítség lesz majd hasonló esetben.
-
DNReNTi
őstag
válasz
kemkriszt98 #16142 üzenetére
Egyszerű matek.
Minden képet úgy mentesz át 100px magasra hogy a szélességét arányosan alakítod. Pl: van egy 1000x750px képed. A magassága 100px lesz az eredi 13.00%-a. A szélességet megszorzod 0.1333-mal és done. Az eremény: 130x100px. A képarány mindkét eseteben 1:1.3. Egyébként a neten tuti találsz ezer féle lib-et erre a feladatra, de megírni se nagy kaland. -
DNReNTi
őstag
válasz
19.Norbika #16140 üzenetére
[16138]
Egyébként köszke.
Az igazsághoz hozzátartozik, hogy az elsők között találtam ezt a lib-et, de az istenér nem tudtam összefűzni a tcpdf-el, aztán sikerült letölteni egy olyat, ahol már össze van húzva az egész csak be kell tölteni az autoloader-eket és mehet. -
DNReNTi
őstag
Sziasztok,
Word és Pdf fájlokat kellene olvassak PHP-val. Kicsit böngésztem a neten, de nem találtam egységes megoldást, viszont találtam pdf és doc fájlokhoz kiegészítőt, meg azt, hogy a docx alapból olvasható. Van ezzel valakinek tapasztalata? Tippek mielőtt nekilátok?
Köszi! -
DNReNTi
őstag
válasz
norby10 #16121 üzenetére
Persze, hogy lehet, célszerű a PHPMailer osztály használata, sok idegtől megkímél. A formázás már más kérdés, ha azt akarod, hogy minden kliensen és programban hasonlóan jól nézzen ki, akkor sajnos vissza kell menni 1998-ba, és az akkori "lehetőségeket" használni "formázásra". Itt lecsekkolhatod milyen formázási lehetőségeid vannak egyes programok esetében css-el.
Én csak akkor használok csak inline (!) css-t ha nagyon muszáj, jó kis 25 éves <table> <font> és társaik megteszik, az legalább kliensfüggetlenül jól néz ki (a lehetőségekhez képest) mindenen.
(#16122) PumpkinSeed
Azért azt megnézném egy TinyMCE-ben szerkesztett email hogy mutat Gmail-ben, vagy Outlook 2003-ban. -
DNReNTi
őstag
válasz
Orionk #16107 üzenetére
Ha tanár lennék, és leadnál nekem beadandó munkaként egy ingyenes, netről bárki számára hozzáférhető cuccokból összeollózott anyagot, azon kívül, hogy kitagadnálak az előadásaimról, megbuknál az összes általam oktatott tárgyból.
De bízva abban, hogy a tanár nem ilyen:
Mivel beadandót kell készítened, gondolom azért valamilyen szinten már sikerült megismerkedned a HTML és CSS rejtelmeivel, ha mégsem, akkor ne is olvasd tovább, és törődj bele, abba, hogy jövőre újra fel kell vedd ezt a tárgyat.
1: Leszeded a bootstrap-et és elolvasod hogyan alkalmazd a weboldaladon.
2: Leszeded a már lentebb linkelt témát, és ráhúzod az oldaladra.
3: Feltöltöd a kívánt tartalommal.
4: Beadod, és reméled, hogy a tanárnak nem fog feltűnni, hogy bootstrap-et használtál, vagy ha feltűnik, akkor nem foglalkozik vele.Sok sikert.
-
DNReNTi
őstag
válasz
honda 1993 #16098 üzenetére
19.Norbika azt akarja mondani, hogy a böngésződben ne fájlként hivatkozz a php-ra hanem localhost-on keresztül. Magyarról magyarra:
file:///E:/xampp/xamp1/htdocs/gyakorlas/valami.php
helyett:
http://localhost/gyakorlas/valami.php(#16099) Orionk
Egy ilyen oldalhoz felesleges bármilyen frameworkot használni. Kb az ágyúval a verébre esete lenne. Ez egy sima statikus weboldal, html, css, js (jq) kombóval nagyon könnyen megvalósítható. Könnyítés lehet a bootstrap. Másra nem igen van szükség.Update:
Most, így utólag, hogy a kódba belenéztem:
<link href="css/bootstrap.min.css" rel="stylesheet">
Bingo. Így lenne ötösöm. -
DNReNTi
őstag
válasz
honda 1993 #16090 üzenetére
Ez esetben akkor valami tényleg nem jó.
De ugye, megint beírtál valamit az űrlapba és elküldted? Különben persze, hogy nem jó.(#16091) PumpkinSeed -> 16088
-
DNReNTi
őstag
válasz
honda 1993 #16086 üzenetére
Igazából, de csinál, csak nincs kimenete.
PumpkinSeed példájában ennyi van összesen:
<?php
$email = $_POST['email'];
?>Gondolom, egy az egybe ezt használtad fel. Ez pusztán elmenti az $email változóba az űrlappal átadott értéket. Attól mert semmit nem írt ki, még valószínű működik. Egészítsd ki ezzel:
echo $email;Így ha minden rendben megy ki kell írja az űrlapba beírt szöveget.
-
DNReNTi
őstag
válasz
tothjozsi96 #16068 üzenetére
Ja bocsi, nem néztem mire ment a választ.
Egyébként akkor is hülyeség, de erre rájöttél.(#16072) PumpkinSeed
Igaz, de nem egy kezdőnek, hanem neked írtam. -
DNReNTi
őstag
válasz
tothjozsi96 #16064 üzenetére
Nem jól gondolod. Nem is tudom, ezt most hogy hoztad össze, már a kérdést.
A nullával való osztásról beszélünk.
Arról, hogy nullával osztás eredménye nem nulla, hanem nem értelmezett, figyelmeztetéshez vezet a program futása során, és hamis eredményt (nem nullát) hoz. Ezt pedig kezelni kell. Emlékeztetőül: innen indultunk.
-
DNReNTi
őstag
válasz
PumpkinSeed #16055 üzenetére
Kicsit kiegészíteném a kódot, így elkerülhetőek a hibák (nincs post, üres input):
$request_method = $_SERVER["REQUEST_METHOD"];
if ($request_method === 'POST') {
$email = isset($_POST['email']) ? $_POST['email'] : false;
if ($email) {
/itt csinálok valamit az email-el.
}
}A komplex számokkal meg haggyá', vót belőle elég analízis, kalkulus és diszkrét matematika előadásokon.
-
DNReNTi
őstag
A nullával való osztás nincs értelmezve a valós számok halmazán.
PHP-ban ezt kapod rá: Warning: Division by zero in...
A változó az eredmény nulla helyett false lesz. Ezt elkerülendő írtam, hogy ellenőrizze megoldható e az adott művelet. Asszem ezt kiveséztük.(#16054) kemkriszt98
Na csak várjá' majd jön Brian oszt ad neked -
DNReNTi
őstag
válasz
honda 1993 #16033 üzenetére
Akkor adok neked egy feladatot, aminek az elkészítése során egy csomó alapdolgot meg lehet tanulni. Persze nem fogom számon kérni.
Csak úgy gondolom, hogy ennek a megvalósítása segít abban, hogy ráláss a php meg úgy egyáltalán a programozás alapjaira.
Készíts el egy űrlapot amely 3 adatot kér be:
- egy számot
- még egy számot
- és egy műveletet lenyíló listából (alap matematikai műveletek)Add át a bekért adatokat POST metódussal.
Ellenőrizd:
- hogy van e POST
- hogy minden mező ki volt e töltve
- hogy a számok számok e
- hogy a kiválasztott matematikai művelet végrehajtható eHa minden rendben akkor:
- végezd el a kiválasztott műveletet az átadott változókkal
- küldd vissza az eredményt URL-ben paraméterátadással az eredeti fáljnak
- írasd ki az eredményt ottNa most ezt elolvasva azt mondod kapjam be, mert így első olvasatra ez magasnak tűnik, ráadásul megsúgom, semmi haszna nincs is a való életben, de meg fogod tanulni általa:
- hogyan illessz PHP kódot a HTML kódodba
- változó és típus ellenőrzést
- a POST és GET kezelését és a kettő közötti különbséget
- paraméterátadást URL-ben
- alap matematikai műveleteket
- feltételkezeléstTermészetesen hülyeség lenne ennek így egyből nekiugrani, de ha már túl vagy az első "hello world" meg hasonló példákon, akkor nyugodtan belevághatsz. Nem fog magadtól menni, de ahelyett, hogy idegeled magad, kérdezel, keresel, olvasol, tanulsz.
Na hajrá -
DNReNTi
őstag
válasz
honda 1993 #16029 üzenetére
Jó tanulási módszer lehet az is, ha már a nagyon alapok megvannak, hogy kitűzöl magad elé egy célprogramot, amit meg szeretnél valósítani, mondjuk egy form elküldését és a kapott adatok ellenőrzését. Mire megcsinálgatod, megnézel pár tutorialt a neten, csomó minden rád ragad. Aztán lehet bővíteni, teszem azt, adatbázisba mentéssel, olvasással, satöbbivel. Így mondjuk már el is jutottál oda, hogy egy regisztráció és login formot össze tudsz dobni.
Azért annyira nem lesz egyszerű, mint ahogy most leírtam
-
DNReNTi
őstag
válasz
honda 1993 #16008 üzenetére
Pontosan arra a könyvre írtam amit írtam.
Mármint: Kozmajer Viktor - PHP és MySQL az alapoktól. Erre.
A 24 órásokról nem tudok nyilatkozni, többen vannak ellene mint vele. -
DNReNTi
őstag
válasz
honda 1993 #16004 üzenetére
A neten az első vélemény róla amit találtam:
"Nagyon hasznos kis könyv, leszámítva, hogy a benne lévő anyag kb. 1998-ban íródott."
Scribd-en belepörgettem, az adatbáziskezelés pl kapásból a nyugdíjazott mysql_ parancsokkal van kivitelezve. Én maradnék továbbra is a naprakész blogok, netes tutorialok böngészésénél. -
DNReNTi
őstag
válasz
19.Norbika #16001 üzenetére
Na hát oszt arra meg kinek van ideje?
Egyébként tesztelve volt az az elején, csak természetesen bővíteni kellett, aztán jöttek a furcsaságok.
-
DNReNTi
őstag
válasz
19.Norbika #15999 üzenetére
Igyekeztem túlozni.
Egyébként pont a minap jártam hasonlóan, onnan a példa. Egy százalékszámítás nem volt jó, kiderült azért, mert rossz mezőből származtattuk az egyik adatot. Igaz két napig nem tartott, de mire rájöttem mi a gond, agyérgörcsöt kaptam. Nyilván ilyenkor az IDE nem jelez hibát, mert minden tökéletes volt, a beírt mezőnév is létezett, csak épp nem az kellett. (Mentségemre szóljon, hogy a számítás nem a klasszikus 2 változós százalékszámítás, hanem figyelembe kell venni vagy 50 adatot.)
-
DNReNTi
őstag
válasz
honda 1993 #15997 üzenetére
Sk8erPeter-nél a pont, ha már ezen így felk*rod magad, mi lesz később? Ettől csak idegesítőbb lesz.
Nincs attól jobb mint mikor 2 napig keresed a sok tízezer sornyi kódban, miért nem jó valami számítás, majd végül rájössz, hogy pl összecseréltél két mezőnevet egy lekérdezésben. Na az idegesítő.
-
DNReNTi
őstag
válasz
honda 1993 #15983 üzenetére
Na má' megin kezded a hülyeséget... Egy rossz szót nem szóltam rád, annyit írtam, nem gondoltam, arra, hogy még a php futásához szükséges környezet nincs meg. Egyébként egy vamp, xamp, vertrigo és társainak a beüzemelésre kb 23 milló blogposzt van a weben, ahelyett hogy kapkodsz meg vered itt magad, mintha itt bárki tehetne arról, hogy neked nem megy, rákereshetnél. Amúgy miután beállítod a szerver root-ot, újra kell indítani a szolgáltatást.
-
DNReNTi
őstag
fordfairlane most már értem miért írtad, amit írtál.
Erre nem gondoltam.
-
DNReNTi
őstag
válasz
fordfairlane #15965 üzenetére
Nem értek egyet, azon kívül, hogy tök alap lépésekben le van írva, még az is, hogyan különül el a PHP kód a HTML-től, egyáltalán mi az hogy nyitó meg záró tag. Ezen felül csak példaképp, az if elág is részletesen le van vezetve. Szerintem ha valaki profi más programnyelvben, annak nem kell magyarázni mi az az if.
Nem gondolnám, hogy van tutorial, ami ettől alapabb szintről indul. Más tészta, hogy összefüggő példák nem igazán vannak, de ha megismerkedett az alapokkal majd keres a neten.
-
DNReNTi
őstag
válasz
honda 1993 #15963 üzenetére
Hát a webfejlesztés topikok eléggé összeérnek, nagyrészt ugyanazok vannak itt is mint ott.
-
DNReNTi
őstag
válasz
honda 1993 #15961 üzenetére
Hali,
Ha a nulláról indulok akkor én itt kezdeném: PHP Language Reference
-
DNReNTi
őstag
SimpleHTMLDom-mal iskerült megvalósítani. Köszi midnenkinek!
-
DNReNTi
őstag
Hola,
Gyártanom kellene egy PHP scriptet amely egy webshop termékeinek nevét és árát gyűjtené be adott oldalról. Mi ennek a megfelelő menete? Utánaolvasgattam a neten, találtam is egy két megoldást, amire nekem szükségem lenne: adott osztályú html elemek tartalmának elmentése. Hogyan kezdjek hozzá?
Ez amúgy legális? -
DNReNTi
őstag
válasz
kemkriszt98 #15825 üzenetére
Bontsd szét azt a szépséget.
Ha jól gondolom az fáj neki hogy az strtolower-ben nem egy változót hanem függvényben függvény kimenetét adod meg. Így kipróbálás nélkül szerintem így jó lesz:
$file_type = end(explode('.', $file));
$file_type_low = strtolower($file_type); -
DNReNTi
őstag
válasz
TomyLeeBoy #15779 üzenetére
Szia,
A megoldás:
file:///lokális_elérési_út
Pl:
file:///C:/Users/Administrator/Desktop/pelda.jpgFigyelj a három perre! A harmadik a lokál miatt van.
-
DNReNTi
őstag
Álláshirdetés Facebookon, aszongya:
"Ha értelmetlen ügyféligények implementálása helyett inkább valami értelmes kódot írnál..."
Ha valakit érdekel: [link] -
DNReNTi
őstag
Szia,
Ugyan kb 1 éve nem foglalkoztam Fb app-okkal (szerencsére), de szerintem erre nincs lehetőség. Az oka is nagyon egyszerű: privacy. Az, hogy te minden engedélyt megadsz egy alkalmazás számára, az csak rád vonatkozik. Innen nincs tovább, nem fogod látni egyetlen ismerősöd semmilyen adatát, kivéve persze ahová nem kell access token.
Egy ilyen ismerős gráf alkalmazáshoz az kellene, hogy az egyes emberek hozzáférést adjanak az ismerőslistájukhoz az app számára.
Üdv -
DNReNTi
őstag
válasz
norby10 #15656 üzenetére
"Mi módon ellenőrizem,hogy van belépve valaki?.."
Azt írtad "Készítettem egy honlapot ahol szükség volt regisztrációs felületre", gondolom akkor ez kész. Lehet regisztrálni, be és kilépni ésatöbbi.
Hát ööö... amikor belép valaki hogy ellenőrzöd?Amikor valaki helyes adatokkal kitölti a bejelentkező felületet és belép, akkor indítasz egy munkamenetet (session), vagy tárolsz róla sütiket (cookie). Akármelyik módszert is használod célszerű írni egy függvényt, vagy ha oop, akkor a felhasználó osztályban egy "gettert" ami ellenőrzi hogy van e érvényes felhasználói munkamenet, ha van kigyűjti annak szükséges adatait, ha nincs akkor meg hibát/kivételt dob. Ezt a függvényt, vagy metódust minden olyan oldalon meghívod ahol te belépett felhasználót vársz. Ha a visszatérés hamis, nincs felhasználó, visszairányítod a főoldalra. Röviden ennyi.
-
DNReNTi
őstag
válasz
norby10 #15654 üzenetére
A vissza gomb probléma:
Oldalbetöltéskor ellenőrizni kell, hogy van e felhasználó belépve, ha nincs kidobod hibával a login felületre, még mielőtt bármi betöltődne.Az "emlékezz rám":
Ha be van pipálva a checkbox, akkor sütibe tárolod, hogy van munkamenet, így a böngésző bezárása után is tudható, hogy van belépett felhasználó. Fontos: ha használsz sütiket arra a felhasználók figyelmét fel kell hívni. -
DNReNTi
őstag
válasz
DeltaPower #15639 üzenetére
A feladat nem kötötte ki hogy egy karakter csak 1x szerepelhet.
Pl van egy szóközök nélkül 75 karakter hosszú stringed amiből 1000 db random karakter kell.
Mi az akadálya? Semmi.Csomó karakter majd többször szerepel, a második paraméter csak azt adja meg hányszor fusson le a for() ciklus.
Arra pedig hogy a random szám ne legyen nagyobb mint a string hossza kitértem.
-
DNReNTi
őstag
válasz
minimumgame #15637 üzenetére
No akkor, hogy tanuljunk is leírom a dolog lépéseit a felhasználandó függvényekkel:
1. ellenőrzöd a két paraméter meglétét például empty()-vel, ha valamelyik is üres, máris eldobod az egészet: return false;
2. a paraméterben megadott szövegből eltávolítod az összes szóközt str_replace()-el.
3. strtolower() függvénnyel kisbetűssé alakítod a már szóközmentes szöveget.
4. megvizsgálod a szöveg hosszát strlen() függvénnyel, ez adja meg a véletlen szám maximum értékét, értelem szerűen nem lehet több mint maga a szöveg hossza.
5. indítasz egy for() ciklust amely a második paraméterben megadott alkalommal fut le.
5.1. a cikluson belül generálsz egy random számot a rand() függvénnyel, maximum értéke a 4. pontban meghatározott érték.
5.2. a substr() függvénnyel kivágod a random karaktert majd hozzáfűzöd a visszatérő string-hez.
6. kész, visszatérsz az új szöveges változóval.bónusz:
- típusellenőrzés a paraméterekre
- megoldható, hogy a paraméterben megadott szövegből kivedd a kiválasztott random karaktert, így az csak egyszer fordul elő, ennek feltétele viszont, hogy minden körben csökkentsd a maximum random értéket, és meg kell vizsgálni azt is hogy a szöveg hosszához képest a második paraméter ne legyen nagyobb.Jó munkát
-
DNReNTi
őstag
válasz
minimumgame #15635 üzenetére
El kellett olvasnom vagy ötször mire felfogtam pontosan mi is a feladat.
Egy kérdésem még így is maradt: Miért? Tehát mi a gyakorlati funkciója ennek?
-
DNReNTi
őstag
válasz
daninet #15579 üzenetére
Az imagecopyresampled() harmadik és negyedik paraméterével adod meg hová kerüljön a vízjel, ez most neked x 0, y a két kép magassának különbözete, tehát a bal alsó sarok. Ha középre akarod tenni akkor a következőt teszed:
$xstart = ($imgw/2) - ($wmw/2);
$ystart = ($imgh/2) - ($wmh/2);
Magyarul a nagy kép magasságának/szélességének feléből kivonod a vízjel magasságának/szélességének felét. -
DNReNTi
őstag
válasz
supercow #15571 üzenetére
Mondjuk szerintem az kidobott pénz / idő. Ez gyakorlatilag az összes webfejlesztős könyvre igaz amit valaha kézbe vettem. (Nem vettem kézbe mindent szóval biztosan van jó is.)
Ryle (#15570)
Ha megy az angol mindenképp a neten keress inkább naprakész basic tutorialokat.Többre mégy velük.
-
DNReNTi
őstag
válasz
PumpkinSeed #15539 üzenetére
Ahogy trisztan is írta: Az önmagában még nem oldja meg a problémát.
De jogos. (Ismét) nem voltam elég pontos. Javítom:
(#15537) PumpkinSeed, (#15536) Sspot egyik sem megfelelő a feladatra önmagában.(#15541) CSorBA
Fasza a karakter map. Lopom. -
DNReNTi
őstag
(#15537) PumpkinSeed, (#15536) Sspot egyik sem.
Legjobb ha írsz rá egy függvényt.
Valszeg találnál a neten ha keresnél, de most jókedvem van, bemásolom az enyémet.
Szívesen.function generateUrl($string){
if (!empty($string)) {
$CHARMAP = array('á'=>'a','Á'=>'A','é'=>'e','É'=>'E','í'=>'i','Í'=>'I','ó'=>'o','ö'=>'o','ő'=>'o','Ó'=>'O','Ö'=>'O','Ő'=>'O','ú'=>'u','ü'=>'u','ű'=>'u','Ú'=>'U','Ü'=>'U','Ű'=>'U');
$string = strtr($string, $CHARMAP);
$string = strtolower($string);
$string = preg_replace('/[^a-zA-Z0-9]/', '_', $string);
$string = preg_replace('{(_)\1+}', '$1', $string);
if (substr($string,-1) == '_') { $string = substr($string, 0, -1); }
return $string;
} else {
return false;
}
} -
DNReNTi
őstag
válasz
fordfairlane #15519 üzenetére
Érted, hogy értem.
Nem kell kiforgatni a szavaim. Ne válaszolj... tudom. Fogalmazzak pontosabban.
-
DNReNTi
őstag
Ha még nem láttátok: The Expert.
Hatalmas.Minden egyes nap, ugyan ez legalább egyszer megtörténik velem is.
-
DNReNTi
őstag
válasz
Sk8erPeter #15496 üzenetére
Igen, éppen az a program.
-
DNReNTi
őstag
válasz
csabyka666 #15479 üzenetére
Az dicséretes hogy küzdesz mint disznó a jégen, no meg mindenki kezdte valahogy, de ez nem elfogadható hozzáállás: "elsődleges cél, hogy működjön a projekt, még ha tákolással is". Pont néhány napja írtam: attól mert valami működik még nem biztos hogy jó. 5 perc alatt írok neked egy bejelentkezős form-ot, ami működik, és kell még 5 óra, hogy jó is legyen. Ha ezzel akarsz foglalkozni, mármint komolyan, mondjuk pénzt szeretnél keresni azzal hogy webalkalmazásokat készítesz, akkor ezt az "elsődleges célt" gyorsan felejtsd el.
Én úgy látom - ismét, no offense - hogy sokszor nálad alapjaiban szétcsúsznak a dolgok, úgy gondolom ennek elsősorban a kapkodás, netről összeollózás, és főleg a mindegymáncsakműködjön hozzáállás az oka. Gyakran tök alap problémákat önmagad sz*patása céljából nagyítasz fel, és ész nélkül próbálsz megoldást találni a problémára, aminek a vége: még több probléma, lásd: sütikben mysql_real_escape_string().
Attól mert nem 10 éve foglalkozol ezzel, még senki nem fog hülyének nézni, vagy leköpni mert felteszel egy kérdést, de érthető a felháborodás, mikor már a sokadik kérdés-válasz után nem fogadod el a segítséget, és ahelyett, hogy a javasolt jó úton próbálnád megoldani a feladatot, elvárod, hogy inkább rossz/hibás/elavult kód megírásában segítsenek neked.
Jó hasznát pedig akkor veszed a topiknak ha megfogadod a tanácsokat.
Ismét: no offense. -
DNReNTi
őstag
válasz
Sk8erPeter #15477 üzenetére
Na hogy végre valami érdemi dologról legyen szó.
Elkészült az adatbázis kezelő "projektem" 1.2 verziója, az észrevételek figyelembevételével. Update-ek:
- Van konfigurációs osztály, amely később minden egyéb más konfigurációs feladatot elláthat. A getDatabaseConfiguration() metódus konfig fájlból beolvassa a szükséges adatokat, majd egy tömbben tér velük vissza.
- Ennek folyománya hogy megváltozott a kapcsolatot létrehozó osztály. első kérdés lehet miért szerepel benne az ini_set();. Sajnos ha a host rosszul van megadva a try ellenére is hibákkal bombáz szét a php, így viszont nem. Ezúttal csak a megjelenítés van kikapcsolva nem a reporting, ahogy Sk8erPeter írta korábban. Ha minden jól megy egy mysqli objektumot ad vissza, ha nem, akkor kivétellel elszáll, és átmenetileg a csodás die() függvény szolgáltatását igénybe véve véget vet a futtatásnak. Erre mindenképp szeretnék valami szebb megoldást, de a try-ból nem lehet kiugrani header-el hibaoldalra.
- A legtöbb változás magát a lekérdezést kezelésért felelős osztályt érintette. Egy halom privát metódusra szedtem az ellenőrzést, valamint született egy szintén privát executeQuery() nevű metódus, ami a futtatással bezárólag elvégez minden ellenőrzést, idáig minden lekérdezés ugyan úgy fordul le. Három különböző metódusra bontottam a lekérdezéseket, azok típusainak megfelelően, egyelőre tehát van select(), insert(), update() metódus. A select() eredmény tömbbel, az update() az érintett sorok számával az insert() pedig az utolsó beillesztett id-val tér vissza.
Használata alig változott, például:
$DB = new Database();
$SQL_command = 'SELECT content FROM example WHERE id = ? AND active = ?';
$SQL_parameters = array(547,1);
try {
$result = $DB->select($SQL_command, $SQL_parameters);
} catch (Exception $e) {
echo 'ERROR : ' . $e->getMessage() . '<br>';
}Osztálybetöltés autoloader-rel van megoldva. Egyelőre úgy látom minden szuperül működik, és így az én két üveg Heinekentől csipás szememmel megfigyelve, sikerült többnyire implementálni az észrevételeiteket.
Kérdések:
- Jó e?
- Hogyan oldjam meg szépen, hogy az openConnection() metódus, hiba esetén (nem sikerül kapcsolódni az adatbázishoz), egy header()-rel adott hibaoldalra dobjon?Köszi!
-
DNReNTi
őstag
válasz
csabyka666 #15471 üzenetére
Mivel charset=utf-8 van a tartalomban és charset=iso-8859-1 a headerben. Nem is csoda hogy nem jól jelenik meg.
-
DNReNTi
őstag
válasz
csabyka666 #15466 üzenetére
Több észrevétel:
1. Hibakereséshez, írasd ki a generált sql lekérdezést, és ellenőrizd! Valszeg azért nem fut le, mert hibás lekérdezés generálódik.
2. A törléshez semmiképp sem használnék get változókat. Ügyesebb megoldás lenne a session használata, DE!!! még akkor is mindenképp ellenőrizned KELL, hogy adott elem törléséhez van e jogosultsága a felhasználónak. Ha az ellenőrzés kimarad és ráadásul url-ben átadott paraméterekkel dolgozol, annak az az eredménye, hogy minimális hozzáértéssel törölhető minden kosár tartalma. -
DNReNTi
őstag
válasz
csabyka666 #15463 üzenetére
No offense, de én itt már egy alapjaiban rossz koncepciót látok.
Ha egy termék vonalkódja módosul, egyáltalán miért sütibe kerül? Miért nem az adatbázisba egyből? Közben felmerült, hogy mi van ha később adatbázisba mented? Ismét megkérdezem: miért nem egyből? Nem látom a dolog egészét, de most ha végiggondoljuk, nem célszerűbb lenne e egyből elmenteni?Teszem azt, megváltoztatom egy termék vonalkódját, majd törlöm a sütiket. Akkor mi van?
A legfontosabb kérdés:
Mi a cél? -
DNReNTi
őstag
válasz
csabyka666 #15458 üzenetére
A kérdés szerintem arra irányul hogy minek mysql_real_escape_string() mikor nem adatbázisba mentesz?
-
DNReNTi
őstag
válasz
csabyka666 #15449 üzenetére
Vagy használj mysqli-t ha a PDO túl idegen elsőre.
Itt egy rövid leírás alap példákkal (englishül).
-
DNReNTi
őstag
válasz
Sk8erPeter #15437 üzenetére
Köszke neked is, jövök majd a v1.2-vel, ezek figyelembevételével.
-
DNReNTi
őstag
válasz
TomyLeeBoy #15434 üzenetére
Dede. Az lesz. Bocs én írtam rosszul.
-
DNReNTi
őstag
válasz
TomyLeeBoy #15432 üzenetére
Az adatbázis és a táblák Szerkezet / Structure tabján.
-
DNReNTi
őstag
válasz
TomyLeeBoy #15430 üzenetére
Csekkold le egészen biztosan mindenhol utf-8 e a karakterkódolás:
- adatbázis (táblák és mezők is !)
- a kapcsolat
- az oldalHa minden utf-8, akkor nem kéne gondnak lennie. Továbbá nézd meg azt is, hogy az adatbázisban helyesen vannak e tárolva az adatok, az is lehet a korábbi rossz kódolás miatt, eleve rosszul vannak tárolva az adatok, és az oldal maga jól írja ki.
-
DNReNTi
őstag
válasz
mallee #15416 üzenetére
Szia,
Köszi az észrevételeket!
"Ennek a helye egy config fájlban lenne és valamilyen okosság mentén kéne beadni az osztályodnak."
Igen, így is volt, de ha ez az osztály nem a root-ban hanem egy almappában kerül meghívásra akkor sajnos elhasalt, mivel nem találta a config file-t a megadott helyen. Abszolút hivatkozással működik de azt csúnyának ítéltem meg, így egyelőre maradt ez a megoldás.
Erre mi lenne a legszebb, legjobb eljárás?"Miért kezel az adatbázis osztályod error reportolást?"
Nem kezel. Az adatbázis kapcsolat létrehozása előtt ki aztán pedig bekapcsolja az error_reporting-ot, hogy hiba esetén egy szépen megformázott hiba oldalra tudja dobni a felhasználót (header()). Ha nem kapcsolnám ki, akkor maga a php dobna hibát, ami után nem menne a header, ezért van benne. Ez ebből hiányzik, mivel: 1: nincs hibaoldal, 2: teszt."Ha csak kiírsz egy üzenetet a képernyőre, attól az alkalmazásod még fut tovább"
Az előzőben benne a válasz. Élesben egy hibaoldalra dob."Mi volt ezzel az osztállyal a célod? Hány helyen és hol hívod meg?"
Ez az osztály, pontosabban ennek az egy szem statikus metódosa egy mysqli objektumot ad vissza. Meghívásra egyszer kerül, a Database osztály konstruktora példányosítja saját maga számára."Több kisebb osztályba kéne szétvágni az executeSQL-t az SQL parancs típusok alapján"
Ebben teljesen egyet értek, és így is lesz. Illetve majdnem. Úgy gondoltam egy osztály marad a lekérdezések kezelésére, csak több metódus lesz. Lesz egy private, ami ellenőrzi a lekérdezés helyességét, a paramétereket, stb, valamint query típusonként 1-1 metódus.Összességében jól értem, hogy főleg szépséghibák vannak, de a működés, és az elképzelés életképes?
Ha lesz időm ma update-elem, és jövök megint. -
DNReNTi
őstag
válasz
csabyka666 #15413 üzenetére
Felre ertetted az inicializalos mondanivalom.
Egy adatbazissal is hasznos egy init fajlba osszegyujteni a behuzando dolgokat. Fuggvenyek, adatbazis kezeles stb. De hogy valaszt adjak konkret kerdesre: eleg egyszer a file elejen adatbazis kapcsolatot nyitni.
-
DNReNTi
őstag
Ha már úgyis témánál vagyunk, feldobom egy korábbi kérdésem. Tehát készült a kezem alatt egy lekérdezéseket kezelő osztály, ami jelen formájában nagyon jól működik, de a kérdés az hogy jó is e?
A kapcsolatot kezelő osztály szkriptje.
A lekérdezéseket kezelő osztály szkriptje.
A használata:
$DB = new Database();
$SQL_command = 'SELECT user_name FORM users WHERE id = ? AND active = ?';
$SQL_parameters = array(23,1);
try {
$DB->executeSQL($SQL_command, $SQL_parameters);
} catch (Exception $e) {
echo 'ERROR : ' . $e->getMessage() . '<br>';
}Én még nem tudtam megfektetni, eddig bármilyen (select, insert, update) lekérdezést jól lekezelt, vagy hibával (jól) elszállt. Tehát a kérdés: oké hogy működik, de jó e?
-
DNReNTi
őstag
válasz
Sk8erPeter #15409 üzenetére
Az irónia lejött. Rosszul tettem fel a kérdést.
Nem úgy értettem hogy szerinted miért gáz, hanem általánosságban.
Mi szól a minta használata ellen, ilyen alapfeladat ellátása esetén mint az adatbázis kapcsolat kezelése? -
DNReNTi
őstag
válasz
csabyka666 #15404 üzenetére
Erre mondaná a volt programozás tanárom az egyetemen: működik de nem jó.
Ez egyben az is jelentette hogy meg vagy bukva, csak viccesen szeretett fogalmazni. A lényeg: amit csináltál valóban működik DE:
1. A mysql_ parancsok nyugdíjazva vannak, tehát várhatóan ki is fognak kerülni a frissebb php verziókból, ami azt jelenti, hogy ez belátható időn belül nem fog működni.
2. fordfairlane is írta, hogy az, hogy minden file elején inicializáló parancsokat raksz be nem jó. Persze működik, de önmagad szívatod vele. Ugyan az mint amit css-re írtam, egyszerűbb ha ezek egy helyen vannak és később nem 500 helyen kell módosítani. Minden inicializációval kapcsolatos include és parancs mehet egy init.php-ba, és csak az egyet include-olod.
3. Kapcsolódik az elsőhöz, kezdj el ismerkedni az OOP-vel, elsőre bár bonyolultnak tűnik, de egy mysqli vagy PDO osztály használata meghálálja magát. -
DNReNTi
őstag
válasz
Sk8erPeter #15401 üzenetére
Mért lenne gáz?
Adatbázis kapcsolat kezelésére szvsz nem igen van jobb megoldás.
-
DNReNTi
őstag
Haló,
Egy elég összetett kérdésem van. Készítettem magamnak egy lekérdezéseket kezelő osztályt mysqli-hez, amely megkönnyíti a lekérdezések használatát, valamint minden esetben (akkor is ha nem kell (igen tudom... mindig kell)) prepared statements-t használ.
Így néz ki a dolog jelenleg:
Két osztályom van, egy ami a kapcsolatot létrehozza, egy meg a lekérdezést intézi:
1. Database_Connection osztály
A kapcsolathoz szükséges privát statikus változókkal, openConnection() nevű statikus metódussal. Ez vagy hibát, vagy optimális esetben egy mysqli példányt ad vissza.
2. Database osztály
A konstruktor:
$this->_DB_Connect = Database_Connection::openConnection();
Létrehozza a kapcsolat privát példányát.
A destruktor:
$this->_DB_Connect->close();
Jelenleg egyetlen metódussal rendelkezik: executeSQL($SQL_command = NULL, $SQL_parameters = array()).
A dolog tökéletesen működik így, akár függvényeken, osztályokon belül használom, akár "simán".Egy egyszerű példa:
$DB = new Database();
$SQL_command = 'SELECT name FROM useres WHERE id = ? AND verified = ? AND active = ?';
$SQL_parameters = array(23,1,1);
try {
$DB->executeSQL($SQL_command, $SQL_parameters);
} catch (Exception $e) {
echo 'ERROR : ' . $e->getMessage() . '<br>';
}A kérdéseim:
Jó e ez a logika, a felépítés? Ha nem, akkor hogyan lehetne, jobban, szebben felépíteni? Szükség van a destruktorra? Ha nincs, ártani árt e ha marad? Érdemes e szétszedni több metódusra a lekérdezéseket? Jelenleg az executeSQL() önmagán belül felismeri milyen parancsot kapott, megfelelőek e paraméterei, ésatöbbi, ha nem elszáll kivétellel, ha minden oké akkor pedig visszatér egy tömbbel.Igen, tudom valószínűleg van már erre lib ami jobb, szebb, okosabb és mér nem azt használom. Azért mert meg akarom érteni.
Thx
-
DNReNTi
őstag
válasz
Sk8erPeter #15385 üzenetére
Úgy tanul az ember ha kérdez. Én is kérdeztem már itt baromságot, de kaptam rá választ, azóta tudom, hogyan kell. Ha senki se kérdezne hülyeséget az ilyen topikoknak nem lenne létjogosultsága. Szvsz.
Na meg egy kis off:
– Papa, miért van az elefántnak ormánya?
– Nem tudom, kisfiam.
– Papa, a zsiráf csak lombot eszik, vagy a földről is le tudja legelni a füvet?
– Nem tudom, kisfiam.
– Papa, mit eszik a gólya a békán és a legyeken kívül?
– Nem tudom, kisfiam.
A mama már unja a folytonos kérdezősködést, és rászól a gyerekre:
– Öcsike, ne nyúzd már folyton az apádat!
Mire a papa fejcsóválva:
– Csak hagyd szívecském! Úgy tanul a gyerek, ha kérdez!
Új hozzászólás Aktív témák
Hirdetés
- Eladó konfig! Ryzen 7 7800X3D 2TB SSD 64GB DDR5 RX9070XT 16GB!
- Új, makulátlan állapotú Samsung Galaxy Buds FE, fehér, fél év garancia
- Új, makulátlan állapotú Samsung Galaxy Watch7 44mm ezüst, 2 év garancia
- Új, makulátlan állapotú Samsung Z Fold 6 256GB Tengerészkék, független, 2 év garancia
- Használt TP-Link Deco M4 - AC1200 Router (Mesh-ként is használható)
- 4 év gari - magyar bill. - Lenovo ThinkPad Z13 G1 - AMD Ryzen R7 Pro 6850U, 13.3" 2.8K OGS érintő
- Huawei Nova Y90 128GB, Kártyafüggetlen, 1 Év Garanciával
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25)
- BESZÁMÍTÁS! 1TB Western Digital SN850X NVMe SSD meghajtó garanciával hibátlan működéssel
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest