Rendben, köszönöm!
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [ubyegon2:] Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [btz:] Internet fejlesztés országosan!
- [Re:] [fatpingvin:] Thinkpad X230 mint asztali gép, mi van a bővítőkártyákkal?
- [Re:] [Szevam:] Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] Spyra: akkus, nagynyomású, automata vízipuska
- [Re:] [sziku69:] Szólánc.
- [Re:] [bambano:] Bambanő háza tája
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Hozzászólások
PiXeL90
csendes tag
Lacces
őstag
De megvárhatod a többieket is hátha mondanak valami egyszerűbbet, én ritkán nézek már be ide... és ők jobban képben vannak, hogy mit szeretnél
Frigo
őstag
trisztan94
őstag
Végre
https://heureka-kreativ.hu
Sk8erPeter
nagyúr
Pár tanács:
A functionöket nem egy hatalmas if-be kellene raknod. El kellene kerülnöd a teljesen olvashatatlan kód írását, például az $a, $b, $c, $d, $f, $szv, $sz1 és hasonló, külső olvasó számára teljesen értelmezhetetlen változónevek használatát (ilyenekkel tele van a kódod). Meg a helyesírási hibákat, ha már magyarul kódolsz lásd $oszessen Meg a CSS-kódban a style1, style2, style3, stb. class-ok használatát. HTML-kódnál az #urlap azonosító sem túl kifejező - milyen űrlap? Mire szolgál az az űrlap? Hidd el, sokkal jobban jársz hosszú távon, ha inkább jó hosszú, de értelmezhető neveket adsz mindennek, ami a kódodban van, neked is sokkal jobb lesz hosszú távon, mert később is átlátod a kódodat, meg külső szemlélő számára is valamennyire olvasható marad. Ne vedd magadra, nekem is szóltak és szólnak, ha gányoltam/gányolok.
(Meg javaslat, hogy futtasd át a HTML-kimeneteden a w3c validátorát: http://validator.w3.org/#validate_by_input)
Plusz kapcsold be fejlesztés idejéig a legmagasabb szintű hibajelzést (pl. kódod elejére
error_reporting(E_ALL|E_STRICT);
), és akkor már az elején kiszűrhetsz jópár hibalehetőséget.
Azt írtad, az a gáz, hogy a submit1 elnevezésű gombot kétszer kell elküldeni. Nem futtattam le a kódodat, úgyhogy nem tudom, mit kellene csinálnia, de gondolom összegeznie, hogy hány darabot akar rendelni a vevőd a nem tudom micsodából. Mi az oka, hogy a nagy if-en belül a $_SESSION['select2'] változót használod, miért nem a $_POST tömböt? A sok-sok case is elég durva (gondolj bele, mi lenne, ha 1000 darabot lehetne rendelni a termékedből, akkor 1000 db case-t csinálnál?), így aztán már annyira nem volt kedvem kibogarászni, hogy mit csinálsz vele, de ami feltűnt, hogy miért jó, hogy így állítod be a session-változódat:
$_SESSION['select2'] = strip_tags($_POST['select2']);
mire lesz jó neked ez a strip_tags, ha tömbszerűen akarsz végigmenni rajta, azzal a for ciklussal? Sőt, kettő ilyen for ciklusod is van, azt sem értem, minek.
Sk8erPeter
Sk8erPeter
nagyúr
Hát már bőven ráfért egy vérfrissítés. Mondjuk azért ennél szebb változásra számítottam.
Sk8erPeter
PiXeL90
csendes tag
Szia!
A változók azért olyanok mert több function függvénybe is ugyanolyan nevü változót használtam és azt hittem azért nem számolja végig és megváltoztattam, hogy kipróbáljam de így se lett jó de már nem változtattam meg utána.
A switch függvényt kerekítésre használtam egyszer cm majd pénz kerekítésre.
A for ciklus-ok azért kellenek mert 2 form van amit ugyanúgy kell listáznia.
Azért köszi a segítséget!
trisztan94
őstag
A form listázáshoz nem kell for ciklus
Később átbogarászom, megpróbálom megnézni mit szerettél volna elérni
https://heureka-kreativ.hu
Sk8erPeter
nagyúr
Most azt akartad bizonyítani, hogy valójában jól csináltad?
A strip_tags-re nem reagáltál, hogy miért jó az neked
Sk8erPeter
PiXeL90
csendes tag
Nem csak elmeséltem, hogy miért abc betűi a változók a strip_tags-et csak véletlenül hagytam benne az lehet, hogy amiatt nem müködik a számolás?
Sk8erPeter
nagyúr
Az könnyen lehet, de itt igazából értelme sincsen.
Sk8erPeter
Lacces
őstag
Meg szerintem használj nyugodtan explicit konvertálást a változókra. pl: (int)termekarak * 10
Egyrészt olvashatóbb a kód, másrészt "biztonságosabb"
fordfairlane
veterán
Hát én meg nem javallom az explicit típuskonverziót. A felhasználói adatokat validálni kell, és aztán vagy hibajelzést kell csinálni, ha megengedett a hibás adatok bevitele, vagy exceptiont kell dobni, ha ez nem lehetséges rossz szándék nélkül.
x gon' give it to ya
Sk8erPeter
nagyúr
Szerintem ahol már számolni kell vele, ott nem szabadna ilyet, ott eleve a megfelelő típusra castolva kellene lennie, már validálás után.
fordfairlane megelőzött.
[ Szerkesztve ]
Sk8erPeter
weiss
addikt
Sziasztok, nem tudom, hogy ez PHP vagy inkább Apache kérdés-e, de azért felteszem. Szeretnék egy adatbázisba fájlokat feltölteni, és a kód már készen is van,működnie is kellene, de ilyen hibát kapok:
Warning: fopen(): open_basedir restriction in effect. File(/tmp/phpvGDBko) is not within the allowed path(s): (/var/www/users/weiss/) in /var/www/users/weiss/************* on line 20 Warning: fopen(/tmp/phpvGDBko): failed to open stream: Operation not permitted in /var/www/users/weiss/************** on line 20 Warning: fread() expects parameter 1 to be resource, boolean given in /var/www/users/weiss/*************** on line 21 Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/users/weiss/********************* on line 23 /tmp/phpvGDBko
Állítólag ez azért van, mert a TMP-be nincs hozzáférésem, ami igaz is. Be lehet ezt valahogy állítani, hogy én határozzam meg a TMP könyvtárat. A fő gond az, hogy ez egy egyetemi cucc, csak FTP meg PHPmyadmin hozzáférésem van. Adminok nem igazán segítőkészek.
upload_tmp_dir no value no value
[ Szerkesztve ]
I did nothing, the pavement was his enemy!
Lacces
őstag
Inkább a rövid verziót írom le.
Igazatok van, művelet előtt be castolni jobb, lehet látni az értéket.
Elő validálás kell, de nem biztos, hogy tud valaki olyan hejde szuper módon validálni.
Bár én ettől függetlenül használni fogom, ha mégegyszer olyan a szitu . Egészségemre.
Lacces
őstag
Weiss, nem látjuk a kódot!
Esetleg ez alapján találsz valami megoldást... Ez a realpath() talán segít.
Bár én nem tom, találtam olyan leírást is ahol valaki azt írta, hogy httpd.conf-os beállítás kellett...
Ezzel kerestem a guglin
[ Szerkesztve ]
weiss
addikt
Nem raktam kódot, mert elég egyszerű, de pótolom. Itt az érdemi rész, ezen hasal el:
$fp = fopen($tmpName, 'r');
$content = fread($fp, $fileSize);
$content = addslashes($content);
fclose($fp);
A httpd.conf-fal meg csak az a baj, hogy tudtommal restartolni kell hozzá az apacsot, ami nálam nem járható.
I did nothing, the pavement was his enemy!
fordfairlane
veterán
"becastolni", meg "nem tudni hejde módon validálni", ezeknek semmi értelmét nem látom. A böngésző által küldött adatokon típusellenőrzést kell végezni, nem pedig típuskonverziót.
x gon' give it to ya
DeltaPower
őstag
Próbáld meg először move_uploaded_file()-al átmozgatni egy általad írható könyvtárba, aztán jöhet az fopen. Ha így is open_basedir-be futsz, akkor rendszergarázdák zaklatása a következő lépés.
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
weiss
addikt
Meglepetésemre időközben az admin beállította a hozzáférést, úgyhogy nem kell trükközni. Kössz a segítséget!
I did nothing, the pavement was his enemy!
Soak
veterán
Azért ez tetszett : http://ideone.com/kaImZ6
Sk8erPeter
nagyúr
3 egyenlőségjel használata esetén nem fogja kiírni.
Bővebben:
http://php.net/manual/en/language.operators.comparison.php
If you compare a number with a string or the comparison involves numerical strings, then each string is converted to a number and the comparison performed numerically. These rules also apply to the switch statement. The type conversion does not take place when the comparison is === or !== as this involves comparing the type as well as the value.
<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true
switch ("a") {
case 0:
echo "0";
break;
case "a": // never reached because "a" is already matched with 0
echo "a";
break;
}
[ Szerkesztve ]
Sk8erPeter
Soak
veterán
Tudom, azt is tudom mi okozza, de attól még érdekes
Sk8erPeter
nagyúr
Jahh, azt hittem, most találkoztál vele először. Mondjuk ja, az para, ha nulla szőke van a környéken.
Sk8erPeter
PiXeL90
csendes tag
Sziasztok!
Kipróbáltam egy egyszerűbb kóddal de ugyan azt a műveletet de sajnos ígysem jó!
A kód itt található meg a 2 eredményt magátol számolja de az utolsót(a kivonást) azt nem jól számolja az összeadás eredményét 0-nak veszi.
A kérdés az, hogy hogy lehetne megoldani, hogy jó legyen?
Segítségeteket előre is köszi!
[ Szerkesztve ]
fordfairlane
veterán
Mert nem az összeadás eredményét használod a kivonásnál. Az összeadás értéke beíródik egy input mezőbe, amit megkap a böngésző, de addig nem csinál vele semmit, míg megint nem nyomsz egy submitet. A következő submitnál érkezik meg a $_POST['osszeadas_eredmeny'] nevű paraméterben.
[ Szerkesztve ]
x gon' give it to ya
PiXeL90
csendes tag
Igen, ezt értem arra gondoltam, hogy lehetne úgy hogy egy változóba elmentem az egész műveletet persze ebbe mindent kicserélek arra a változóra amire kell majd azt a változót amibe elmentettem az egész műveletet belerakom a value értékhez.
PiXeL90
csendes tag
Megnéztem az se jó, valahogy megtudom csinálni, hogy egyszerre számolja ki?
fordfairlane
veterán
Van egy összeadásod és egy kivonásod, ami az előtte levő összeadásod eredményét használja fel. Először elvégzed az összeadást, letárolod egy változóba, majd kivonásánál ebben a változóban levő értéket használod fel. A változók pont ezért vannak.
$osszeadas_eredmeny = osszead( $parameter1, $parameter2 );
...
echo $osszeadas_eredmeny;
...
echo kivonas( $parameter3, $osszeadas eredmeny );
x gon' give it to ya
PiXeL90
csendes tag
Nagyon szépen köszönöm!
Müködik!
Sziasztok!
Van egy objektumom, amivel "a nem létező" metódusokat elkapom a __call mágikus metódus segítségével. Hogyan tudnám ezt átpasszolni egy másik objektumnak?
Gondolok itt erre:
public function __call($name, $arguments)
{
$this->object->__call ????????
}
Köszi!
mobal,
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
Sk8erPeter
nagyúr
Gondolom a $this->object->__call($name, $arguments); nem működik Elég okádék Inkább OFF-ba rakom, mi a valódi cél?
[ Szerkesztve ]
Sk8erPeter
Nem. "Call to undefined method" hibaüzenetet kapok. Lehet viszont, hogy más lesz a gond.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
Sk8erPeter
nagyúr
Inkább azt írd le, mit akarsz ezzel elérni!
Sk8erPeter
Csúnya módon szeretnék írni egy kohana modult ehhez: [link]. Lényegében a metódusait hívogatnám, a keretrendszerhez illő módon. Ezt viszont nem tudom hogyan lehetne megoldani.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
public function __call($name, $arguments) {
call_user_func_array(array($this->object, $name), $arguments);
}
A __call($name, $args) nincs "implementálva" alapból egyik osztályban sem.
Swifty
csendes tag
Persze
Erre egy szép scream-mel válaszol a php. Holnap lövök pontos infókat róla.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
Egy kérdés: az fwrite függvény mennyire erőforrás igényes? Mondjuk 50-100mb-nyi string esetén..? Meg általánosságban a fájlba írás mennyire terheli a szervert?
cucka
addikt
Erre milyen számszerű választ vársz? Vagy milyen alternatívára gondolsz? A file-okon kívül milyen más módon tudsz akármilyen adatot tárolni egy szerveren?
Az egy értelmes kérdés lenne, hogy a nagy mennyiségű adatot milyen módon tárold (sima file, sql, nosql), vagy hogy hogyan oldd meg, hogy ne kelljen 50-100 mb adatot a memóriában tárolni ahhoz, hogy kiírd.
Amit kérdeztél, az kb. olyan, mint ha megkérdeznéd, hogy a http protokoll megfelelő-e weboldalak kiszolgálásához.
[ Szerkesztve ]
fordfairlane
veterán
A fájlműveletek sebessége a háttértártól függ. SSD-n tök gyors.
x gon' give it to ya
Dave-11
tag
Fúh tudom hogy megőrítelek titeket ezzel, meg hogy már nem tudom hanyadjára kérdezem, de muszáj vagyok megint. Karakterkódolás
Szóval: van nekem egy WAMP Server telepítve (Win7-es 64bites oprendszerre) az itthoni gépemre. Létrehozok benne egy adatbázist, és a bemenő kimenő adatok karaktereit egyszerűen nem bírja megjeleníteni.
1. Van egy .php fájl, a fájl legelején csatlakozik az adatbázishoz, aztán van egy header("Content-Type: text/html; charset=utf-8"); rész, illetve a <head> részben van még egy <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> , a dokumentumot pedig UTF-8 BOM nélkül mentem. Egy egyszerű ürlap van benne, beírom mondjuk a név mezőbe hogy Dávid, és a MySQL táblában már ezt látom: Dávid . Egyébként az adatbázis illesztése utf8_general_ci.
2. Létrehozok egy új adatbázist, utf8_general_ci, és mikor ott a phpmyadminban szúrok be adatot, nem neged ő és ű betűt az alábbi hibával: Warning: #1366 Incorrect string value...
:D Semmi :D
Dave-11
tag
Úh ezer bocsánat, közben pár kérdésre megtaláltam a választ, de ha mégis lenne valami tanácsotok ahhoz amit leírtam, akkor kérlek írjatok
Viszont az még továbbra is fennáll egy dolog: mikor adatot viszek fel az adatbázisba, ott ugyan fura karakterekkel jelenik meg, de mikor egy lekérdezéssel kiíratom őket egy php dokumentumban, ott normálisan jelenik meg. Ez baj kéne hogy legyen? Nektek is így van, vagy nektek normálisan megjeleníti az adatbázisban?
:D Semmi :D
Tele von Zsinór
őstag
A php-mysql kapcsolatod kódolása is utf8? Az oldaladon megjelenik jól, de phpmyadminban nem jellegű hibákat ennek hiánya okozza.
Dave-11
tag
Hú hát azt hol tudom beállítani? Az biztos hogy itt phpmyadminban minden adatbázis és tábla illesztése utf8_general_ci, én csak ennyit állítottam.
:D Semmi :D
#68216320
törölt tag
Urak, egy gyors kérdés.
Már nem emlékszem milyen függvénnyel tudtam megoldani, hogy tömbelemek felsorolásakor (foreach) az elemek közé be tudjak szúrni egy elválasztó tagot. Sem elé, sem mögé.
Mysql kéréshez érkeznek $_POST[] tömbben szűkítések és közéjük kellene AND tag.
Tele von Zsinór:
erre gondoltál?
$mysqli->query("SET NAMES 'utf8'");
[ Szerkesztve ]
DeltaPower
őstag
nem foreach kell, hanem $string=implode(" AND ", $tomb)
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
#68216320
törölt tag
Igen, ez az. Rég csináltam, köszönöm;
Mai Hardverapró hirdetések
prémium kategóriában
- Gigabyte B450M DS3H + Ryzen 7 2700X alaplap+processzor (nem ad képet)
- Eladó gamer PC (Ryzen 5 7600X/16GB DDR5/512GB SSD/RTX 4070 Super)
- Eladó gamer PC (i5-6500/16GB DDR4/120GB SSD+320GB HDD/GTX 1050Ti)
- Eladó új gamer PC (i5-12400F/16GB DDR4/512GB SSD/RX 7600)
- Eladó gamer PC (i5-8500/16GB DDR4/256GB SSD+500GB HDD/GTX 1650 4GB)