Hirdetés
- Magga: PLEX: multimédia az egész lakásban
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- GoodSpeed: Egy bihari a Hajdúságban
- Gurulunk, WAZE?!
- Lalikiraly: Kinek milyen setupja van?
Új hozzászólás Aktív témák
-
DeltaPower
addikt
válasz
Sk8erPeter
#10764
üzenetére
Itt egy elegánsabb megoldás, mert már nekem is szúrta a szememet az előző tákolmányom

while ($sor = mysql_fetch_array($mysql)){
...
echo "<a class='reszletek' href='termek_reszletes.php?termekid=$id&termeknev=$nev&ar=$ar&kep=$kep&hosszu_leiras=$hosszu_leiras&rovid_leiras=$rovid_leiras'><b>tovább!</b></a>";
...
}
echo"
<script>
$(function(){
$(a.reszletek).click(function(e){
$.ajax({
url: $(this).attr('href'),
success: function(html){
$('#ajax').html(html)
}
});
e.preventDefault();
})
}
</script>
";Azt viszont nem értem, hogy a termek_reszletes.php-nek minek átadni ennyi paramétert. Egy termék id szerintem bőven elég lenne, a többit lekéred adatbázisból id alapján.
-
DeltaPower
addikt
válasz
trisztan94
#10760
üzenetére
Mert nem jó a jquery selectorod.
Így próbáld:
while ($sor = mysql_fetch_array($mysql)){
...
echo "<a class='reszletek' id='reszletek-".$id."' href='#'><b>tovább!</b></a>";
...
echo"
<script>
$(function(){
$('#reszletek-".$id."').click(function(){...})
}
</script>
";
}Tele von Zsinór megoldása szebb, de több átalakítást igényel a kódodban.
-
DeltaPower
addikt
válasz
Sk8erPeter
#10756
üzenetére
Én viszont továbbra sem értem, hogy a Hirdetés_id mit keres a hirdető táblában.
Bár lehet azóta már módosult a szerkezet a másik topicban.Btw rettentő jó hogy van php, sql, valamint php+mysql topic is, és akik nem tudnak dönteni, azok akár több helyre is beírják ugyanazt.
-
DeltaPower
addikt
válasz
trisztan94
#10644
üzenetére
ha /phpMyAdmin/index.php-ra se ad be semmit, akkor nincs directoryindexben a php
-
DeltaPower
addikt
válasz
Sk8erPeter
#10562
üzenetére
Az ini_set is gyanús, sok ingyenes tárhelyen tiltják.
-
DeltaPower
addikt
válasz
Sk8erPeter
#10533
üzenetére
Ja bocs, ezred

-
DeltaPower
addikt
-
DeltaPower
addikt
Alapbeállításban egy fájlos, kivéve ha a konfigban az innodb_files_per_table hozzá lett adva telepítés után.
Az előző kérdésem az összes adatbázisra együtt vonatkozott, ami a helyi mysql-ben van. Nálam összesen több mint 5 giga adatbázis van, és még ha nem is valamelyik nagyot, hanem egy pár táblás, majdnem üres kisebb adatbázist használok, az is eléggé lassú tud lenni. Persze ebben benne van a lassú és töredezett vinyó is.
Az egy fájlos tárolás azért lényeges, mert ilyenkor az összes innodb adatbázis egyetlen fájlban tárolódik, ami szerintem teljesítmény szempontjából nem a legjobb megoldás egy bizonyos méret felett. (sajna egy fájlosról több fájlosra áttérni elég nehézkes egy létező adatbázis esetén).Csináltam most egy gyors tesztet, teljesen egyszerű php file, csak simán felkapcsolódok egy tök üres adatbázisra. A szerveren most 21 adatbázis van, össz tárhelyfoglalás 5,98 GB.
A mysql 250-es satás, 7200-as WD vinyón, 220 gigás partíció, 500 mega szabad hely. Az InnoDB ibdata1 fájlja 220(!) fragmentben. (8G ram, x2 250, a rendszer ssd-n van, nem ezen)Ezek az idők jöttek ki:
0.0013120174407959s // saját DB layer include
0.99860501289368s // kapcsolódás saját DB layeren keresztül
0.00019001960754395s // kapcsolat lezárás DB layeren keresztül
1.0029170513153s // kapcsolódás mysql_connect()-el
7.9870223999023E-5s // kapcsolat lezárás1 másodperc körüli idő egy sima kapcsolódásra, üres adatbázishoz.
-
DeltaPower
addikt
Ha jól értem ezt, az IF első része arra vonatkozik, ha egy adott feladótól érkező üzeneteket akarsz listázni, a második része pedig a feladók listája.
Három foreach tényleg fölösleges, még ha max 2 fut is le, főleg hogy minddel végigmész az összes üzeneten.
Én ilyesmi megoldást ajánlok:
function list_messages()
{
if( $_GET['i'])
{
$messages = self::find_messages_by_sender_id($_GET['i']);
}
else
{
$messages = self::find_messages_by_users_id($_SESSION['user_id']);
$sender_list=getSenderListWithCount($_SESSION['user_id']);
}
foreach ($messages as $message) { ... }
}
function getSenderListWithCount($cimzett_id)
{
// SELECT COUNT(message_id), ... WHERE cimzett_id={$cimzett_id} GROUP BY sender_id
} -
DeltaPower
addikt
válasz
trisztan94
#10425
üzenetére
Nem kell két külön tábla.
Az első beillesztés után lekérdezed a rekord id-jét (pl mysql_insert_id()-vel) és a személyes adatok megadása után updateled ezt a rekordot. -
DeltaPower
addikt
válasz
Peter Kiss
#9899
üzenetére
Jó ez a tömör forma miatt, csak vigyázni kell a zárójelezésével ha többet ágyazunk egymásba, mert más az asszociativitása mint ahogy logikus lenne.
-
DeltaPower
addikt
válasz
Speeedfire
#9771
üzenetére
Ez a linkelt oldal is php-val dolgozik, mindössze megspórol annyi overheadet, hogy nem php-n belül vizsgálja, hogy létezik-e a vízjelezett változat a képből, hanem htaccess-ben. Ha viszont nincs vízjeles változat mentve, akkor ugyanúgy php-vel dolgozza fel.
A vízjel nélküli változat szintén egyszerűen megoldható, kell egy plusz rewriterule az eredeti képek könyvtárába, ami egy php-ra irányít, amiben le tudod csekkolni, hogy be van-e lépve az admin. Ha igen, akkor megy outputra a kép, ha nem akkor 403.
modal szerintem arra gondol, hogy feltöltésnél egy nem publikus könyvtárba rakja a képeket, onnan feldolgozza (átméretezés stb.) és a vízjelezett képeket teszi be a publikus könyvtárba, így megmaradnak az eredetik is.
-
DeltaPower
addikt
válasz
Sk8erPeter
#9760
üzenetére
Szoktak a képeket tartalmazó könyvtárba tenni egy htaccess-t, ami beérkező kérésnél átirányít egy php-ra, ami ráteszi a vízjelet a képre és kidobja outputra, vagy ha volt belőle vízjeles változat mentve, akkor azt küldi vissza. Szerintem elegánsabb, mint kép src-nek egy "img.php?id=asdfghjkl12345"-jellegűt megadni.
-
DeltaPower
addikt
válasz
Retekegér
#8053
üzenetére
http://hu.php.net/manual/en/function.mysql-connect.php
http://hu.php.net/manual/en/mysqli.construct.phpmysql_connect()-nek más a paraméterlistája, mint a mysqli_connect()-nek
így próbáld:
$dbc = mysql_connect('sql4.ultraweb.hu', 'felhasználó', 'jelszó');
mysql_select_db('adatbázis', $dbc);szerk: mysql_query()-nek és mysqli_query()-nek is más a paraméterlistája, nem elég csak a függvényneveket kicserélni.
-
DeltaPower
addikt
Lényegében az történik, amit írtál, így működnek a "változó változók".
$valami='akarmi';
$elso='valami';
// ez a két sor ugyanazt jelenti
echo $valami; // 'valami' nevű változót írja ki
echo ${$elso}; // a $elso tartalmával megegyező nevű változót írja kiA { }-ek el is hagyhatók, csak abban az esetben szükséges, ha enélkül nem egyértelmű a megadás (pl. $$tomb[0] esetén, nem mindegy, hogy a $$tomb nevű tömb 0-ik eleme, vagy a $tomb[0] tartalmával egyező nevű változó)
Az általad hozott példa, a {${alma}} viszont nem biztos, hogy működik, mivel az 'alma' konstans tartalmának megfelelő nevű változót jelenti, konstans használata pedig nem tudom, hogy megengedett-e ilyen kifejezésben.
-
DeltaPower
addikt
válasz
Louloudaki
#7961
üzenetére
Így elsőre nem látok benne hibát. Viszont ez tipikus egyszer hívandó függvény, nem lehet, hogy véletlen más (több) helyen is meghívod?
-
DeltaPower
addikt
Ezt az order-t én se értettem. Azt sem, hogy ha mindenképp year és month kell, akkor miért nem
select ..., year(1.date) as 1year ... order by 1year, ...
formában, szerintem gyorsabb mintha ordernél futtatná a dátumfüggvényeket.
Másik: SELECT *-ot csak az egyszerűség kedvéért van így, vagy tényleg minden mezőt lekérdez? -
DeltaPower
addikt
válasz
fordfairlane
#7632
üzenetére
Gondolom a register_globals a session változóra mutató referenciaként hozza létre a globálisokat.
-
DeltaPower
addikt
válasz
Speeedfire
#7612
üzenetére
...wrapper is disabled in server configuration by allow_url_fopen=0...
távoli fájlmegnyitás le van tiltva?
-
DeltaPower
addikt
Ha ugyanazon formban van, más "name" attribútumot kell neki adni, elküldés után elvileg csak az a POST mező kap értéket a kettő közül, amelyik gombra kattintasz.
"Auto commit" alatt autocomplete-et értesz, tehát a mezőkbe begépelt szöveg tárolását? Nem sok indokot ismerek, amiért érdemes lenne letiltani, ráadásul elég sok user használja.
-
DeltaPower
addikt
Sürgős segítség kellene...
Van egy tárhely, ahol a safe mode be van kapcsolva. Ha php-ból létrehozok egy könyvtárat, és ebbe próbálok írni, akkor eltérő owner id-k miatt (a script a tárhelyhez rendelt felhasználó jogaival fut, a könyvtár tulaja viszont a www-data lesz) safe mode hibát kapok. Mit lehet ezzel kezdeni?
Előre is kösz a segítséget.
-
DeltaPower
addikt
válasz
sellerbuyer
#7285
üzenetére
2-est valahogy így próbáld:
RewriteRule ^stats/index([0-9]*).ht(m?ml?)$ stats/index.html [R,L]szerk: nem biztos hogy jó, emlékezetből írtam
-
DeltaPower
addikt
válasz
Brown ügynök
#7165
üzenetére
a listázós scriptedre nem kapsz safe_mode vagy open_basedir warningot?
-
DeltaPower
addikt
válasz
Brown ügynök
#7163
üzenetére
nem hiszem, hogy a hivatkozást rontod el. lehet, hogy a konfig alapból nem engedi ki a scripteket a public_html-ből
-
DeltaPower
addikt
válasz
Speeedfire
#7106
üzenetére
igen, mivel az első változatban a 7. sorban még
$lekerdez = mysql_query($lekerdez);
szerepelt, ami resource és a 9. sorban induló while ciklus használta
while($row = mysql_fetch_assoc($lekerdez)) {
viszont a 61. sorban a cikluson belül(!) felüldefiniáltad, amit csak különleges esetekben szoktunk csinálni
-
DeltaPower
addikt
válasz
Speeedfire
#7097
üzenetére
61-es sorban felüldefiniálod a $lekerdez-t.
-
DeltaPower
addikt
válasz
Brown ügynök
#6977
üzenetére
headerbe:
<base url="tedomained.com" />
elvileg megoldja -
DeltaPower
addikt
válasz
Brown ügynök
#6975
üzenetére
rel="stylesheet" nem hiányzik véletlen?
-
DeltaPower
addikt
szerintem ennél jobb megoldás, ha erősen hashelt-sózott jelszót mentesz sessionba és minden lapkérésnél ellenőrzöd a jogosultságot.
adatbázishoz minden querynél új kapcsolatot nyitsz és a futása után lezárod? -
DeltaPower
addikt
ez így nem jó. capcha kódot szöveges formátumban nem küldjük ki, te viszont beteszed egy hidden inputba, ami string függvényekkel feldolgozható. capchának az lényege, hogy a kód csak kép formában megy ki a szerverről.
egy megfelelő módszer például az, hogy lemented sessionba a capcha kódot, és a form elküldése után onnan hasonlítod össze a formban kapott kóddal.Forza_JUVE: a securimage faq-jában (http://www.phpcaptcha.org/faq/) olvasd el a "The image appears but there is no text on the image." részt.
(bocs hogy nem tudtam linkelni de épp kinyírtam a js interpretert
) -
DeltaPower
addikt
válasz
Alukard
#6879
üzenetére
ebben az esetben felesleges felbontani típus alapján 11 táblára.
általánosan elmondható, hogy minden olyan mezőt indexelni kell, ami joinban vagy feltételben szerepel. kihagyott indexelés miatt nagy (1000+ soros) táblák joinolásánál, keresésénél több nagyságrenddel emelkedhet egy query ideje -
DeltaPower
addikt
válasz
Speeedfire
#6421
üzenetére
bocs, előbb rosszul értelmeztem a hibaüzenetet. nem kell bele az "abstract"
-
DeltaPower
addikt
válasz
Speeedfire
#6419
üzenetére
ha jól értem, akkor kell a public/private/stb az interface-ben levő függvényeknek is
-
DeltaPower
addikt
válasz
Siriusb
#6321
üzenetére
kb ez a különbség, amit írtál.
bind_result kódtömörítésre hasznos, pl egy objektum értékeinek feltöltésénél ehelyett$tomb=mysql_fetch_array($qry);
$this->valtozo1=$tomb[0];
$this->valtozo2=$tomb[1];
$this->valtozo3=$tomb[2];ennyit írsz:
mysqli_stmt_bind_result($qry, $this->valtozo1, $this->valtozo2, $this->valtozo3);
-
DeltaPower
addikt
válasz
TomyLeeBoy
#6251
üzenetére
amit írtál, ez is egy használható szintaxis, viszont kódszerkesztőkben a szintaxis kiemelés nem ismeri fel az idézőjelen belül használt változókat
auto increment mezőnél fölösleges megadni az üres értéket
-
DeltaPower
addikt
válasz
Speeedfire
#6053
üzenetére
egész jó, ezt még nem is ismertem, kösz

-
DeltaPower
addikt
válasz
Speeedfire
#6051
üzenetére
js tömörítés nem mondható kódolásnak, egyszerűen egy erre kitalált progival a függvényneveket, változóneveket stb pár betűs rövidítésekre cserélik. ennek az eredménye egy szabályos, de olvashatatlan kód.
"deobfuscator" nevű programot/plugint keress, azok olvashatóbbá teszik. pl firefox addon -
DeltaPower
addikt
itt van egy csomó apache+php csomag: [link]
ez a xamp-al tipikus eset: ha nem tudod használni, tanuld meg. tökmindegy milyen szervercsomagot telepítesz, ha nem tudod beállítani.
ha "másnál megy nálam nem". akkor kérd el "mástól" azt a xamp telepítőt, amit ő használ.
-
DeltaPower
addikt
válasz
TomyLeeBoy
#5638
üzenetére
ahogy Von Zsinór kolléga is mondta, megnyitod a bejelentkezést böngészőben, átmész forráskód nézetre, kimásolod a formot, beilleszted az új helyre, és a form action paraméterét be- vagy átírod, hogy a webmail indexre mutasson.
-
DeltaPower
addikt
válasz
TomyLeeBoy
#5629
üzenetére
webmail belépési formját átmásolod a főoldalba és target-nek megadod a webmail indexet, vagy aminek a webmail belépés postol, persze elérési úttal együtt.
-
DeltaPower
addikt
válasz
spammer
#5577
üzenetére
változót megfelelő szűrés nélkül fájlműveletre használni nagyon kockázatos.
a te példádban, megadom a mezőben hogy "../index.php" így szépen be fogja olvasni az index.php-dat.
az alkönyvtár és a txt kiterjesztés használata már egy fokkal jobb, de így is fontos lenne az említett fájlrendszer specifikus karaktereket kiszűrni a változóból. esetleg a lehetséges neveket letárolni egy külön txt-ben, és ha abban nem szerepel a név, akkor el se kezdeni a beolvasást. -
DeltaPower
addikt
ha jól emlékszem, FF 3.6.4-ben jött be a külön szálas flash player futtatás. egyből jött is vele a szopás, az egyik oldalunkban a flashvars/get paramétereket ugyanis random nem adta át a flash movie-nak (!!!). ha kikapcsoltam a külön szálon futtatást, akkor viszont jó volt. azóta nem próbáltam még, hogy javították-e.
-
DeltaPower
addikt
-
DeltaPower
addikt
válasz
Speeedfire
#5222
üzenetére
http://www.dreamhost.com/
mi most ezt próbáltuk ki és elég jó. -
DeltaPower
addikt
válasz
Speeedfire
#5218
üzenetére
igen, csak idézőjelbe kell tenni a színeket
-
DeltaPower
addikt
válasz
Speeedfire
#5213
üzenetére
filemtime()
(ha távoli tartalom módosítási dátumát akarod lekérdezni, a user kommentek közt vannak rá példa scriptek)fájlneveket (elérési úttal, url-el stb) és dátumokat letárolod adatbázisba és azzal hasonlítod össze fájl dátum lekérés után.
-
DeltaPower
addikt
válasz
Speeedfire
#5139
üzenetére
mysqldump, vagy phpmyadminnal lemented. phpben megírni elég jó meló, bár meg lehet csinálni azt is, hogy simán csv-be lemented
-
DeltaPower
addikt
headeres hibák ellen, fájl legelejejére, a session_start() után tehetsz egy ob_start()-ot
-
DeltaPower
addikt
válasz
bena_butus
#5055
üzenetére
mert akkor az mktime dokumentációja alapján 3 lesz az év paraméter értéke, így 2003-al számol az mktime
-
DeltaPower
addikt
válasz
Speeedfire
#5017
üzenetére
-
DeltaPower
addikt
válasz
Speeedfire
#5000
üzenetére
includenél nem adunk át GET változót!

beállítod pl. hogy $pont=5; includolod a fájlt, és látni fogja a változót. -
DeltaPower
addikt
válasz
Speeedfire
#4894
üzenetére
unset($_POST['hibas_mezo_neve']);
-
DeltaPower
addikt
válasz
Speeedfire
#4885
üzenetére
alapvetően meg kellene cserélned a form kiíratását és a küldött adatok ellenőrzését, az ellenőrzés legyen előbb. így ha hiba van, akkor a form elemeknél vissza tudod írni a value-be a küldött értékeket, ha pedig nincs, akkor ki se kell íratni a formot.
(szerk) így a hibákat is a form elé tudod íratni.(megjegyzés: capchába nem szoktuk visszaírni a hibás értéket.) -
DeltaPower
addikt
válasz
Speeedfire
#4811
üzenetére
úgy az elegáns, ha mondjuk 60 karakter hosszú szöveget akarsz kiíratni, hogy megkeresed a 60-as limit előtti utolsó szóközt és ott vágod el. így nem lesznek fél szavak a végén.
-
DeltaPower
addikt
válasz
Speeedfire
#4759
üzenetére
bekuld-kat.php
kezdolap.php
login.php
reg_check.php
register.php
tartalom.php
vedett.phpezek nem utf8 kódolásúak. attól hogy headerben kiküldöd az utf8-at, maga a fájl még iso(ansi) marad, iso karakterekkel.
-
DeltaPower
addikt
válasz
Speeedfire
#4659
üzenetére
-
DeltaPower
addikt
ha határideje van az aukciónak, akkor érdemes időzített feldolgozást csinálni, és pl. lezárás után egyből mehetnek ki az értesítő mailek a nyerteseknek stb.
az adatbázis meg azért van, hogy 10-100ezer rekordot kezeljen. naponta 1x fut le úgyis. -
DeltaPower
addikt
válasz
Sk8erPeter
#4524
üzenetére
a !isset-nél és üresnél is ugyanoda ment a forward, ezért dobtam ki az issetet, mivel a trim nem létező változónál szintén üres stringet ad vissza (max dob mellé egy noticet). így a feltétel végeredményben ugyanaz, viszont spóroltunk kb 50 byte kódot

-
DeltaPower
addikt
válasz
PowerBuldog
#4522
üzenetére
ha nincs register_globals, akkor a $_POST['acc'] és a $acc nem ugyanaz, az előbbiben ott lesz az adat, de az utóbbiban nem.
továbbá az első feltétel fölöslegessé teszi a másodikat, amennyiben nem akarsz mezőfüggő hibaüzenetet kiíratni
<?phprequire_once("install.php");
if ( trim($_POST['acc']) == "" || trim($_POST['jelszo']) == "" ) {
header('Location: reglap.php');
}
elseif (isset($_POST['acc']) && isset($_POST['jelszo'])) {require_once("muveletek.php");
}
?>
Új hozzászólás Aktív témák
- Xiaomi Redmi 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Razer DeathAdder V2 X HyperSpeed gamer egér + 8000Hz HyperPolling Dongle, Esport szett,6hó garancia!
- Xiaomi 14 512GB, Kártyafüggetlen, 1 Év Garanciával
- Xiaomi Redmi Note 14 Pro+ 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Logitech MX Keys S prémium vezetéknélküli Mac/Windows billentyűzet, újszerű, 1 év garanciával!
- Intel Core i9 12900K 16mag/24 szál BOX új, bontatlan processzor garanciával!
- Acer TravelMate P214 i3-1115G4 12GB 256GB 14" FHD 1év garancia
- GYÖNYÖRŰ iPhone 11 Pro 64GB Space Grey-1 ÉV GARANCIA - Kártyafüggetlen, MS3668
- LG 32UN880P - 32" IPS ERGO / 4K UHD / 60Hz 5ms / DisplayHDR 400 / USB Type-C / AMD FreeSync
- ÚJ Microsoft Surface Laptop 7 13.8" 2K - 120Hz Érintő - Snapdragon X Elite - 16GB - 512GB-2 év gari
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest

Bár lehet azóta már módosult a szerkezet a másik topicban.

)
nem lenne egyszerűbb egy file_get_contents vagy hasonló?


