- Hivatalosan is bemutatta a Google a Pixel 6a-t
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Friss koncepciót hoz a Nothing Phone (3)
- Xiaomi 15 Ultra - kamera, telefon
- Íme az új Android Auto!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Xiaomi 15 - kicsi telefon nagy energiával
- iPhone topik
- Azonnali mobilos kérdések órája
- Yettel topik
Aktív témák
-
L3zl13
nagyúr
válasz
vzsolo2225 #1718 üzenetére
2. Ha HTTP-vel include-olsz nem megy át a session id-> ezért indul új session. Ne http-vel include-olj, hanem ahogy faster is írta fentebb.
Az index.php-ben pedig ne csak $_GET['valami']-t figyelj, hanem pl:
if(isset($_GET['valami'])) $valami=$_GET['valami'];
if($valami)==xxx {
....
}
1. Passz. Valószinűleg valami apróságról van szó, de ezt így látatlanban nem tudom megmondani. -
L3zl13
nagyúr
Persze, hogy látja a $_GET-et az includolt fájl, de nézd meg faster példáját.
Nem lehet úgy includeolni fájlként (nem urlként), hogy include('valami.php?valami=4).
A valami változót úgy tudod átadni az include-olt fájlnak, hogy előtte beállítod az értékét egy értékadással.
De ugye a include('valami.php?valami=4)egy GET-es értékátadás akart lenni, ami ha működött volna, akkor lehetett volna $_GET['valami'-ből kiolvasni az értéket, ami persze a faster által említett módszernál már nem működik.
Ezt csak amiatt jegyeztem meg, hogy ha valaki egy már működő oldalt akarna include-dal bepakolni egy másik fájlba. -
L3zl13
nagyúr
válasz
Flashback #1688 üzenetére
Én nem karakterenként olvasnám be...
Ha beolvasod soronként egy tömbbe (file() fv.), még utánna az egyes sorokat is tudod kezelni karakterenként. A sortörés probléma pedig máris megoldva.
Egyébként pedig sortörés többfajta is lehet attól függően, hogy unixos, vagy windowsos formátum stb. chr(13) és chr(10) karaktereket szűrd ki. Az egyik a kocsivissza a másik a soremelés. Lehet, hogy együtt vannak, de lehet, hogy csak az egyik.
De talán alkalmazhatod a ($kar!=''\r'' && $kar!=''\n'')-t is. -
L3zl13
nagyúr
ATW nem ismeri az iconv-t kipróbáltam.
Viszont iconv nélkül működött rendesen, és ékezetekkel sem volt gondom (Outlook 2003 alatt néztem.) ha manuálisan ékezetes szöveget adtam meg a kódban tárgynak, vagy levéltörzsnek, tehát lehet, hogy abban a kódban kellene megnézned a szöveg kódolását, ahonnan jön a szöveg. (Flash?) -
L3zl13
nagyúr
válasz
paramparya #1151 üzenetére
IE-ben pl külön tiltható a session cookie.
Illetve a session coookiek általában még a viszonylag szigorú biztonsági beállításokon is átmennek. -> Szvsz nincs velük különösebb gond.
De ha biztosat akarsz akkor asszem kénytelen leszel GET-tel átadni. -
L3zl13
nagyúr
Szvsz nem jó az 1 topic / tábla.
Egyrészt problémás általánosan megírni a lekérdezéseket a sok táblára, másrészt nehéz több azonos szerkezetű táblát használó lekérdezést írni. (Lásd keresések stb.)
Ráaádsul abban sem vagyok biztos, hogy a fájlrendszer alapú kezelés gyorsabb, mint az adatbázis sajátja. -
L3zl13
nagyúr
válasz
Protezis #1010 üzenetére
Soha nem kerestem ilyen progit.
A max amit a PHP szerkesztésre használt szövegszerkesztőben (editplus) kihasználtam, az az increase indent/decrease indent volt. A kijelölt szövegrészt egy tabbal beljebb tolja, vagy kijjebb húzza. De az egyes szinteket nem állapítja meg magától, ezeket nekem kell külön kijelölgetnem.
Lehetséges kulcsszavak: format, indent, auto... -
L3zl13
nagyúr
Itt is át lehet adni a tömb mutatót függvények között, de nem programok között. (Új oldal, frissítés, linkre kattintás= új program).
És nem azokra a printekre gondoltam, hanem erre: print ''<a href=teszt2.php?tomb=$tomb>klikk<a>''; Itt ugye nem a tömb tartalma, vagy egy darab eleme szerepel a printben, hanem csak a tömb mutatója, amire a PHP úgy reagál, hogy kiírja, hogy array.
Elemenkénti átadás barbár, de itt ugye arról van szó, hogy PHP-ből PHP-nek nem közvetlenül, hanem HTML-en keresztül adod át az értékekt, ezért ilyen fapados.
[Szerkesztve] -
L3zl13
nagyúr
válasz
zsolty28 #931 üzenetére
Oldal betöltéskor kellene random egyet beraknia, vagy a betöltött oldalon is váltakoznia kellene bizonyos időközönként?
Utóbbi esetben csak a JS marad megoldásként.
Előbbi esetben meg teljesen egyszerű módon mondjuk eltárolod egy tömbben az 5 banner url-jét, majd a html kódban a megfelelő helyre beszúrni egy <IMG SRC=''<?PHP =bannerek[rand(0,4)]?>''> részt. -
L3zl13
nagyúr
Miért mire számítottál?
Tekintve, hogy printtel simán ki sem tudod iratni a tömb tartalmát, és te csak simán egy kiiratást csinálsz a HREF-nél, ha csak simán ráállsz az egérrel, már látható, hogy nem viszi át, csak az array szót. (Tekintve, hogy ha tömböt akarsz kiiratni, akkor ezt adja vissza a PHP.)
A kiiratáskor meg azért csak ''arra'' lesz, mert az ''array'' stringet tömbként kezelve kiiratja az első 4 elemét (0-3).
Tömböt így nem lehet átadni.
Vagy elemenként kell, vagy pl sessionben. -
L3zl13
nagyúr
válasz
Benmartin #926 üzenetére
1. PHP-ben az = az értékadás. == az egyenlőség vizsgálat
2. if (for, while...) után nem rakunk pontosvesszőt, mert akkor ott vége is az elágazásnak (azaz csak egy üres utasítás az elágazás belseje
3. bár a PHP-t ez nem zavarja, és ezért nem hiba, de szvsz ne keverd a szöveg formátumú szám és a szám értékeket. Azaz ha egy változónak szám értéket akarsz megadni, akkor ne tedd idézőjelbe.
<?php
function negpovnull()
{
global $x;
if ($x==0)
{
print ''a szám egyenlo nullával'';
}
if ($x<0)
{
print ''a szám negatív'';
}
if ($x>0)
{
print ''a szám pozitív'';
}
}
$x=4;
echo negpovnull();
?>
[Szerkesztve]
[Szerkesztve] -
L3zl13
nagyúr
válasz
vzsolo2225 #622 üzenetére
Hogyne lehetne txt-ra jogot állítani...
-
L3zl13
nagyúr
válasz
Benmartin #567 üzenetére
1. Referer: A védett oldalon így indítasz: if($_SERVER['HTTP_REFERER'
!='átirányító oldal címe') exit;
2. Session: Átirányító oldalon így indítasz: session_start(); majd jelszó ellenőrzés után, ha a jelszó rendben: $_SESSION['belépett'='OK';
Védett oldalon: így indítasz: session_start(); if(!isset($_SESSION['belepett')) exit;
Ezekben az esetekben minden védett oldalt a fenti módon kell indítani. Így ha a referer (1) vagy a session (2) nincs rendben, akkor rögtön exit-tel kilép a script, és nem jön le a védett tartalom.
1 és 2 együtt is alkalmazható.
3. Ebben az esetben nincs átirányítás. Maga a jelszó vizsgáló oldal végzi a megjelenítést.
Jelszó vizsgálat hiba: exit(), vagy hibaüzenet. else include ''eldugott vagy tiltott helyen lévő védett oldal''; vagy valami template-es tartalom összeállítós módszer.
3. módszert a 2.-vel együtt javasolt, ha több védett oldal van, hogy csak egyszer kelljen jelszó, utánna már csak a sessiont vizsgálja. -
L3zl13
nagyúr
válasz
Benmartin #560 üzenetére
Egy jó módszer, ha a védett oldalak nem elérhetőek közvetlenül, hanem mondjuk a document rooton kívül vannak, és csak a PHP script éri el őket fájl szinten.
A jelszó ellenőrzés után, meg nem átirányítást kell használni, hanem beincludeolni a másként nem elérhető oldalakat. -
L3zl13
nagyúr
válasz
vzsolo2225 #556 üzenetére
Szvsz ne a php-n legyen írásjog, hanem a valami.txt-n legyen írásjoga a PHP-nek. (Azaz annak a felhasználónak akinek a nevében a php fut.)
-
L3zl13
nagyúr
Több lehetőség is van.
Lehet php.iniből az error reporting részben beállítani, hogy warning-okat, notice-okat ne jelenítsen meg.
Ugyanezt a paramétert lehet állítani magából a scriptből is ini_set() fv.-vel, ha engedélyezett.
Valamint ha a hibát adó utasítás elejére teszel egy @-t akkor nem kapsz hibaüzenetet,
De szvsz legjobb, ha úgy írod meg a kódot, hogy ne legyenek notice-ok és warningok. -
L3zl13
nagyúr
Ok, hogy összetartoznak logikailag, de ennek ellenére egymástól független objektumok kell legyenek, hiszen egymástól függetlenül klikkelhetők ellenben mondjuk a radiobuttonokkal, ahol az összetartozó radiobuttonok közül mindig csak egy lehet kiválaszva.
issettel meg természeten mindegyiket ellenőrizd or-ral elválaszva, tehát ha ez vagy ez vagy ez ... akkor...
value-hoz azt írsz amit akarsz, igazából asszem ki is hagyható, ha nem írs semmit, akkor asszem egy TRUE logikai értéket fog elküldeni a form. -
L3zl13
nagyúr
-
L3zl13
nagyúr
válasz
vzsolo2225 #386 üzenetére
Úgy kell ahogy írtuk. Nekem müxik mind chmod paranccsal, mint a file menü attribútumok módosítása segítségével...
Nekem akkor írja azt a hibaüzit, mint neked, mikor a squid proxin keresztül csatlakozom fel az FTP-re, ami ugye nem FTP proxy, hanem csak HTTP proxy FTP támogatással, tehát bizonyos FTP funkciók nem működnek rajta keresztül...
[Szerkesztve] -
L3zl13
nagyúr
Hát a GET-et máshogy is lehet használni, sőt első sorban nem header fv-vel szokják használni, hanem a másik php fájlra mutató link HREF-jébe hozzáfűzik a változókat abban a formában ahogy látod is az explorerben. (xyz.php?valtozo1=1&valtozo2=2...)
POST-ot nem tudsz csinálni alap PHP-vel, csak CURL modullal, vagy valami js-sel auto POST-oltatott formmal. -
L3zl13
nagyúr
válasz
vzsolo2225 #365 üzenetére
Nem proxyn keresztül FTP-zel esetleg? Az szokott bekavarni az ilyemibe...
Vagy csak szimplán nincs rá jogod. -
L3zl13
nagyúr
Igen, oda fog ugrani ami az actionben meg van adva.
Ha akarod, a bejelentkező form és a beléptetés lehet ugyan az az oldal is. Ha az actionben nem adsz meg semmit, akkor ez az alapértelmezett.
Persze ez esetben érdemes úgy módosítani, hogy:
<?PHP
session_start();
if (isset($_POST['belepmezőneve'])) {
if($_POST['szövegmezőneve']=='jelszó')
$_SESSION['login']=TRUE;
else unset($_SESSION['login']);
} elseif (isset($_POST['kilepgomb'])) {
unset($_SESSION['login']);
}
if (!isset($_SESSION['login'])) {
?>
BEJELENTKEZŐ FORM KIIRATÁSA
<?PHP
exit();
}
else {
?>
KIJELENTKEZŐ FORM KIIRATÁSA és nincs exit();
<?PHP
}
?>
És ezt minden bejelentkező oldal elejére betenni. Bár a többi oldalra ennyi is elég:
<?PHP
session_start();
if (!isset($_SESSION['login'])) {
?>
BEJELENTKEZŐ FORM KIIRATÁSA
<?
exit();
}
else {
?>
KIJELENTKEZŐ FORM KIIRATÁSA és nincs exit();
<?PHP
}
?>
A PHP kód helye az oldalon belül mellékes, persze mindenképp az oldal védett tartalmának kiratása előtt szükséges a vizsgálat.
Az oldaltól függ, hogy hova érdemes tenni. Ha van valami formázása az oldalnak, akkor arra figyelj, hogy az exit/die függvény után már semmi sem fut le, tehát a megnyitott HTML tagok lezárása sem. Ha ez gond, akkor ne használd ezeket a függvényeket, hanem a védett rész kiiratását egyszerűen tedd az else ágon belülre a kijelentkező form után. A formázás lezáró tagjait, meg az else ág után, hogy a feltételtől függetlenül mindig lefusson. Azaz:
HEAD
BODY
FORMÁZÁS, TÁBLÁK, DIVEK, NEM VÉDETT TARTALOM
<?PHP
session_start();
if (!isset($_SESSION['login'])) {
?>
BEJELENTKEZŐ FORM KIIRATÁSA nincs exit/die
<?PHP
}
else {
?>
KIJELENTKEZŐ FORM KIIRATÁSA
VÉDETT TARTALOM KIIRATÁSA
nincs exit/die
<?PHP
}
?>
FORMÁZÁS, TÁBLÁK, DIVEK lezárása, TOVÁBBI NEM VÉDETT TARTALOM
Így mondjuk keveredik a PHP és a HTML kód, ami nem a leg elegánsabb, de ez a legegyszerűbb.
[Szerkesztve] -
L3zl13
nagyúr
válasz
vzsolo2225 #354 üzenetére
Próbáld úgy, hogy kiválasztod a fált (fájlokat) majd TC-ben file menü/Attribútumok módosítása. És ott beírod a 776-ot, vagy amit akarsz.
-
L3zl13
nagyúr
Ha nem akarod, hogy az oldal kódját megnézve kiolvasható legyen a kód, akkor mindenképp egy PHP-s, vagy hasonló szerveroldali megoldást ajánlok.
Ez annyiból áll, hogy kezdő oldalon egy form, egy szövegmező+egy submit.
Fogadó oldalon (ami az actionben meg van adva) pedig:
<?PHP
session_start();
if (isset($_POST['szövegmezőneve']) && $_POST['szövegmezőneve']==''jelszó'')
$_SESSION['login']=TRUE;
else unset($_SESSION['login']);
if (!isset($_SESSION['login'])) die('Először lépjen be!');
?>
És ezt minden bejelentkező oldal elejére betenni. Bár a többi oldalra ennyi is elég:
<?PHP
session_start();
if (!isset($_SESSION['login'])) die('Először lépjen be!');
?>
Persze nem árt még egy kijelentkezés gomb és kijelentkező script is... -
L3zl13
nagyúr
válasz
vzsolo2225 #336 üzenetére
Változó értéknél:
Formba:
<input type='hidden' name='valami' value=2>
Meghívott oldalon:
if (isset($_POST['valami'])) $_SESSION['valami']=$_POST['valami'];
Fix értéknél:
Formba:
<input type='hidden' name='valami' value='elkuldve'>
Meghívott oldalon:
if (isset($_POST['valami']) && $_POST['valami']=='elkuldve') $_SESSION['valami']=2;
Szerk: F*cking smileys
[Szerkesztve] -
L3zl13
nagyúr
válasz
whitewolf5 #333 üzenetére
Mármint WYSIWYG szerkesztővel szeretnél módosítani a kész oldalon?
Dreamweaver felismeri a PHP kódot, de nem jeleníti meg nézetben ha jól tudom. Szóval ha nem jól van szerkesztve az oldal, akkor szétgányolja a megjelenítési képet. Nem tudja értelmezni, hogy az HTML TAG-ok egy része ott van simán, a másik részük meg csak PHP-ből van kiechózva.
Ha viszont készítéskor figyelsz erre, akkor még úgy is lehet normálisan szerkeszteni a PHP oldalt, hogy keverve van PHP és a HTML kód.
A legjobb persze ha TEMPLATE-es formában készül az oldal, mert ilyenkor a template-eket nyugodtan szerkesztheted amivel akarod, mivel nem keveredik a PHP kód a HTML-lel. -
L3zl13
nagyúr
Tud valaki ''kész'' md5 dekódoló algoritmust?
Nyilvánvalóan olyat, ami meghatározott maximális hosszúságú karaktersorozatot próbál előállítani. Mint pl az előbbi kérdésben... -
L3zl13
nagyúr
Mi köze a MySQL-nek ahhoz, hogy kliens oldalon hogyan cserélgeted az oldal tartalmát?
Ha nem töltöd újra az oldalt (márpedig azt mondtad), akkor szerinted mennyiben fogja érdekelni a böngésződet, hogy a szerveren található adatbázisban mi található?
Igen, ha egy linkkel akarsz több iframe-et is módosítani, akkor JS-kell. Ha ez túl bonyolult, akkor inkább gondold át az oldal szerkezetét, hogy ne két iframe-et kelljen változtatni... -
-
L3zl13
nagyúr
Mindkettő ugyanazt az eredményt dobta, szóval a php.net-nek volt igaza...
Ps: Nem azt az eredményt kaptam amire számítottam. Sőt, nem is azt ami a php.net-en szereplő példák alapján kéne...
Kód:
$szoveg=''kis alma kis körte'';
echo strchr($szoveg,''kis'');
echo ''<BR>'';
echo strstr($szoveg,''kis'');
eredmény:
kis alma kis körte
kis alma kis körte
[Szerkesztve] -
L3zl13
nagyúr
php.net-en jó súgó van a függvényekről, de:
strchr(miben, mit) vissza string, A keresett rész első előfordulását adja vissza szövegként.
srtpos(miben, mit) vissza int, a keresett rész első előfordulásának helyét adja vissza
strstr(miben,mit) vissza string, a keresett rész összes előfordulását adja vissza stringként,
substr_count vissza int, a megmondja a keresett rész hányszor fordult elő a szövegben
Soknak van r-es és i-s változata is. (R hátulról keres, I-s figyelmen kívül hagyja a kis nagy betűket)
$x=strchr($szoveg,'Kis');
if ($x!='') echo ''Van!'';
else echo 'Nincs!';
Aktív témák
Hirdetés
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- OpenMediaVault
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Parkside szerszám kibeszélő
- Gaming notebook topik
- BGA-zók, ReWork-ösök szakmai topic-ja
- Konteó topic
- Könyvajánló
- Sorozatok
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
- További aktív témák...
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook Laptop 14" -80% i7-10610U 16/512 FHD IPS MATT
- Eladó Lian Li O11D MINI-X gépház
- Lenovo ThinkPad P17 Tervező Vágó Laptop -50% 17,3" i7-10750H 32/512 QUADRO T1000 4GB
- FSP DAGGER PRO ATX3.0(PCIe5.0) 850W Sfx tápegység
- Eladó PNY GeForce RTX 4070 Ti SUPER 16GB OC XLR8
- LG 55C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
- DELL PowerEdge R630 rack szerver - 2xE5-2650v3 (20 mag / 40 szál, 2.3/3.0GHz), 32GB RAM, 55992Ft+ÁFA
- Windows! Logitech Mx Keys Magyar!
- Üzleti Fujitsu Lifebook u7510 15,6" FHD IPS 2021/08. havi gyártás
- Bomba ár! Dell Latitude 5310 - i5-10GEN I 16GB I 256SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest