- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- iPhone topik
- Szerkesztett és makrofotók mobillal
- 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
- Ingyen beszerezhető pár SEGA klasszikus mielőtt lekerülnek a Play Áruházból
- Motorola Moto Tag - nyomom, követ
Új hozzászólás Aktív témák
-
Speeedfire
félisten
válasz
Tele von Zsinór #4808 üzenetére
nem is gondoltam a betűszámolásra
köszi -
PazsitZ
addikt
válasz
Tele von Zsinór #4808 üzenetére
UTF-8 esetén szerencsésebb az multibyte-os társait használni: mb_streln és mb_subsrt
-
tgabi333
aktív tag
válasz
Tele von Zsinór #4800 üzenetére
Jó, igen, van fordítás, de ez csak később alakult ki, alapvetőleg a php egy szkriptnyelv. A felfogása, a kialakítása ilyen. Ne hasonlítsd össze egy ténylegesen fordított nyelvvel - pl C/C++ - ahol is a require-höz hasonló funkció csak előfordítói tevékenység. Ilyen nincs és nem is lesz a PHP-ben, az hogy mi történik a motorháztető alatt az interpreter íróinak a dolga.
Csak azért szerettelek volna kijavítani, hogy nehogy valakiben megmaradjon az a gondolat, hogy a "fordítás" elején bekerül a forráskód.
Egyszerű a php felépítése, minden akkor történik amikor odaér a futtatás. (tisztelet a csekély kivételnek) Nincs más fordításhoz hasonló jelenség.
ui: require_once-ok használata általában kódok elején szokás. Azonban nagyban javíthatja a feldolgozás sebességét ha a megfelelő helyen történik a használata, általában valamilyen könyvtári osztály/függvénykészlet betöltésekor javít sokat, emellett persze a kódban még erre is figyelni kell, bonyolítja a kódolást / nehezíti a szép kódot. Ennek a megkönnyítésére találták ki PHP5-ben az autoload-ot. De persze egy olyan kódnál amiben a kihívás az, hogy megfelelően használjuk a require-t meg az incude-ot, ott emlegetni sem érdemes
-
tgabi333
aktív tag
válasz
Tele von Zsinór #4792 üzenetére
Hagy javítsalak ki:
hogy a fordítás elején berakja az
Ugye ez futtatás szeretett volna lenni, olyan mint klasszikus fordítás a php-ben nincs, interpretált nyelv, de ne vesszünk el a részletekben.
A require és az include között a fontos különbség, hogy a require a fordítás elején húzza be (ezért az error), az include csak akkor, amikor odaér a futtatás (ezért csak warningot dob),
Ez nem igaz, mindkét hívás, az include és a require is nyelvi szempontból nem több mint egy utasítás. Akkor történik a paraméterben adott fájl feldolgozása amikor az interpreter odaér. Nincs olyan, hogy fordítási idő meg futtatási idő. Valamit keversz.
A Require és az Include között pedig az a különbség, hogy ha nem tudja feldolgozni a megadott fájlt akkor hibát vagy figyelmezetést vált-e ki.
-
Speeedfire
félisten
válasz
Tele von Zsinór #4795 üzenetére
igazad van, de ez olyan kicsi project, hogy nincs értelme szerintem, de lehet ha mindent megoldottam és úgy érzem jó már az oldal akkor "tömörítem" a kódokat
beraktam az egyik fájlba próba képen a require_one függvény és dobja a notice-t
Notice: A session had already been started - ignoring session_start() in C:\wamp\www\design\config.php on line 2
<?php
//elindítjuk a session
session_start();
//adatbázis csatlakozásához az adatok
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "link";
//csatlakozás az adatbázishoz
mysql_connect($dbhost,$dbuser,$dbpass);
$con = mysql_connect($dbhost,$dbuser,$dbpass);
//kiválasztjuk a táblát
mysql_select_db($dbname);
$sel = mysql_select_db($dbname);
//ha nem tudunk csatlakozni akkor dobunk egy hiba üzit
if (!$con) {
die('Could not connect: ' . mysql_error());
}
?>és ez van abban a fájlban amiben meghívom:
require_once 'config.php' ;
-
Speeedfire
félisten
válasz
Tele von Zsinór #4792 üzenetére
nah igen, ilyen érdekelt, ahogy ami megézni h elindult-e már a session_start(); vagy sem
jól van akkor ezt majd mindenféleképpen megcsinálomennyire nem akarom bonyolítani, inkább csinálok neki egy új lapot, elfér és szerencsére nem több 100 soros még így sem a file, szóval nem para
kicsit nehezen jöttem rá erre a get megoldásra, holott annyira kézenfekvő a használata -
Speeedfire
félisten
válasz
Tele von Zsinór #4788 üzenetére
a csatlakozás adatai mint pl adatbázis neve, server címe stb
egy config fájlban van benne (ami includolva van), de csak ennyit tartalmaz, az adatbázis csatlakozást azt a fájlban végzem elennek a require_once-nak meg utána nézek, hogy is működik pontosan
Sk8erPeter: fentebb írtam, hogy hol a hiba és mire panaszkodikmásik kérdés: van egy oldal amibe egy adatbázis táblájából kinyerem az adatokat, konkrétan egy adatot ami egy kategoria név, ebből több is van
azt szeretném megoldani (ezt már korábban kérdeztem, csak még mindig nem tiszta), hogy ha a listázott kategoria nevére kattintok akkor azokat az adatokat listázza a tartalom táblából ahol a kategoria nevek megegyeznek a listázott névvel
nem tudom mennyire voltam érthető
valahogy nem tudok rájönni, ha jól sejtem akkor gettel kellene megadni h melyik kategoriáról van szó és egy különálló php fájlt kellene csinálni ahol megcsinálni az adatbázis lekérdezést a gettel átadott paraméterrel -
Speeedfire
félisten
válasz
Tele von Zsinór #4782 üzenetére
az érdekes az hogy a formba rakja bele a captcha.php a képet és abban benne van a $_SESSION['captcha']
szóval nem értemamúgy a session_start();-al kapcsolatban, hol érdemes bele rakni az oldalra mert ugye ha már elindult akkor dobja a notice-t, viszont a legtöbb oldal nekem küldön php-ban van (biztonsági kérdés ?!)
vagy van valami amivel meglehet ezt oldani?pl:
if (empty(session_start()))=0 {
echo "session_start();"nem tudom mi lenne a jó megoldás
-
Speeedfire
félisten
válasz
Tele von Zsinór #4758 üzenetére
a forrás fájlok itt vannak
mindenhol megvan adva h utf-8 -
Frigo
őstag
válasz
Tele von Zsinór #4693 üzenetére
Ez működik de sajna ez se mutatja ,hogy a prepared statement-ek milyen értéket kaptak.
-
Speeedfire
félisten
válasz
Tele von Zsinór #4671 üzenetére
akkor jól sejtettem
-
Speeedfire
félisten
válasz
Tele von Zsinór #4654 üzenetére
köszi, de közben találtam kész megoldást
[link] -
Alex91
félisten
válasz
Tele von Zsinór #4632 üzenetére
Valami jogosultsagi vagy php beallitasi gond nem lehet? Nem altalam irt progi, csak telepiteni probaltam. (elvileg mukodik valoszinuleg
.)
-
tildy
nagyúr
válasz
Tele von Zsinór #4608 üzenetére
Ertem.
Amugy a quoteos mokaval meg mindig szenvedek:
function convert_smart_quotes($string)
{
$quotes = array("'", "\"", "´", "’", "‘", "“", "”","‘","’", "“","”" );
$newquotes = array("'", """, "'", "'","'", """, """, "'", "'", """, """);
return str_replace( $quotes, $newquotes, $string);
}Mindent cserel, de a garden tulipos quotet nem...
The design on this pen is adapted from ‘Garden Tulip’, a hand-block-printed wallpaper, designed in 1885 by William Morris (1834–1896). It is typical of his late style, which is characterized by naturalism and a strong repeating pattern.
iso-8859-1 amugy. -
Louloudaki
aktív tag
válasz
Tele von Zsinór #4603 üzenetére
ok, köszi neked is meg cuckának is, valamit majd csak hegesztek
-
Louloudaki
aktív tag
válasz
Tele von Zsinór #4603 üzenetére
mástól kaptam tippet, szerinte úgy kéne, hogy hogy mikor belép, akkor egy md5 hasht generálni azt elrakni táblába meg usernek cookieba, ehhez mit szólsz?
igen, a jogokat meg usereket egyértelműen táblába rakom ezzel nincs gond. csak nem fejtetted ki az előző hszedet, azért nem értettem, hogy is gondoltad. -
Louloudaki
aktív tag
válasz
Tele von Zsinór #4601 üzenetére
nfs meg memcahed nem használtam még
tehát pl user1 belép, sessionbe eltárolom, hogy be van lépve meg berakom dbbe is, és ha megnyitja az aloldal1et amihez joga van akkor honnan fogom tudni, hogy a user1 akar hozzáférni és nem a user2 akinek nincs joga hozzá? valahogy ezt nem vágom annyira de meg kéne csinálni... -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #4526 üzenetére
Valószínű tényleg ez az elgondolás volt az alapja, köszi.
(#4527) DeltaPower: remélem ez az 50 byte kód spórolás nem volt komoly...
Mellesleg annak semmi értelme, hogy megnézed, mit ad eredményül a trim, és ha az a feltételed nem teljesül, akkor ha létezik és van értéke a változónak (isset), akkor... Mellesleg az én kódom kb. pár karakterrel hosszabb, de legalább úgy már van értelme.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #4519 üzenetére
"a php4-féle konstruktort használtad (osztályneve függvény), ezt átírtam __construct-ra."
Amúgy vajon mi az oka, hogy ezt megváltoztatták __construct-ra? Csak annyi, hogy legyen teljesen egyértelmű, mit csinálunk? (C++-ból már megszoktam (bár nemrég tanulom), hogy az osztállyal azonos nevű a konstruktor)
Mondjuk állítólag visszafelé is kompatibilis a dolog:
"For backwards compatibility, if PHP 5 cannot find a __construct() function for a given class, it will search for the old-style constructor function, by the name of the class. Effectively, it means that the only case that would have compatibility issues is if the class had a method named __construct() which was used for different semantics." -
PowerBuldog
veterán
válasz
Tele von Zsinór #4519 üzenetére
Mindjárt kipróbálom!
-
PowerBuldog
veterán
válasz
Tele von Zsinór #4515 üzenetére
Ez mit csinál pontosan?
-
8nemesis8
veterán
válasz
Tele von Zsinór #4454 üzenetére
Igen ezeket én is ismertem, de pont a <br> volt amit rosszul tudtam és azt hittem van záró tag-je is.
Most néztem validátorral meg és itt voltak hibáim rendesen. -
8nemesis8
veterán
válasz
Tele von Zsinór #4415 üzenetére
Elkerülte a figyelmem köszi.
A header-en kívül nincs valami amivel lehet frissíteni az oldalt!?
-
válasz
Tele von Zsinór #4421 üzenetére
Thx!
-
8nemesis8
veterán
válasz
Tele von Zsinór #4411 üzenetére
Értem így már világos, akkor az ob_start() gondolom megnyitja aezt a puffert amibe átmenetileg tárolódik, majd a header lefut és csak ezután amit kimentett.
Bár érdekes, hogy nem használtam ob_end_flush() függvényt, mégis kiírja enélkül is az outputra.
-
radmin
csendes tag
válasz
Tele von Zsinór #4372 üzenetére
Nem checkbox-ot használok, hanem select -et multiple opcióval, így több elemet ki lehet választani egyszerre.
Az űrlapelem nevének megadtam a termek1[] nevet, de az INSERT INTO -ban elhelyezett $_POST[termek1] csupán egy Arry szót tesz az adatbázisba.
Kipróbáltam a mysql_real_escape_string() -et, de erre egy sytax errort dob. Próbáltam rájönni, hol a hiba, s javítgatni is, de az eredmény érdekesebbnél érdekesebb lett.
$sql="INSERT INTO 'tablanev' (termekek) VALUES ('" . mysql_real_escape_string($_POST[termek1]) . "')";
Nem kell még valami a mysql_real_escape_string($_POST[termek1]) -hez?
Mert sajna úgy nem szeret működni, ahogy a fentebb említett szkript kinéz teljes formában. -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #4357 üzenetére
Értem, thanx! Ilyen módon mondjuk tényleg egy biztonsági rést jelenthet.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #4349 üzenetére
No de itt azzal kezdi, hogy "Most session fixation attacks are web based, and most rely on session identifiers being accepted from URLs (query string) or POST data."
Hát ki az az állat, aki URL-ben vagy POST-ban elküldött SID alapján elfogad egy belépési kísérletet? -
BM#2
csendes tag
válasz
Tele von Zsinór #4337 üzenetére
Törlés után még változatlanul ki tudom olvasni az értékét bármikor, amíg be nem zárom az explorert.
Ennek így kell lenni? -
BM#2
csendes tag
válasz
Tele von Zsinór #4328 üzenetére
Így jó lett, köszi!
-
egyjotakaro2
tag
válasz
Tele von Zsinór #4312 üzenetére
Bocsánat ha félre vezettem bárkit, nem értéket akarok neki adni, hanem az users táblából a védekezést ki írni, meg jeleníteni.
-
egyjotakaro2
tag
válasz
Tele von Zsinór #4305 üzenetére
és ha
<table width="70%">
<tr>
<td width="16"><img src="images/gray_health.jpg"></td>
<td>{ $health }% Életerõ</td>
</tr>
<tr>
<td width="16"><img src="images/gray_shield.jpg"></td>
<td>{ $bescherming } órás védelem
</tr>
<tr>
<td width="16"><img src="images/gray_money.jpg"></td>
<td>Készpénz: € { $cash }</td>
</tr>
<tr>
<td width="16"><img src="images/gray_coins.jpg"></td>
<td>Bankszámlán lévõ pénz: € { $bank }</td>
</tr>
<tr>
<td width="16"><img src="images/gray_award.jpg"></td>
<td>Rang: { $rank }</td>
</tr>
<tr>
<td width="16"><img src="images/gray_world.jpg"></td>
<td>Helyzet: { $stad }</td>
</tr>
</table>
<u>{ $time }</u>
<tr> <td><a href="index.php?p=logout">Kijelentkezés</a></td></tr>
<table width="70%"/> <tr>
<td width="16"><img src="images/gray_lightning.jpg"></td>
<td>{ $power } Erõ</td><br>
<td>
</td><br>
<td>{ $power } Gyorsaság</td>
</tr>
</table>Ezt a részt át teszem php-ba akkor milyen hivatkozással, vagy értékkel kellene csinálnom, hogy megfelelőjen működjön?
-
egyjotakaro2
tag
válasz
Tele von Zsinór #4298 üzenetére
<table width="70%"/> <tr>
<td width="16"><img src="images/gray_lightning.jpg"></td>
<td>{ $power } Erõ</td>
</tr>
</table>Eredetileg csak ez volt, ennek a példájára hozzá írtam ezt:
<td>{ $ved} Védekezés</td>
<td>{ $gyors } Gyorsaság</td>És a felhasználóknál az az users táblánál a játékosnak adok 100 védekezést és 200 gyorsaságot, akkor sem ír ki semmit az információnál, de ha nem írok be semmit ha csak 0-át adok mind kettőhöz akkor sem ír ki semmit.
Erre kérdeztem hogy mi lehet a megoldás...
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #4295 üzenetére
Te amúgy tudod, miről van szó? Én valamiről lemaradtam?
Csak mert én egyáltalán nem látok kódot, ami alapján kisajtolhatnánk, hogyan van megvalósítva a progi.
Te viszont úgy tűnik, mintha értenéd, és nem tudom, honnan.
Vagy csak tippelgetsz?
-
egyjotakaro2
tag
válasz
Tele von Zsinór #4295 üzenetére
bocs, de az alapokból elolvastam néhányat, az elmúlt órában, és próbáltam már select * from... megoldást is, de nem jó még azzal sem :S
Most komolyan nincs valami megoldásotok, tippetek hogy mi lehet a gond vagy akármi? :S -
egyjotakaro2
tag
válasz
Tele von Zsinór #4295 üzenetére
okés
-
egyjotakaro2
tag
válasz
Tele von Zsinór #4286 üzenetére
hát a { $power } - példájára hivatkoztam, de nem sikerül... Szerinted mi lehet a gond?
Vagy valami mysql lekérdezéssel kell megoldani? -
BM#2
csendes tag
válasz
Tele von Zsinór #4289 üzenetére
Nem baj, valami munka nekem is kell, hogy maradjon.
Már így is sokat segítettél! -
BM#2
csendes tag
válasz
Tele von Zsinór #4287 üzenetére
Már reggel óta szenvedtem és most a segítségednek hála, egy pillanat alatt megoldódott!
Bejelentkeztem a webes felületen és átállítottam 666-ra. Most tökéletesen működik.
Köszi mégegyszer!
ui.: Egyébként a Total Commanderrel töltögettem fel a fájlokat, azzal nem lehet megoldani a jogok beállítását? Bocs, ha hülye kérdés, tulajdonképpen így is jó nekem.
-
Protezis
őstag
válasz
Tele von Zsinór #4166 üzenetére
A PDO valóban nem lassú, és a Doctrine se, ha ésszel használják, de könnyen elhamarkodott véleményt alkothat róla az ember. Pl.: Nagy lekérdezéseknél alapértelmezett hydrationnel lazán kifutunk a memória limitből.
-
Inv1sus
addikt
válasz
Tele von Zsinór #4133 üzenetére
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #4083 üzenetére
Na ja, de előfordul, hogy az alapérték (pl. pont az Elküldés, ezért rossz példa volt, amit írtam) nem megfelelő, hanem a value-ba valami egyedi szöveg kellene (pl. Kiskutyafüle), hogy kerüljön. Mintha egyszer láttam volna már megoldást ilyenre, de nem tudom, hol, és lehet, hogy az valahogyan manipulálva volt, mert nem tudok róla, hogy alapból meg lehetne oldani. De szóljatok, ha mégis (azonkívül, hogy nem adok nevet).
-
Gergello
addikt
válasz
Tele von Zsinór #4051 üzenetére
Ha ott is (A) localhost van megadva mysql kiszolgálónak, akkor hogy tudok rá hivatkozni kívülről? Van más mód is, ahogy erre lehet hivatkozni?
Googlelel bárhogy keresem nem találok semmit.
-
DeltaPower
addikt
válasz
Tele von Zsinór #4004 üzenetére
ez is jogos, HTTP_X_VARS elavult
-
biker
nagyúr
válasz
Tele von Zsinór #4004 üzenetére
amikor írom a forrást, akkor $_GET-ezni szoktam, ez meg így maradt régről, ahova kell, csak copyzom sorban
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3962 üzenetére
Tényleg?
Ez eléggé meglepett. Köszi, hogy szóltál.
Azt hittem, épp az a gyorsabb, ha minden megjelenítendő elemet összegyűjtök egy változóba, és aztán csak echo-val kiíratom a HTML-elemek végleges kiíratásakor, így nincs szükség a megjelenítés közbeni esetleges feltételvizsgálatokra, stb.
Ezek alapján viszont alaposan át kell gondolnom, hogy jó-e, hogy egy csomó helyen éppen úgy változtattam meg a kódot, hogy ahelyett, hogy a HTML-elemek között lenne több helyen echo-zás, és esetleg feltételvizsgálat, inkább összegyűjtöttem egyetlen $main_content változóba az egész tartalmat...
Áttekinthetőség szempontjából jó, de ezek szerint éppen, hogy lassabb... Akkor csinálhatom vissza csomó helyen. -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3948 üzenetére
És esetleg az, hogy már az első HTML-elem (<!DOCTYPE...>) megjelenése után kezdjük el a PHP-s ciklusok és feltétel-elágazások segítségével a kiíratást, nem befolyásolja negatív irányba a megjelenítés sebességét? Nem gyorsabb, ha már előtte "pufferelve" van az összes adat?
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3645 üzenetére
Ezzel kapcsolatban az lenne a kérdésem, hogy eszerint úgy kérdezted le a cikkek elemeit, hogy mondjuk
SELECT * FROM tibia_news
INNER JOIN tibia_news_i18n ON tibia_news.id = tibia_news_i18n.id
AND tibia_news_i18n.culture = 'en'
WHERE tibia_news.user_id = 2 ;
?
Most így ránézésre ez jutott eszembe, korrigálj, ha nem jó.És ezzel kapcsolatban kérdeznék még:
most azt szeretném elegánsan megcsinálni, hogy egy honlap fő tartalma tetszőlegesen módosítható legyen, több nyelven is, a tartalom pedig adatbázisba kerülne, onnan hívnám le. Arra gondoltam, hogy az utolsóként módosító felhasználó nevének eltárolásakor az se gáz, ha ugyanannak a rekordnak egy oszlopában (pl. last_modified_by) lévő tartalmat írogatnám felül az aktuális legutóbb módosító felhasználó nevével.
Amit tárolni szeretnék:
oldal főcíme, nyelv, utolsó módosítás dátuma, utoljára módosító felhasználó neve (ebből mondjuk nem lenne túl sok, max. 2-3, de inkább 2)
Mivel lenne olyan max. 6 menüpont, így nem tudom, érdemes-e egyáltalán azonosítószámot rendelni az egyes menüpontokhoz, vagy elég lenne, ha mondjuk lenne két összetartozó elsődleges kulcs, mondjuk PRIMARY KEY (oldal_rovid_neve, nyelv), vagy ez már gagyibb megoldás?
Kell egyáltalán külön összerendelő tábla ilyen célra, vagy az felesleges?
Mi lenne a "legelegánsabb" módszer?
Nyilván nem az, ha egyetlen sorban, különböző oszlopokban lenne eltárolva minden, hanem akkor már elsődleges kulcsokkal.Köszi az ötleteket előre is!
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3944 üzenetére
Jaa hogy az is saját függvény, akkor még jó, hogy nem találtam...
"Épp csak annyi logika van benne, ami kell - máshogy nem is lehetne mondjuk egy táblázat sorait kiírni, vagy feltétel alapján ezeket színezni."
Én ezt mostanában úgy szoktam megoldani, hogy még a <!DOCTYPE ...> kiíratása előtt "pufferelem" egy változóba, és a megfelelő helyen már csak ezt íratom ki. Ahogy észrevettem, elég gyors.
Ez nem jó? -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3939 üzenetére
Hű, ez számomra ismét új, az echo __(...) működésével még nem vagyok tisztában. Ennek a konkrét működéséről hol tudok utánaolvasni?
Most nem találtam php.net-en.
Ez hogyan lesz többnyelvű?Vagy ez már eleve a behelyettesített szöveg?
Mondjuk az általad linkelt kódban nem csak ez az egy új dolog, de gondolom ez a slot() és url_for() függvény valami saját lehet.
Amúgy a kódban azt nem értem legfőképp, hogy arról volt szó, hogy az alkalmazáslogikát külön kell választani a megjelenítéstől. De ez itt épp, hogy ellenkezőleg van, van itt a HTML-ben foreach, feltételvizsgálat és minden egyéb. Akkor ez nincs különválasztva a megjelenítéstől... -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3937 üzenetére
Hát igen, meg a cikkben tesztelgeti azt is, hogy mi van, ha hozzáfűzünk, az is gyorsabb, mint a behelyettesítés, gondolom mert meg kell vizsgálnia, hol az eleje-vége a behelyettesített változónak, vagy valami ilyesmi.
sprintf() azt mondod, gyorsabb lenne, mint a sima echo vagy print?
Hogy érted, hogy külön kezeled a view réteget? -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3792 üzenetére
Hmm, most végül is használgatom ezt a heredoc-ot, mert kicsit átláthatóbbnak tűnik valahogy a kód, hogy látható, hogy itt az eleje, ott a vége, de meglepődve olvastam ezt a cikket, hogy kicsit lassabb vele a megjelenítés: "Karaktersorozatok sebessége" PHP-ben. Gondoltam jelzem.
Persze pont arra hívja fel a figyelmet a cikk is, hogy kis alkalmazásoknál szinte semmi észrevehető különbséget nem okoz, többet érünk pl. adatbázis-optimalizálással, de nagyobb alkalmazásoknál esetleg megfontolható lehet.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3927 üzenetére
Ezt én is felvetettem neki, hogy ő egy kliens oldali függvényt ellenőriz szerver oldalon... de ettől még mondjuk mennie kellene a JS-nek, hogy hülyeséget ellenőriz. Mondjuk könnyebb lenne tudni az okát, ha tudnánk, hogy vajon tényleg kijavítgatta-e a felfedezett hibákat, mert ha pl. helyenként rossz ID-kre hivatkozik, akkor könnyen lehet, hogy az a form-kiértékelő függvény mindig hülyeségeket fog adni eredményül.
-
vakondka
őstag
válasz
Tele von Zsinór #3909 üzenetére
Köszi a tippeket, kipróbálom
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3864 üzenetére
Köszi, amint lesz időm, kipróbálom.
-
Louloudaki
aktív tag
válasz
Tele von Zsinór #3860 üzenetére
pár hónapja direkt rákérdeztem erre itt, van egy 3-4000 soros terméklistám és van egy olyan oldalam ami ebből kiszedi a csak akciós cuccot és azt jeleníti meg (párszáz termék), gyorsabb-e és jobb-e ha csinálok egy akciós viewt, aszonták nem. most akkor?
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3833 üzenetére
"A RewriteBase arra jó, hogy megmondd, a /valami könyvtárban vannak a dolgaid, és ezt vegye figyelembe a többi szabálynál."
Igen, köszi, ezt tudom, de nem épp ugyanerre való a sima HTML-es <base> tag is?Pl.:
<base href="http://akarmioldal.hu/mindenfele" />
ILLETVE
.htaccess-ben:
RewriteBase /mindenfeleA kettő nem ekvivalens egymással?
Szerk.: rájöttem, hogy valszeg hülyeséget kérdeztem, mert a RewriteBase konkrétan csak a szabályra vonatkozik, a <base> meg inkább arra, hogy pl. adott oldalon hol keresgélje a képeket, stb., amiknek relatív elérési utat adtunk meg.
De pontosítsatok, ha valamit rosszul mondok. -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3830 üzenetére
Hali!
A RewriteBase / sor nem ugyanerre való a .htaccess-ben?
Legalábbis ebben a cikkben ezt írják:
"Lényegében ezzel a sorral azt mondjuk meg, hogy a szabályaink úgy értendők, hogy a http://www.domainunk.hu/ címet tegye elé, onnantól meg majd mi megszabjuk jól, hogy mit akarunk (lásd: RewriteRule). Ha pl. azt szeretnénk, hogy a "/nevem" könyvtárra vonatkozó URL-eket vegye csak figyelembe a Rewrite, akkor természetesen "RewriteBase /nevem" a helyes megoldás (és a htaccess-t is ebbe a könyvtárba kell tennünk)."Még egy kérdés a .htaccess-ről:
Az alábbi sorra:
<IfModule mod_rewrite.c>
azt írja a cikk, hogy "Egyszerű feltétel, azaz ebben a blokkban szereplő bejegyzéseket, csak akkor szeretnénk, ha értelmezné a webszerver, ha a rewrite modul be van töltve, különben hagyja az egészet figyelmen kívül. "
De ha esetleg nincs betöltve a modul, akkor nekünk külön el kell intéznünk, hogy attól még értelmezze a címet, tehát ne legyen az, hogy a júzer beírja, hogy oldal.hu/lap/nyelv, és nem jön elő semmi, mert nem értelmezi GET értékekként. Akkor ennek ellenőrzésére ugyanúgy szét kéne bontani az URL-t az explode() függvénnyel?
Egyáltalán elő szokott fordulni olyan eset, hogy a szerveren nem tölthető be a modul, vagy ezt jellemzően nem kapcsolják ki? -
vakondka
őstag
válasz
Tele von Zsinór #3830 üzenetére
Hálám örökké üldözni fog !
-
Alex91
félisten
válasz
Tele von Zsinór #3798 üzenetére
Koszi! Esetleg meg valami mas megoldas?
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3792 üzenetére
Jé tényleg, ez nem tudom, hogy kerülte el eddig a figyelmemet, köszi szépen, áttanulmányozom.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3781 üzenetére
Egyetértek, az include-olandó cuccot az elején kell megvizsgálni, én úgy szoktam, hogy még a DOCTYPE előtt megnézem a $_GET értékét (ha épp attól teszem függővé az include-olást), és attól függően pakolom bele az elérési utat meg címet meg hasonlókat egyes változókba (pl. egy $file_to_include változóba) vagy tömbbe, amit aztán az oldalnál már a <body> részben include-olok, és itt akár lehet kapásból fájlvizsgálatot is végezni (létezik-e egyáltalán, stb.). Nem tudom, hogyan lehetne ennél szebben.
Mit csinál másként a smarty?
Most a WAMP telepítése után megnéztem az alapértelmezett index.php fájl tartalmát, ott mondjuk számomra új dolgot csinált, hogy a változókba a következőhöz hasonlóan pakolja bele fájlok tartalmát:// images
$pngFolder = <<< EOFILE
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAABhlBMVEX//v7/..................
==
EOFILE;(A sok pont helyén persze még sok-sok karakter van.)
Aztán a kép kiíratásakor csinál egy ilyet:header("Content-type: image/png");
echo base64_decode($pngFolder);
exit();Vagy a másik, ha nem képet jelenít meg, hanem az oldal tartalmát, akkor azt így csinálja:
$pageContents = <<< EOPAGE
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html lang="en" xml:lang="en">
<head>
...........
</body>
</html>
EOPAGE;(A sok pont helyén ismét a többi tartalom)
Aztán csak simán a következő sor jön:echo $pageContents;
Nem lehet, hogy valahogy így csinálja a smarty is? Mert akkor ezzel az include parancs helyett el lehetne érni, hogy csak egy sima echo utasítást adj ki, és akkor a megjelenítést nem kevered az alkalmazáslogikával.
Egyébként erről az <<< EOFILE és <<< EOPAGE cuccokról miért nem lehet semmiféle leírást találni a php.net-en?
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3774 üzenetére
Oké.
Az igaz, hogy nem szabad keverni a kettőt, de én pl. megmondom őszintén, nem tudom, hogy PHP-vel való megoldás esetén hogy lehetne elkerülni azt, hogy pl. a <title> rész úgy változzon, hogy nincs benne legalább egy <?php echo $title; ?>, vagy ehhez hasonló...
(JavaScripttel is meg lehet oldani a címváltoztatást, és akkor nem kell belerakni, de itt most a PHP-s megoldás a kérdés.) Gondolom ez nem igazán elkerülhető. De itt nyilván arra gondoltál, hogy akkor a szükséges feltételvizsgálatokat, változók beállítgatását meg hasonlókat végezzem el még a <html> kiíratása előtt, ne a kiíratás közben, ugye? Mert akkor egyetértek, de az előbbit tényleg csak azért írtam meg úgy, ahogy, hogy látható legyen, mit miért teszek be oda, ami esetleg teljesen kezdőnek nem triviális.
Amúgy az include-olásokra vonatkozó feltételvizsgálatokat szerintem nem mindig kell elválasztani, mert adott esetben épp akkor lesz nehezebben áttekinthető a kód, nem? Legalábbis gondolom a betöltés gyorsaságán vagy a script lefutásán semmit nem javít, ha esetleg már az elején megvizsgálgatom, hogy melyiket is kéne include-olni (pl. ha egy $_GET változótól teszed függővé). De cáfolj meg, ha nem így van.
(nekem is bőven van még mit tanulnom, én is kezdő vagyok, ezért jó, ha ezeket elmondjátok)
-
Alex91
félisten
válasz
Tele von Zsinór #3775 üzenetére
Mondasz valamit
. Akkor atgondolom az egeszet. (Ugyse teljesen azt csinalja, amit szeretnek.)
-
Alex91
félisten
válasz
Tele von Zsinór #3764 üzenetére
A meta azt hiszem jo lesz nekem.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3758 üzenetére
Amit írsz, csak azért nem értem, mert itt semmiféle adatbázishoz, sütihez vagy ehhez hasonlóhoz való nyúlás nem történt, sessionről sem volt szó, hanem egy totálisan leegyszerűsített-lebutított megoldást mutattam, de nem értem, miért ne működne abban a formában. Az igaz, hogy a <title>-től külön kellett volna választanom az $oldal változónak való értékadást, meg akár rakhattam volna tömbbe is a kiírandó címet és a hozzátartozó oldalt is, de direkt oda is írtam, hogy ez csak hirtelen ötlet volt, ezen még lehetett volna csiszolni. De azt hiszem, maga a probléma komplexitása nem ért meg ennyit, mivel igen egyszerű feladatról volt szó... Ezenfelül az volt az oka, hogy így csináltam, hogy látható legyen, mihez mi tartozik, mea culpa...
Azt meg, hogy szándékosan kihagytam a DOCTYPE-ot, azt hittem, nem kell szájba rágni, mivel csak a struktúráját akartam megmutatni a dolognak, a nyitó <html>-től a záró </html>-ig. Ilyen alapon a meta tageket is kihagytam...
Az include részt meg pl. nem értem, Te hova tennéd... Netán azt is a fejléchez?
Ezenkívül az általad írt dolgokkal maximálisan egyetértek, de nem értem, hogy jön ez ide, ráadásul miért nekem mondod, hogy használjak template motort...Amúgy se világos, minek kéne egyszerű oldalra template motor, ha meg lehet írni sajátkezűleg is a hozzá szükséges kódot.
Kicsit olyan, mintha szerinted valami nagyon komplex kódot írtam volna meg működésképtelenre, pedig szerintem nem ez történt... -
Krszti1660
csendes tag
válasz
Tele von Zsinór #3765 üzenetére
ezt komplett át kellene nézni és aztán vagy meg csinálni vagy pedig hagyni a francba. Így is ki fizettem a domain-t...
Szóval csak át kéne nézni -
Krszti1660
csendes tag
válasz
Tele von Zsinór #3753 üzenetére
Na sziasztok
Nekem egy programozó kelleneEgy mmorpg maffiás játékot szeretnék elindítani és ennek az oldal motrát kellene át nézni. Domain, tárhely már meg van ha az oldal motort is meg tudná valaki nézni mindjárt lehet is fordítani le és indulhat a játék
Kérlek valaki írjon PM-et vagy pedig itt -
Alex91
félisten
válasz
Tele von Zsinór #3761 üzenetére
Nem, hanem meg kellene hivni URL formajaban, mint <a href= >, csak ne kelljen semmit se megnyomni. Fuggveny hivas nem jo, mert le fog allni a futasido miatt.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3756 üzenetére
Na várj, úgy tűnik, késő van, de nem fogom fel, hogy kevertem a megjelenítéssel? Az igaz, hogy a címben (a title) résznél adtam értéket az $oldal változónak, meg hasonlók, de fel is hívtam a figyelmet, hogy ez egy nagyon leegyszerűsített példa, de adott esetben működhet. Akkor az jutott eszembe, nyilván nem tökéletes, de gondoltam segítségnek jó lehet. Ha ennél jobb ötleted van, akkor ne tartsd magadban, konkretizáld, írd le, mire gondoltál, ne körülírd.
-
Krszti1660
csendes tag
válasz
Tele von Zsinór #3753 üzenetére
Hát most nem tudok kérdezni mert hulla fáradt vagyok de kb holnap este 18óra fele ha lehet akkor fel jövök és beszélünk
-
Speeedfire
félisten
válasz
Tele von Zsinór #3724 üzenetére
igen, localhoston keresztül próbálom
Sk8erPeter: bárcsak ennyi lenne a gond, de sajnos nem
mind php kiterjesztésűesetleg nem kell valamilyen szolgáltatást +ba elindítani win alatt
-
válasz
Tele von Zsinór #3689 üzenetére
Akkor marad a kiterjesztés-ellenőrzés. Vagy esetleg ha windózos szervere van, akkor megpróbálhatja COM+ szolgáltatásokkal megnyitni az xls-t.
-
biker
nagyúr
válasz
Tele von Zsinór #3645 üzenetére
ahha, egész jó ötlet
mondjuk ehhez is át kellene írni a rendszert, megbontani a táblákat, de szerintem megoldom úgy, hogy a nyelvérzékeny adatokról csinálok többnyelvű adatokat tartalmazó táblát, és amikor az adott tartalom megjelenik, leellenőrzi a rendszer, van-e más nyelven, ha van, akkor betölti és lecseréli, ha nincs, marad a magyar, így nem lesz üres elem véletlen. -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3645 üzenetére
Az utóbbi INSERT rész hogyhogy nem írja fölül az előzőt?
Lehet, hogy most valamit csak benézek.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3638 üzenetére
Köszi! De nem szoktam egyébként Firefox-ot használni, mert azonkívül, hogy létezik hozzá a Firebug meg egy-két hasznos addon, szerintem egy rakás sz@r.
A leglassabb és legbugosabb a jelenleg gépemen lévő böngészők közül (még az IE8-at is gyorsabbnak találom pl. indulási sebességben, az pedig már meglepő.
Chrome-ot és Operát használok, tapasztalataim szerint jelenleg ezek a leggyorsabbak és számomra legkényelmesebbek. (Persze van, aki Chrome esetében ilyenkor azzal jön, hogy rakjak rá addonokat, akkor már nem olyan gyors, dehát nem kell telepakolni, és akkor nincs ilyen baj.
)
-
biker
nagyúr
válasz
Tele von Zsinór #3636 üzenetére
hmm, tetszik
csak 2-3 sort a két táblából tudnál mutatni, hogy jól képzeltem-e el? -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3626 üzenetére
Köszi szépen, ezeket mindenképp kipróbálom!
Amúgy valóban, nem is annyira az egész oldal betöltődési sebességére voltam kíváncsi, hanem a scriptek lefutási sebességére.
Egyébként gondolom ez ugyanúgy függ a szerver aktuális leterheltségétől, nem? Vagy attól nem lesz olyan releváns a különbség? -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3616 üzenetére
Akkor ezek szerint mégis igazam volt, ha XHTML-ről van szó.
-
fordfairlane
veterán
válasz
Tele von Zsinór #3616 üzenetére
Még egy kis info: html-ben valid, ha nincs idézőjelben, xhtml-ben viszont invalid.
Tudtommal a HTML4 szerint az attribútumértéket akkor nem kell idézőjelbe tenni, ha numerikus, egyébként igen, XHTML esetén mindig kötelező. Én mindig idézőjelek közé rakom, nem érdemes spórolni vele.
-
iceQ!
addikt
válasz
Tele von Zsinór #3564 üzenetére
Lehet hülye kérdés de nem tudom hogy hogy érted hogy a kettős pontnál darabolom! NEm rég használok Ubuntut de haladok vele szépen
DHCP szerver és fájl szerver kész van már csak a php-val kell kínlódjak! De az is jó csak annyit csinálunk meg hogy beírom az ip címemet és kidobja a php infot, nem muszály hogy a felhasználókat írja ki!
-
chubby1980
csendes tag
válasz
Tele von Zsinór #3561 üzenetére
Szintén semmi. Viszont megtaláltam a hiba okát azt hiszem. Az alábbi dolgok történtek.
- Szerettem volna kinyerni a winuser nevét. Mivel ez php-ben lehetetlen és javascripttel sem működött activex control hiánya miatt (feltepelíteni meg nem lehetett), találtam egy megoldást. Ez a megoldás imitálja a felhasználó belépését phpben, így mégiscsak megvan a neve
- Innen kezdődtek a bajok. A fenti módszer neve NTLM autentikáció. Minden szép és jó volt. Módosítottam a honlapot az új és egyszerű módszer alapján.
- Ezután egyetlen űrlap se működött. Bárhol, ahol post van, ez után nem hajlandó működni, mert az ntlm anonimusz bejelentkezést hajt végre, és a html úgy működik, hogy ha egy anonimuszos lapról adatot küldesz posttal egy űrlapnak, akkor semmi sem fog továbbítódni. Ha gettel továbbítot, minden esetben működni fog, de valószínű nem örülne senki, ha a jelszava titkosítás nélkül ráadásul az url címben továbbítódna
- De mire erre rájöttem, hogy ez volt a baj... egy egész napom ráment. Mindenesetre mégiscsak egy másik megoldást kellett találnom. Kicsit bonyolultabb, de szintén célravezető, és emelett működik a postos űrlap is.Azért köszönöm mindenkinek a tippeket.
Csabi
-
8nemesis8
veterán
válasz
Tele von Zsinór #3450 üzenetére
Mintha láttam volna, hogy van bool és még külön bit is, numerikus típusok között.
Amúgy meg lehet tényleg az a legegyszerűbb, ha tinyint-nek adok 1 vagy 0értéket attól függően, hogy bent vagy kint van a film.
Köszi az időfüggvényt! -
8nemesis8
veterán
válasz
Tele von Zsinór #3388 üzenetére
Értem, akkor majd ennek megfelelően írom.
Sk8erPeter köszi neked is, hasznos információk voltak.
Admin/user felület megírásához hogyan álljak hozzá?
Kell a jelszó és user nevekhez tábla vagy esetleg, máshogyan is el tudom menteni, esetleg globális tömb vagy valami hasonló?Még csak most kezdtem rövid ideje foglalkozni a phpval tehát, ha alapokat kérdezek, kérlek nézzétek el nekem.
Szeretném alaposan megtanulni a nyelvet. -
8nemesis8
veterán
válasz
Tele von Zsinór #3386 üzenetére
Ezt a kódolást az oldalra hol tudom megnézni?
Adatbázisba utf8at használok/használtam, gondolván, hogy ő a legfejlettebb, legtöbb karakterrel. -
8nemesis8
veterán
válasz
Tele von Zsinór #3374 üzenetére
1.
$kapcsolat= mysql_connect();
2.
3.
$database["server"]= "localhost";
4.
$database["user"]= "root";
5.
$database[password]="******"; //itt a megadott jelszó áll!
6.
if(!$kapcsolat= @mysql_connect($database["server"],$database["user"],$database["password"])){
7.
print ("Baj van a kapcsolattal. Nem tudtunk kapcsolódni a következő szerverhez:". $database["server"]);
8.
} -
dany27
őstag
válasz
Tele von Zsinór #3357 üzenetére
köszi!
Ezt kerestem!
-
Louloudaki
aktív tag
válasz
Tele von Zsinór #3347 üzenetére
nemtom, mail()-nek csak akkor van headers paramétere ahol lehet kódolást meg egyebet állítani, ha html formátum, nem? ez sima txt típus és azt a szöveget tartalmazza amit az utf8as kódolású php filében összerakok, meg jön a formból a neve ami ugye html és szintén utf8 minden lehetséges értelemben.
sonar, a file neve nem tartalmazhat spacet, ékezetes és egyéb spec karaktereket csak angol abc, _, -, számok ill a kiterjesztés előtt a pont
-
biker
nagyúr
válasz
Tele von Zsinór #3150 üzenetére
feldaraboltam és megformáztam
de köszi
-
biker
nagyúr
válasz
Tele von Zsinór #3148 üzenetére
namost ilyet nem tudok megadni neki mint mezőtulajdonság.
vagy úgy érted, hogy ne hagyjam üresen, hanem pl time='unix_timestamp()' ?? -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3144 üzenetére
Értem, köszönöm a kimerítő választ, pont erre voltam kíváncsi.
Egyébként a perzisztens kapcsolat milyen esetekben lehet szükséges/ajánlott?
-
sonar
addikt
válasz
Tele von Zsinór #3114 üzenetére
Valóban
Egy másik kérdésem is lenne. Felraktam az xampp-ot de vhogy most meg a get-es űrlapoknál akadtam le. Látom a címsorban, hogy szépen küldi az adatot, de vhogy nem veszi át a paramétert a php progim. Milyen beállítást kéne megnéznem?
Űrlap<html>
<head>
<title>9_2 Egyszerû HTML ûrlap</title>
</head>
<body>
<form action="9_3_program.php" method="GET">
<input type="text" name="felhasznalo">
<br>
<textarea name="cim" rows="5" cols="40">
</textarea>
<br>
<input type="submit" value="rendben">
</form>
</body>
</html>Feldolgozó
<html>
<head>
<title>9_3 Egyszerû HTML ûrlap feldolgozása</title>
</head>
<body>
<?php
print "Üdvözlet <b>$felhasznalo</b><P>\n\n";
print "A címe:<P>\n\n<b>$cim</b>";
?>
</body>
</html> -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3074 üzenetére
A böngészőfüggőt csak azért kérdeztem, mert már nem tudtam mire gyanakodni, hirtelen arra gondoltam, hogy esetleg az egyes form-ok esetén a böngészők más-más karakterkódolással küldik el a szövegeket... De akkor ez nem igaz.
Viszont kipróbáltam már szinte minden kombinációban, us-ascii-vel is, meg még kb. 5-féle kódolással, de egyszerűen sehogy sem akarja olyan formára alakítani, ahogy nálad megszületik a kimenet. Több szerveren is próbáltam már, ugyanúgy vagy csak egy ilyen dobozszerű ikon lesz az ékezetes betűk helyett, vagy egy, illetve más kódolás esetén kettő kérdőjel.
Próbáltam már az iconv-vel is, és próbáltam az mb_convert_encoding függvénnyel is, reménykedve abban, hogy az majd megoldja, de nem.
Kipróbáltam az alábbit is:$enc = iconv_get_encoding('all');
print_r ($enc);Így olvasható formában kapom meg pl. egy tömb elemeit, esetemben ez lesz az eredmény:
Array ( [input_encoding] => ISO-8859-1 [output_encoding] => ISO-8859-1 [internal_encoding] => ISO-8859-1 )
Pedig tudtommal az ISO-8859-1-ben nem kéne ékezetes karakternek lennie.
Mi lehet a gond, ami miatt nem tudom konvertálni az ékezetes karaktereket?
-
DviDee
csendes tag
válasz
Tele von Zsinór #3103 üzenetére
Jó lesz! Nagyon szépen köszönöm. 1-2 dolgot csiszolgatok rajta, de ilyesmire gondoltam. Köszönöm mindenkinek aki segített!
-
DviDee
csendes tag
válasz
Tele von Zsinór #3080 üzenetére
Sajna nem jó így sem... Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
Meg frissíti az oldalt és úgy írja ki a hibát űrlap nélkül, ja és az eredménnyel megint gond van mert összeadom és nem jó. -
DviDee
csendes tag
válasz
Tele von Zsinór #3077 üzenetére
Nagyon szépen köszönöm (így utólag is a segítséged), de nálam most sem jó. Csak azt értem el vele, hogy nem az űrlapos részen írja ki a hibát, hanem amikor újratölt ott külön.
-
DviDee
csendes tag
válasz
Tele von Zsinór #3073 üzenetére
Betettem, de nem jeleníti meg a számokat...szerintem így sem jó.
Így néz ki, most:
if ($_POST[op] != "ds") {
echo "$form_block";
$a = rand(1,9);
$b = rand(1,9);
$_SESSION[c]=$a+$b;
} -
DviDee
csendes tag
válasz
Tele von Zsinór #3063 üzenetére
Szerintem nem teljesen jól csinálom, tudnál még segíteni?
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3062 üzenetére
Hali!
Ezt most kipróbáltam, de ez az á, é, stb. ékezetes karaktereket pl. csak simán eltávolítja.
Gondolom ez a// remove unwanted characters
$text = preg_replace('~[^-\w]+~', '', $text);sor miatt van, mintha rosszul dolgozná fel a beolvasott karaktereket.
Ráadásul ez a könyvtárral együtt lévő hivatkozás esetén a '/' (perjel) karaktert is lecseréli '-' (kötőjel) karakterre, az meg nem jó, igaz, ez mondjuk megoldható, úgy, hogy nem a könyvtár nevével együtt teszem be a szöveget, hanem csak simán, a fájl nevére hivatkozva, tehát ez még annyira nem is lenne érdekes (de ettől függetlenül nem jó, hogy így van).Érdekes az is, hogy ha úgy csinálom, ahogy itt van: iconv
echo 'Original : ', $text, PHP_EOL;
echo '<br />';
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;akkor meg az ékezetes karakterekből ilyen karaktert csinál, kimenet:
Original : upload/Gyémánt.gif
TRANSLIT : upload/Gy�m�nt.gifSzerk.: ezek szerint itt nem látszik, de amit kiír, az ilyen négyzet alakú ikon.
Legalábbis ez az, amit kiír, de valójában ez lesz belőle a tényleges fájlnév, amit feltölt:GyĂ©mánt.gif
Ez így nem túl jó. Ezért is gondoltam arra a tömbös megoldásra.
Ez böngészőfüggő probléma lehet? Operából próbálom, ha ez érdekes. Ja, és természetesen UTF-8 kódolású maga a php-fájl, ha ez fontos.
Mi lehet a probléma? Alternatíva? -
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3058 üzenetére
lezso6, cucka, Tele von Zsinór: nagyon köszönöm mindannyiotok hozzászólását, sokat segítettetek!
Végül is maradtam a Tele von Zsinór által ajánlott getimagesize () függvénynél, ez bizonyult a lehető legegyszerűbb megoldásnak, mivel a lehető legtöbb képtípust támogatja.
Ha esetleg több olyan képtípus is felmerül, amit nem szeretnék, hogy feltöltsenek, akkor a lezso6 által ajánlott if (in_array(...) ) megoldást fogom választani, az is nagyon kézenfekvő.
cucka, abban pedig tökéletesen igazad van, hogy inkább azt engedjem, amit feltölthetnek, ne azt tiltsam, amiből többszáz típus van, először nem is tudom, ezt hogy gondoltam...
Ezt viszont már több helyen is olvastam, amit írtál, de nem értem az okát:
"Harmadrészt a mime típust a kliens küldi, tehát megbízhatatlan."
Miért olvas ki a fájlból esetlegesen rossz információt?___________________
Végül egyébként sikerült megoldani azt is, hogy ha létezik a fájl, akkor tegye mögé az alsóvonás utáni számot, attól függően, hogy hányszor létezik hasonló nevű fájl, tehát az volt a végső megoldás, hogy közvetlenül a move_uploaded_file függvény elé tettem egy ellenőrzést:
$target_dir = "upload/";
$target = $target_dir . basename( $_FILES['uploaded']['name']);
$fajlnev = $_FILES['uploaded']['name'];
// bla-bla... utána:
//Létezik már azonos nevű?
if (file_exists($target))
{
$file = $target;
$name = substr($file, 0, strrpos($file, '.')); // kiterjesztés levágása
$i = 1;
while(file_exists($file))
{
$i++;
$file = $name . '_' . $i . '.' .$path_parts['extension'];
}
echo 'A fájl neve korábban már szerepelt! Összerakott fájl neve: '.$file.'<br /><br />';
$target = $file; //hogy ne az eredeti elérési út maradjon, hanem az új névvel mentse el a fájlt a move_uploaded_file fv.-ben is
$fajlnev = substr($target, (strrpos($target, '/')+1));
// hogy utóbbi változók is az új célhelyre mutassanak a move_uploaded_file fv.-ben
}
//eddig tart az ellenőrzés;
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
// bla-bla...
}_________________________________
Itt (Google Cache által elmentve) pedig találtam egy tömböt, melyben a legtöbb, a böngésző vagy a szerver által kérdésesen támogatott vagy megjeleníthető ékezetes vagy egyéb karakter megtalálható - ez alapján szeretném kicserélni a feltöltendő fájl nevében szereplő esetleges hasonló karaktereket, na meg a szóközt!
Ilyesmi módon oldjam meg, ahogy itt látható, vagy a preg_replace() függvénnyel, vagy utóbbinak ehhez semmi köze?
Új hozzászólás Aktív témák
Hirdetés
- bambano: Bambanő háza tája
- Otthoni hálózat és internet megosztás
- Gyúrósok ide!
- Óra topik
- SSD kibeszélő
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- BestBuy topik
- Külföldi rendelések: boltok, fizetés, postázás
- Kormányok / autós szimulátorok topikja
- Renault, Dacia topik
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 GAMER PC termékbeszámítással
- FÉL ÁR ALATT! Lian Li UNI FAN SL120 RGB 1db-os és 3db-os ventilátor szett garanciával
- BESZÁMÍTÁS! ASUS TUF Z390-PRO GAMING alaplap garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Bomba ár! Lenovo ThinkPad T15 G1 - i5-10GEN I 16GB I 256GB SSD I 15,6" FHD Touch I Cam I W11 I Gari!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest