- Milyen belső merevlemezt vegyek?
- OLED TV topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Szünetmentes tápegységek (UPS)
- AMD vs. INTEL vs. NVIDIA
- Milyen alaplapot vegyek?
- Apple asztali gépek
- Bluetooth hangszórók
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz
Speeedfire #5097 üzenetére
Nem csak a tinymce, sőt: az asztali szövegszerkesztők (word, OOo writer) is így viselkednek: enter = új bekezdés, shift+enter = sortörés.
-
zka67
őstag
válasz
Speeedfire #5097 üzenetére
Csak ha két entert ütsz.
Hmmm... télleg. De a Shift-Enterrel BR-t szúr be. -
Speeedfire
félisten
válasz
Ősember #5094 üzenetére
esetleg így?
$pos1=strpos($content,'<dd class="info">');
if($pos1 === 0)
{
$isAvailable=true;
}
else
{
$isAvailable=false;
return trim(substr($content,$pos1,3));
}szerintem a +22 miatt kicsúszik és ezért ahol keres ott már nincs semmi
amúgy a title és alt tageket így gondoltam:
<a href="http://mikulas.nap/mikulas-cukorka.php" title="Mikulás cukorkák rendelésre"/>cukorka rendelés</a>
<img src="http://mikulas.nap/mikulas-cukorka.png" alt="kék Mikulás cukorka" title="A kék Mikulás cukor csomagolása">szóval h a linkekhez legyen köze a szövegnek
-
Tele von Zsinór
őstag
válasz
Ősember #5094 üzenetére
A dokumentáció szerint:
If length is given and is positive, the string returned will contain at most length characters beginning from start (depending on the length of string).
[...]
If length is given and is 0, FALSE or NULL an empty string will be returned.tehát nem számol nulladik karaktert, ha hármat akarsz visszakapni, akkor hármat írj oda.
A $contentben van valami? A $pos1 milyen értéket kap? Ha kiírod a trim(substr($content,$pos1,3)) értéket visszaadás helyett, mit kapsz?
-
Ősember
őstag
válasz
Speeedfire #5090 üzenetére
az a baj hogy semmit
a $pos1 után azért kell 2, mert nulladik akraktert is számol, ezért a 2 lényegében 3 karaktert jelent, de ide mindegy milyen számot irok be, mert egész egyszerűen üresség lesz az eredmény, tehát semmit nem dob.
sajnos nem én irtam ezt a kódot, ezért csak arra tudok következtetni, hogy a +22 arra kell, hogy a következő lépésben lehessen if-et használni
ez alapján dolgoztam
substr('abcdef', 0, 4); // ezt kell dobnia: abcdnálam:
(substr($content,$pos1,3);nem látom sajnos a hibát
-
Gyuri16
senior tag
& php-ban a referenciakat jeloli. [link]
ilyeneket ugy lehet googlen keresni, hogy beirod a jel nevet angolul, itt pl erre rakeresel: "php ampersand"
#5093:
nem pointerek, gondolom te is jol gondolod, csak biztonsag kedveert irom. fenti linken nezd meg a What References Are Not pontot -
SaNyEe
aktív tag
Sziasztok!
Elkezdtem írni a saját keretrendszerem, s most értem a get, post, cookie-k slasheléséhez.
Írtam egy rekurzív kódot amivel be tudom járni a szükséges tömböket.
Aztán persze nem működött.Weben elkezdtem kutakodni, s találtam egy igen hasonló megoldást mint a sajátom.
A függvény hívási pontján ezt találtam:&$változónév. Erről szeretnék kérdezni, hogy ez micsoda, idáig nemigen találkoztam ilyesmivel, s weben is viszonylag nehezen tudom emiatt keresni.
Ha valaki egy rövidke leírást tenne róla, h mit csinál v. már kész magyar, ha könnyen emészthető akkor akár angol leírást linkelne az jó volna.Előre is köszönöm.
-
Ősember
őstag
válasz
Tele von Zsinór #5087 üzenetére
ha megszánnál egy kijavitott kóddal azt nagyon megköszönném, mert rajtam ez kifog
=== próbáltam már, de az nem hozott változást.
a helyzet az, hogy ezt a kódot csinálta nekem egy srác, akivel időközben megszakadt a kapcsolatom, ezért próbálom megjavitani a hibásan működő részeitSpeeedfire: igen, eljut
ez volt az eredeti kód:
$pos1=strpos($content,'<dd class="info">')+22;
if($pos1==22)
{
$isAvailable=true;
}
else
{
$isAvailable=false;
$pos2=strpos($content,'<a',$pos1);
return trim(substr($content,$pos1,($pos2-$pos1)));
}ez jól működik, viszont ez a <dd class="info">-tól a következő <a-ig szedi ki az összes tartalmat, de nekem ennek a tartalomnak csak az első 3 karaktere kéne
-
Speeedfire
félisten
válasz
Tele von Zsinór #5085 üzenetére
már próbáltam ip-vel, domain névvel, semmi
most azon "dolgozok" h csinálok egy rss csatornát, amit a másikon beolvasok
Ősember: be megy amúgy az else ágba? írass ki minden egyes lépésnél valamit így látod mikor merre jár a ciklusodde lehet h a többiek tudnak rá valami okosabbat mondani
-
Tele von Zsinór
őstag
válasz
Ősember #5077 üzenetére
Nyilván nem, mert a substr legfeljebb kettő karaktert fog visszaadni.
A +22-vel trükközést sem értem. Ha azért csinálod, mert a string legelején megtalálva mégis hamis lenne az ifed, akkor használd az ekvivalencia operátort (===), ha nem találja, a visszatérési értéke ekvivalens false-al, amúgy a találat helye.
Harmadrészt az $isAvailable változót hiába állítod, mert nem lesz elérhető a függvénytörzsön kívülről. -
Ősember
őstag
válasz
Speeedfire #5084 üzenetére
sajnos a 3 = után is változatlan a helyzet
rel='nofollow', igy fogadta el
a termékleirás csak egy opcionális mező, oda szoktam néha beirni a gyártó oldalán a közvetlen a termékhez vezető linket, vagy ha van valami extra tudnivaló a termékkel kapcsolatban
title és alt beillesztveezeket pótolni fogom a többi oldalon is
-
Tele von Zsinór
őstag
válasz
Speeedfire #5080 üzenetére
A célszerver adatbázismotorjának beállításától függ. Ha engedik a külső kapcsolódást, akkor meg is vagy: localhost helyett a szerver címét írod be.
Ingyenes tárhelyekről nincs tapasztalatom, de egy megnézést megér. -
Speeedfire
félisten
válasz
Ősember #5083 üzenetére
az if feltételnél 3 = jellel próbáld meg
tehát:
if($pos1 === 22)
illetve 1-2 észrevétel:
- a kimenő linkekhez rakd be a <a tagbe h :
rel="nofollow"
jobb gugli szempontból
- a termékleírás el van csúszva, vagy csak oda később megy szöveg?
- a linkeknél és a képeknél használd a title="szöveg" tageket, illetve a képeknél még az alt="szöveg" taget isezek inkább seo szempontból lehetnek jók
-
Ősember
őstag
válasz
Speeedfire #5082 üzenetére
és igen
lemaradt az árfolyamnéző modul, nézd meg te is a linket
köszi szépen!
a (#5077) hsz-ben leirtra esetleg valami?
-
Ősember
őstag
van még egy problémám, ha az oldalra linkről látogatok (link), akkor az árnál 0Ft szerepel, viszont ha a főoldalról navigálok, akkor minden ár kapásból jól látható. ez vajon mire vezethető vissza?
-
Speeedfire
félisten
üdv!
nos olyan gondom/problémám lenne, hogy megoldható-e valahogy az, hogy 1 adatbázis használom mondjuk a server1-en és a server2-ön lekérem a server1 adatbázisát?
ha jól tudom akkor az adatbázisokat csak csak localhost alatt lehet elérni külső tárhelyről nem
ingyenes tárhelyeken érdekelne a dolog, ahol ez nem egyszerű dologhogy lehetne ezt megoldani szerintetek?
-
zka67
őstag
válasz
Speeedfire #5076 üzenetére
Napi 1-et tudsz regisztrálni
-
Ősember
őstag
hello
van egy lap, ahonnan információra van szükségem, mégpedig közvetlen egy bizonyos <dd class="info"> rész utáni 3 karakterre van szükségem. ez a kódom:$pos1=strpos($content,'<dd class="info">')+22;
if($pos1==22)
{
$isAvailable=true;
}
else
{
$isAvailable=false;
return trim(substr($content,$pos1,2));
}valamiért az az utolsó sor hibás lehet, mert nem dobja a 3 karaktert a return. nem jövök rá mi a baja.... valami ötlet? köszi előre is
-
Speeedfire
félisten
válasz
egyjotakaro2 #5075 üzenetére
ám a 000webhost is elég jó, ott fele akkor a tárhely mind az okshost-nál, viszont korlátlan domaint tudsz regelni 1 account alatt
-
egyjotakaro2
tag
válasz
Speeedfire #5074 üzenetére
Köszi, majd át olvasom
Am kerestem már, mert az atw.hu szigorított az ftp elérésen, és külföldről nem tudok rá csatlakozni, de a p8.hu-nál mindig van valami problém... -
Speeedfire
félisten
válasz
egyjotakaro2 #5073 üzenetére
akkor lehet más gond van
amúgy a p8-nál vannak sokkal jobb szolgáltatók is
pl okhost.eu -
egyjotakaro2
tag
válasz
Speeedfire #5072 üzenetére
persze, egy komplett oldal volt/van fent rajta.FTP-re fel tudok menni, minden meg van.
-
Speeedfire
félisten
válasz
egyjotakaro2 #5071 üzenetére
töltöttél már fel index oldalt? amiatt írhat ki ilyet, bár nem igazán ismerem ezt a szolgáltatót
-
egyjotakaro2
tag
Sziasztok. P8.hu-s tárhelyem van, és 403-as hibát kapok amikor meg akarom nyitni az oldalt
orbidden
You don't have permission to access / on this server. -ezt írja
Szerintetek mi lehet a gond? Vagy a tárhely üzemeltetőjénél van a hiba? Üdv Krisz
-
válasz
Tele von Zsinór #5068 üzenetére
Igen van jogom.
Speeedfire: Táblát akarok létrehozni, szóval nem kel/lehet kiválasztani. Amit beillesztettél, az benne van, csak ezt a sort másoltam ki.
-
Speeedfire
félisten
üdv!
a múltkor zka67 küldött egy filmes oldalt, gondoltam én is elkészítem a sajátomat
időközben gondoltam csinálok egy olyat h a filmekhez legrelevánsabb hasonló filmeket felsorolom a végén (lusta vagyok magam szerkeszteni)
annyit csinál h a tag-eket kezdi el lekérdezni és egy megadott mennyiség után listázza őket, ha nagyon kevés a cimke akkor töröl egyet a feltételből
kérdésem h mennyire bonyolítottam túl a dolgot? mert működni működik, csak ügye törekedni kell az egyszerűségre
ui: ez a sor senkit se tévesszen meg, csak azért 1 mert teszteltem h mire mennyit ír ki
if ( $lekerdezm >=1 ) { -
zka67
őstag
válasz
Fecogame #5064 üzenetére
"localhost" a saját géped, ha azon fut a webserver és a mysql, akkor jó. Ha viszont egy tárhelyre töltöd fel, akkor már nem localhost, hanem egy IP címet kell megadnod neki.
A másik variáció szerint nincs jogod az adatbázis eléréséhez.
Javaslom a phpMyAdmin használatát, amíg azzal nem tudsz belépni az adatbázisba, addig valami bibi van.
-
Van ez a sor egy php install fájlban:
$con = mysql_connect("localhost","username","ittajelszo");
Ebben az első helyen localhost van, a második helyen a létrehozott felhasználó, a harmadik helyen pedig a jelszó, ez így helyes?
-
wis
tag
válasz
Speeedfire #5060 üzenetére
Annyira azért nem érdekes
Végig egyszeres aposztrófot használsz, ráadásul így a $cimke sem helyettesítődik be.
Nullával osztás meg azért lesz, mert a % a maradékos osztás operátor, a php emiatt számot vár, át is alakítja a stringeket nullává... -
Speeedfire
félisten
válasz
Speeedfire #5059 üzenetére
érdekes, hogy ha kicserélem ezt:
$hasonlocimke .= 'adatok.tags LIKE '%'.$cimke[$i].'%' ';
erre akkor már jó:
$hasonlocimke .= "adatok.tags LIKE '%$cimke[$i]%' ";
szóval mostmár biztos h én rontottam el valamit
-
Speeedfire
félisten
üdv!
ezzel a kis kóddal lenne gondom
$cimke = explode( ',', $row['tags']);
$cimkeo = count($cimke)-1;
$hasonlocimke = 'mysql_query("select * from adatok where ';
for ($i=0; $i <= $cimkeo; $i++ ) {
if ( $i== 0) {
$hasonlocimke .= 'adatok.tags LIKE '%'.$cimke[$i].'%' ';
}
else {
$hasonlocimke .= 'and adatok.tags LIKE '%'.$cimke[$i].'%' ';
}
}a ciklusban lévő adatok nem íródnak hozzá valami miatt, illetve valószínű h nem jól van megadva neki a "string", de csak nem jövök rá mi a gondja
illetve a ciklusban ilyen hibát ír ki:
Warning: Division by zero mind a 2 résznél
-
bena_butus
csendes tag
Köszönöm.
-
Tele von Zsinór
őstag
válasz
bena_butus #5055 üzenetére
Létrehozok két DateTime objektumot, az elsőt a srác születési dátumára (ha jól értettem a te kódodból), a másikat paraméter nélkül, így az aktuális időt veszi fel értékül.
A harmadik sorban veszem a kettő különbségét, eredményül kapok egy DateInterval objektumot, aminek az értékét végül formázva kiírom. -
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
-
bena_butus
csendes tag
válasz
Tele von Zsinór #5054 üzenetére
Uf. Hát ezt még nem teljesen értem, de azért köszi. Megpróbálok utánanézni, hogy mi micsoda, de tudsz egy pici magyarázatot is írni hozzá?
Amúgy a mktime-nál miért nem lehet 2007-et levonni az évből? -
Tele von Zsinór
őstag
válasz
bena_butus #5053 üzenetére
<?php
$start = DateTime::createFromFormat("Y-m-d", "2007-07-06");
$end = new DateTime();
$diff = $start->diff($end);
echo $diff->format("%y ev %m honap %d nap\n");kimenete:
maerlyn@biliskner:~/tmp$ php tmp.php
3 ev 0 honap 22 napmegjegyzés: a DateTime::diff függvény csak php 5.3-tól kezdve létezik.
-
bena_butus
csendes tag
Sziasztok! Php-ból nagyon kezdő vagyok, úgyhogy ne küldjetek el nagyon meleg éghajlatra a kérdésemmel:
Egy nagyon egyszerűvel szerettem volna kezdeni, ki szerettem volna számoltatni, hogy hány éves, hónapos, és napos a fiam. A gond az, hogy az évet nem jól számolja. Konkrétan 2010-ből nem tud 2007-et levonni. 1900-at még igen, de pl. 1950-et már nem!
Itt a kódom:
<?php
$balazs = mktime(0,0,0,date("m")-7,date("d")-6,date("Y")-2007);
echo "Balázs " . date("Y", $balazs) . " éves, " . date("m", $balazs) . " hónapos, " . date("d", $balazs) . " napos.";
?>Azt írja, Balázs 2002 éves... Hol a hiba? Mi a megoldás?
Előre is köszi!
-
zka67
őstag
válasz
Tele von Zsinór #5051 üzenetére
Ja, igazad van
-
pckownz
őstag
válasz
DeltaPower #5049 üzenetére
body { } és
header_setup { } is megkapta az auto left-right-ot, most úgylátszik középen van minden felbontáson. Köszöntem a segítséget, még úgy is jövök. -
pckownz
őstag
válasz
Speeedfire #5047 üzenetére
Igen itt egy body{ } nevű rész. Itt ha margin:0 auto; -t adok meg, akkor marad a helyén.
Viszont ha margin-left: ; margin-right: ; és a left-et növelem, akkor betolja középre. Van olyan parancs amivel statikusan lehetne középre lőni? Most jelenleg 1024-alól vagyok, és ami nekem közép, az nem hinném, hogy az 1440*x felbontáson is közép lenne. -
Speeedfire
félisten
-
pckownz
őstag
Sziasztok!
E107-tel bohóckodok, de van egy kis problémám.
Az egész weboldalt szeretném középre igazzítatni, mert jelenleg balra van zárva az egész.
Keresgéltem a theme.php -ban illetve a css-ben de nem találtam erre utaló sorokat.
Szóval ötleteket szeretnék kérni -
zka67
őstag
válasz
Speeedfire #5043 üzenetére
Csak ennyit módosíts és működni fog:
while (isset($_FILES['media']['name'][$i])) {
Tele von Zsinór, bocs hogy beleszólok, de a media->error->i -re is szüksége van.
-
Tele von Zsinór
őstag
válasz
Speeedfire #5043 üzenetére
De nem azt ellenőrzöd, amit kéne.
while ($_FILES['media']['name'][$i]) {
Azt mondtad, ide írja a hibát, mégpedig azért, mert nem létezik $i indexű elem az adott tömbben. Ennek a létezését nem ellenőrzöd.
Tényleg foreach-csel járnál a legjobban, az garantálja, hogy minden kulcson végigmenj. Ha mindenképp while-ozni akarsz, akkor meg while(list($k, $v) = each($_FILES["media"]["name"])), persze reset($_FILES["media"]["name"] után. -
Speeedfire
félisten
válasz
Tele von Zsinór #5042 üzenetére
ellenőrzöm csak azt nem írtam ki ide
if (isset($_FILES['media'])) {
$i = 0;
while ($_FILES['media']['name'][$i]) {
if ($_FILES['media']['error'][$i] == 0){
$szeles = 400;
$magas = 300;
$datum = date("Ymd");
$rand = strtolower(random());
$fn = 'kepek/'.$datum.'-'.$rand.'.'.end(explode('.', strtolower($_FILES['media']['name'][$i])));
$fn2 = $datum.'-'.$rand.'.tn.'.end(explode('.', strtolower($_FILES['media']['name'][$i])));
img_resize($_FILES['media']['tmp_name'][$i],$szeles,"kepek/",$fn2,$magas);
move_uploaded_file($_FILES['media']['tmp_name'][$i],$fn);
}
++$i;
}
// automatikusan tovább léptet 5 mp múlva
//header( "refresh:5;url=?oldal=nezet&id=".$id."");
echo "<div id=\"siker\"><p>Sikeres feltöltés !<br />";
echo "Tovább ...</p></div>";
} -
Tele von Zsinór
őstag
válasz
Speeedfire #5041 üzenetére
Mert nem ellenőrzöd, hogy van-e olyan kulcs (mondjuk isset-tel), hanem rögtön az értékét kéred le és értékeled ki a feltételben. Vagy tedd isset()-be, vagy használj foreach-t a kézzel növelgetés helyett.
-
Speeedfire
félisten
ennél a ciklusnál miért dob vissza undefined offsetet?
arra a sorra ahol a while van?$i = 0;
while ($_FILES['media']['name'][$i]) {
if ($_FILES['media']['error'][$i] == 0){
$szeles = 400;
$magas = 300;
$datum = date("Ymd");
$rand = strtolower(random());
$fn = 'kepek/'.$datum.'-'.$rand.'.'.end(explode('.', strtolower($_FILES['media']['name'][$i])));
$fn2 = $datum.'-'.$rand.'.'.end(explode('.', strtolower($_FILES['media']['name'][$i])));
img_resize($_FILES['media']['tmp_name'][$i],$szeles,"kepek/tn/",$fn2,$magas);
move_uploaded_file($_FILES['media']['tmp_name'][$i],$fn);
}
++$i;
} -
Speeedfire
félisten
kicsi off
durva mit lehet kezdeni a php-val
[link] -
Tele von Zsinór
őstag
Nagyban meg tudják egyszerűsíteni az életet (mondjuk speciális esetekben nehezíteni is
), én különösen azt szeretem, ahogy az objektumok közötti kapcsolatokat kezelik.
Propelt használok most már három éve, eleinte önmagában, utóbbi időben pedig mint a symfony modell rétege. Doctrine-nal csak kísérletezgettem, de a propel jobban tetszett.
Mindkettő elég jól dokumentált, és a propelt is újra aktívan fejlesztik. Javaslom, nézd meg mindkettőt, és használd a szimpatikusabbat. -
Frigo
őstag
---dupla---
-
Frigo
őstag
PHP ORM-ek közül melyiket érdemes használni (Propel ,Doctrine...) ? Illetve mikor érdemes egyáltalán ORM-et használni ?
-
Tele von Zsinór
őstag
A . a stringösszefűzés-operátor, nem is működik más típusra.
A mysql_query hívás nem tömböt ad vissza, hanem egy erőforrás-mutatót, amivel szépen a mysql_fetch_* függvények segítségével tudod megkapni az eredményeket.
Először le kell kérned az összes kapott rekordot akár egy tömbbe (végülis minek a kettő), aztán a shuffle hívás összekeveri őket. Innentől meg egy foreach-csel egyszerű kiírni.
-
biker
nagyúr
válasz
Tele von Zsinór #5034 üzenetére
üdv
a query ok, de én .-al próbáltam, de akkor már nem tudram kinyerni, mert "Resource"-ot írt ki, nem a tömböt adta vissza, vagy üreset.tehát előbb mysql_fetch_array, és utána összeadom őket?
vagy előbb összeadom és utána fetch-array? -
biker
nagyúr
lenne két hasonló tábla. mindkettőben termékek egy webshophoz. technikai okokból kettő, mert egyik auto frissítésen van
mikor lekérem az adatokat belőlük, a két tömböt hogy tudom esetleg összefűzni, hogy egybekeverve lehessen kilistzni?
nem akar menni a két query eredmény összefűzése, hibás a listázásvalamit bénázok, vagy mi?
-
zka67
őstag
válasz
Speeedfire #5030 üzenetére
Ha engem kérdeznél inkább ne tedd
Ehhez mit szólsz?
$sor = '';
if (isset($_GET['page'])) {
$sor = ($_GET['page']-1) * 10;
if ($sor < 1) $sor = 1;
} -
Speeedfire
félisten
válasz
Tele von Zsinór #5024 üzenetére
ez így mennyire szép/elegáns?
if ((isset($_GET['page'])) and ($_GET['page'] == 1)){
$sor = 1;
}
elseif (empty($_GET['page'])) {
$sor = '';
}
else {
$sor = ($_GET['page'])-'1'.'0';
}a $sor értéke az 'ol start' értéke
-
Sk8erPeter
nagyúr
válasz
fordfairlane #5028 üzenetére
Köszi szépen!
-
fordfairlane
veterán
válasz
Sk8erPeter #5027 üzenetére
A belinkelt oldalon a felhasználói kommentekben ott vannak a példák. A stripslashes-t akkor kell meghívni, ha ez az opció be van kapcsolva. Ezt le lehet kérdezni a get_magic_quotes_gpc()-vel.
Itt egy példa:
<?php
if (get_magic_quotes_gpc()) {
function stripslashes_gpc(&$value)
{
$value = stripslashes($value);
}
array_walk_recursive($_GET, 'stripslashes_gpc');
array_walk_recursive($_POST, 'stripslashes_gpc');
array_walk_recursive($_COOKIE, 'stripslashes_gpc');
array_walk_recursive($_REQUEST, 'stripslashes_gpc');
}
?> -
Sk8erPeter
nagyúr
válasz
fordfairlane #5026 üzenetére
Már PHP 5.3.0-tól is deprecated, a történelmi előzmény érthető is, meg nem is, de ez nem változtat az eredeti kérdésen.
Továbbra sem jut eszembe más, mint bent hagyni a mysql_real_escape_string() fv.-t, mert én adatbázisba töltök fel, de mivel a magic_quotes_gpc beállítás továbbra is úgy marad, először el kellene tüntetni belőle az escape-elt karaktereket, hogy ne legyen duplán escape-elve... Később egyszerűbb lenne a stripslashes()-t eltávolítani, mint most kihagyni valamelyik lépést (pl. a mysql_real_escape_string()-et), ami amúgy sem lenne praktikus szerintem. Nem?
Szerk.: látom miközben írtam a hsz.-t, szerkesztetted a sajátodat.
"a stripslashes-t kell feltételes módban és tömbre rekurzívan meghívni"
Hogy érted, hogy "feltételes módban"? Mit kellene vizsgálni?Amúgy lehet, hogy késő van, de most az sem esik le, hogy tömbre miért rekurzívan? Pl. sima foreach-csel bejárom. Vagy lehet, hogy félreértelek.
-
fordfairlane
veterán
válasz
Sk8erPeter #5025 üzenetére
Akkor magyarul ilyen esetben csak az a megoldás, hogy ha automatikusan escape-elődik pl. az összes $_POST érték, és ezzel tisztában vagyunk, akkor először alkalmazzuk a stripslashes() fv.-t, majd a mysql_real_escape_string() fv.-t az adatbázisba való feltöltéshez (amit amúgy is kellene, csak a stripslashes() nélkül már duplán lenne escape-elve)?
A megoldás az lesz, hogy PHP 6-ban már eleve nem is lesz ilyen opció, végleg eltűnik, akárcsak a register_globals.
Csak mert nálam is van egy hasonló probléma, de a mysql_real_escape_string() fv.-t nem szeretném elhagyni, mert ki tudja, később nem lesz-e PHP-verzió-váltás vagy egyéb módosítás (pl. az általad említett opció kikapcsolása).
Annak idején mikor a PHP-ba belekerült ez az automatizmus, az egyszerű használhatóság volt a jelszóé s a biztosnág, mivel a kiescapeletlen stringek együtt a register_globalssal azt eredményezte, hogy tömegével készültek a könnyen feltörhető PHP oldalak. Azonban az alapelv eleve hibás. Azt feltételezi, hogy ha kapsz egy stringértéket $_GET, $_POST vagy $_COOKIES-en keresztül, azt te szinte minden esetben adatbázisműveletre használod fel. Régebben talán igaz lehetett ez, amikor a PHP kezdetleges volt, egyetlen előnye az egyszerű használhatóság volt, de ma már a PHP rengeteg dolgot tud, ami nem adatbáziskezeléssel kapcsolatos.
Egyébként sajnos így van, ha van rá esély, hogy a magic_quotes_gpc be lesz kapcsolva a scripted felhasználása helyén, akkor a stripslashes-t kell feltételes módban és tömbre rekurzívan meghívni, mielőtt bármi műveletet hajtasz végre a stringparaméterekkel.
-
Sk8erPeter
nagyúr
válasz
fordfairlane #5021 üzenetére
Akkor magyarul ilyen esetben csak az a megoldás, hogy ha automatikusan escape-elődik pl. az összes $_POST érték, és ezzel tisztában vagyunk, akkor először alkalmazzuk a stripslashes() fv.-t, majd a mysql_real_escape_string() fv.-t az adatbázisba való feltöltéshez (amit amúgy is kellene, csak a stripslashes() nélkül már duplán lenne escape-elve)?
Csak mert nálam is van egy hasonló probléma, de a mysql_real_escape_string() fv.-t nem szeretném elhagyni, mert ki tudja, később nem lesz-e PHP-verzió-váltás vagy egyéb módosítás (pl. az általad említett opció kikapcsolása).
Így elsőre gánynak hangzik, de nem jut eszembe jobb megoldás. -
Tele von Zsinór
őstag
válasz
Speeedfire #5023 üzenetére
<ol start="42">
-
Speeedfire
félisten
ha egy tartalom lapozható, gondolok itt arra, hogy 40 bejegyzés van és én lebontom őket 5-ös csoportokra majd számozni szeretném
előbb
<ol><li></li></ol>
tagekkel akartam, de ugye nullázódik ugye minden egyes új oldalnál, aztán gondoltam behozok egy változót, de azzal is nullázódikezt hogy lehet rendesen megoldani?
-
Speeedfire
félisten
válasz
fordfairlane #5021 üzenetére
csak php-val tudtam megcsinálni, a php.ini--hez nem férek hozzá, a htaccess-t meg nem fogadta el
a segítséget meg köszönöm -
fordfairlane
veterán
válasz
Speeedfire #5020 üzenetére
Ilyen akkor történik, ha a PHP-ban be van kapcsolva a magic_quotes_gpc opció. Ilyenkor a PHP az összes $_GET, $_POST, $_COOKIES értéket magától kiescaspeli. Érdemes kikapcsolni, illetve ha ez nem járható út, akkor eltávolítani az automatikusan bekerülő backslasheket, mert nem biztos, hogy egyből adatbázisba kerülnek ezek az értékek, hiszen sokszor van form esetében a bevitt adatok kiírása még adatbázisba írás előtt, hiba vagy adatmegerősítés esetén pl..
Itt van egy példa, hogyan lehet eltávolítani, de a felhasználói kommentekben is akadnak hasznos tanácsok:
http://www.php.net/manual/en/security.magicquotes.disabling.php
-
Speeedfire
félisten
válasz
fordfairlane #5019 üzenetére
Pedig csak ennyit írta a mezőbe:
'RED'
de az adatbázisba, ahogy te is írtad már ez került:
\'RED\', holott semmi extra nincs az adatok beírásánál, csak h mysql_real_escape_string
-
fordfairlane
veterán
válasz
Speeedfire #5017 üzenetére
A mysql_real_escape_string-et adatbázisba beírásnál kell használni, de magába az adatmezőbe backslashek nélkül kell, hogy bekerüljön a tartalom. Ha kiolvasásnál plussz backslash karakterek kerülnek elő, akkor eleve nem jól lett beírva.
-
DeltaPower
addikt
válasz
Speeedfire #5017 üzenetére
-
Speeedfire
félisten
hogy lehet megoldani, h amit a mysql_real_escapce_string kiescapelt azt rendesen jelenjen meg a kimenetei oldalon?
tehát ehelyett :
\'RED\'
ez
'RED'
-
Speeedfire
félisten
válasz
Tele von Zsinór #5015 üzenetére
már megijedtem h ezt sem tudtam leírni normálisan
én meg már szó szerint alig látok de ezt már azért is befejezem -
Tele von Zsinór
őstag
válasz
Speeedfire #5014 üzenetére
Késő este ez van.
Rendben, csak az üres blokk, meg a közvetlen alatta levő sor behúzása miatt úgy nézett ki, hogy elnézted.
-
Speeedfire
félisten
válasz
Tele von Zsinór #5013 üzenetére
ennyire nem figyelnék oda, h mit írok?
az else ágon nem kell semmi sem nekem, ha a $mit2 nincs deklarálva akkor márcsak azt kell a végéhez fűzni h mi szerint rendezze. vagy tévednék?
-
Tele von Zsinór
őstag
válasz
Speeedfire #5012 üzenetére
.=, nem pedig . =, és az else ágadat gondold át megint.
-
Speeedfire
félisten
ezzel mi a baja?
if (isset($mit) and isset($search_text)) {
$sql="SELECT * FROM `film_adatok` where
($mit LIKE '%$search_text%' )";
if (isset($mit2)) {
$sql . = "and (".$mit2." LIKE '%search_text%' )";
}
else {}
$sql . = "ORDER BY `film_adatok`.`id` DESC"
};erre a sorra panaszkodik, h kódolási hiba van:
$sql . = "and (".$mit2." LIKE '%search_text%' )";
-
Speeedfire
félisten
válasz
Tele von Zsinór #5010 üzenetére
a te scriptedből kiindulva sikerült megoldani a gondot
köszönöm a segítésget
function img_resize( $tmpname, $size , $save_dir, $save_name, $maxisheight )
{
$save_dir .= ( substr($save_dir,-1) != "/") ? "/" : "";
$gis = getimagesize($tmpname);
$type = $gis[2];
switch($type)
{
case "1": $imorig = imagecreatefromgif($tmpname); break;
case "2": $imorig = imagecreatefromjpeg($tmpname);break;
case "3": $imorig = imagecreatefrompng($tmpname); break;
default: $imorig = imagecreatefromjpeg($tmpname);
}
$x = imagesx($imorig);
$y = imagesy($imorig);
if(($gis[0] <= $size) and ($gis[1] <= $maxisheight))
{
$aw = $x;
$ah = $y;
}
elseif (($gis[1] >= $gis[0]) and ($size<$gis[0])) {
$aw=ceil($size/$gis[1]*$gis[0]);
$ah=$size;
}
elseif (($maxisheight<$gis[1]) and ($gis[0] >= $gis[1])) {
$ah=ceil($maxisheight/$gis[0]*$gis[1]);
$aw=$maxisheight;
}
$im = imagecreatetruecolor($aw,$ah);
if (imagecopyresampled($im,$imorig , 0,0,0,0,$aw,$ah,$x,$y))
if (imagejpeg($im, $save_dir.$save_name))
return true;
else
return false;
} -
Tele von Zsinór
őstag
válasz
Speeedfire #5009 üzenetére
static public function resizeAndMove($from_path, $to_path, $max_width, $max_height)
{
@ini_set("memory_limit", "128M");
$image_info = getImageSize($from_path);
switch ($image_info['mime']) {
case 'image/jpeg': $o_im = imageCreateFromJPEG($from_path); break;
//add more if needed
default:
return false;
}
$o_wd = imagesx($o_im) ;
$o_ht = imagesy($o_im) ;
if ($o_ht >= $o_wd) {
if ($o_ht > $max_height) {
$lamda = $max_height / $o_ht;
} else {
$lamda = 1;
}
} else {
if ($o_wd > $max_width) {
$lamda = $max_width / $o_wd;
} else {
$lamda = 1;
}
}
$t_ht = round($lamda * $o_ht);
$t_wd = round($lamda * $o_wd) ;
$t_im = imageCreateTrueColor($t_wd,$t_ht);
imageCopyResampled($t_im, $o_im, 0, 0, 0, 0, $t_wd, $t_ht, $o_wd, $o_ht);
imagePNG($t_im, $to_path );
imageDestroy($o_im);
imageDestroy($t_im);
} -
Speeedfire
félisten
lehet hülye kérdés, de h lehet képet úgy átméretezni, hogy minden irányból a maximum méretig mehessen?
szóval megadom neki h 640*480 és egyik fele se legyen nagyobb?az alábbi kóddal szenvedek de sehogy sem jön össze:
function img_resize( $tmpname, $size , $save_dir, $save_name, $maxisheight )
{
$save_dir .= ( substr($save_dir,-1) != "/") ? "/" : "";
$gis = getimagesize($tmpname);
$type = $gis[2];
switch($type)
{
case "1": $imorig = imagecreatefromgif($tmpname); break;
case "2": $imorig = imagecreatefromjpeg($tmpname);break;
case "3": $imorig = imagecreatefrompng($tmpname); break;
default: $imorig = imagecreatefromjpeg($tmpname);
}
if ($size<$gis[0])
{
$ah=ceil($size/$gis[0]*$gis[1]);
$aw=$size;
}
if ($maxisheight<$gis[1])
{
$aw=ceil($maxisheight/$gis[1]*$gis[0]);
$ah=$maxisheight;
}
$im = imagecreatetruecolor($aw,$ah);
if (imagecopyresampled($im,$imorig , 0,0,0,0,$aw,$ah,$x,$y))
if (imagejpeg($im, $save_dir.$save_name))
return true;
else
return false;
}mindig csak a magasságig nézi, a többit figyelmen kívül veszi
-
Speeedfire
félisten
válasz
Tele von Zsinór #5007 üzenetére
ismét köszönöm
-
Tele von Zsinór
őstag
válasz
Speeedfire #5006 üzenetére
Filenév generálásakor str_pad.
-
Speeedfire
félisten
a múltkor zka67 kisegített egy kóddal
az lenne a kérdésem h lehet megoldani azt h a számláló ne 1 karakteres legyen, hanem 2
gondolok itt arra, hogy ne azt írja h 2 hanem 02, mert 10 fájl feltöltése után már kicsit zavaró kiíráskor, hogy nem a megfelelő sorrendben írja ki -
Speeedfire
félisten
válasz
DeltaPower #5001 üzenetére
ezt nem tudtam
köszi a segítséget -
Tele von Zsinór
őstag
válasz
vakondka #5002 üzenetére
Igen, de az az igazi, ha csinálsz egy tömböt a user által elfogadott nyelvekkel, prioritási sorrendben, majd megnézed, melyik a legkorábbi eleme, ami a másik tömbben is benne van, ami meg az oldalad által támogatott nyelveket tárolja. Ha egyik sincs, akkor meg az oldalad nyelveinek első eleme a default.
-
vakondka
őstag
válasz
Tele von Zsinór #4999 üzenetére
Akkor mégsem írtam akkora hülyeséget...
Igazad van, akinek magyar böngészője van az tuti magyarul szeretné látni a weboldaltSzerintem ha benne van valahol hogy "hu" akkor mindent leegyszerűsítve:
<?php
$lang = getenv('HTTP_ACCEPT_LANGUAGE');
if (strstr($lang,'hu')) {
echo 'Ez magyar !';
}
else {
echo 'Ez nem magyar !';
}
?>múkodj!
-
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.
Új hozzászólás Aktív témák
Hirdetés
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- PlayStation 5
- Milyen belső merevlemezt vegyek?
- A fociról könnyedén, egy baráti társaságban
- Elemlámpa, zseblámpa
- OLED TV topic
- Android játékok topikja
- gban: Ingyen kellene, de tegnapra
- Autós topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- BESZÁMÍTÁS! MSI B450M R5 3600 16GB DDR4 512GB SSD RTX 2060 Super 8GB THERMALTAKE Core V21 500W
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- PlayStation Plus Premium 24 hónapos előfizetés , egyenesen a Sony-tól!
- Samsung Galaxy S23 Plus 256 GB Kártyafüggetlen 1Év Garanciával
- BESZÁMÍTÁS! 1TB Western Digital SN850X NVMe SSD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest