Új hozzászólás Aktív témák
-
L3zl13
nagyúr
válasz
Thunder78
#1471
üzenetére
Az első verzióra nincs olyan report, ami pár másodperc alatt megvan?
A scriptnek mindig csak ezt kellene meghívnia.
Vagy amíg az adatokat szedi össze a Crystal addig semmire nem válaszol?
Ez esetben meg lehetne oldani a scriptben, hogy x idő mulva újra próbálkozzon.2. verzió: fopen() függvény képes http-n keresztül is beolvasni adatot. Ha a framesetbe a mainframe-be normálisan betöltött html oldal url-je helyett egy egyszerű php script-et adsz meg src ként, ami kb ennyiből áll:
<?PHP
$file=file_get_contents("http://mainframe-ben_megjelenítendő_html_fájl");
echo $file;
?>Akkor látszatra ugyanúgy fog kinézni a végeredmény. De mivel itt egy PHP script iratja ki a szöveget ezért azzal bármit csinálhatsz a kódon belül, mint bármely más stringgel.
Pl ha nem lenne az az említett 5-10 perces "normál működés közbeni" várakozás, akkor meg lehetett volna csinálni, hogy ha pár másodpercen belül nem kap választ a script, akkor automatikusan a másik szerverhez fordul..."Nekem elég lenne azt tudnom, hogy a szerveren a main ablakba mi van megnyitva"
Mi generálja a framesetet? Illetve változik-e a frame-ek tartalma a frameset betöltődése után? Ha változik, és nem PHP-ből, hanem sima HTML-ből, akkor azt PHP-vel nem fogod tudni kideríteni. Max ha formmal visszaküldöd a PHP-nak az infót, amit mondjuk előtte JS-sel olvasol ki a headben.
Pl:<form id="form1" name="form1" method="post" action="" target=main>
<input type="submit" name="ok" id="ok" value="Szerverváltás" onclick='document.form1.action="changeserver.php?url="+parent.main.document.URL'/>
</form>changeserv.php-ben meg $_POST["url"]-ből kiolvasod, hogy mi volt a megnyitott oldal elérési útja, és aszerint nyitod meg a másik szerveren a megfelelő oldalt.
-
L3zl13
nagyúr
válasz
Thunder78
#1469
üzenetére
Első megoldás, nem kimondottan php.
Adott időközönként lefuttatsz egy scriptet, ami vizsgálja, hogy megy-e egy adott page server. Az eredménynek megfelelően valamit beleít egy fájlba, amit PHP-be beincludálsz, és az alapján hívod meg egyik vagy másik oldalt.Másik megoldás full php, de nem biztos hogy erőforrás felhasználás szempontjából ez a jobb. A main-t illetve a foot-ot PHP-ből hívod le
fopen()
-nel, vagy
fsockopen/fread
párossal, és echóztatod ki a framebe. Beállítasz egy timeoutot (
stream_set_timeout()
), ha addig nem jön meg a válasz, akkor bepróbálkozol a másik szervernél.
-
RedAnt
aktív tag
válasz
Thunder78
#634
üzenetére
legegyszerűbben a file_get_contents() függvénnyel lehet lekérni oldalakat.
Ha összetettebb műveleteket akarsz végezni (spéci fejléceket /mondjuk cookiekat/ kiküldeni, adatokat post-olni, ilyesmi), akkor érdemes belemélyedni kicsit a http protokollba, és saját függvényeket kidolgozni fsockopen-re. -
H.O.D.
senior tag
válasz
Thunder78
#531
üzenetére
<!DOCTYPE HTML PUBLIC ''-//W3C//DTD HTML 4.0 Transitional//EN''>
<HTML>
<HEAD>
<TITLE>Számlaszám bevitel</TITLE>
<META http-equiv=Content-Type content=''text/html; charset=windows-1250''>
<SCRIPT type=''text/javascript'' language=''JavaScript''>
var getEv;
var cValue = '';
var cBuffer = '';
var Clen = 0;
var getEv;
function formatAccNumber() {
if(checkPressed() == true) {
cValue = document.all['a_num'].value;
if(cValue) {
cValue = cValue.replace(/-/g , '');
cLen = cValue.length;
if(cLen > 8) {
cValue = cValue.substr(0 , 8) + '-' + cValue.substr(8);
}
if(cLen > 16) {
cValue = cValue.substr(0 , 17) + '-' + cValue.substr(17);
}
}
cBuffer = cValue;
}
else {
cValue = cBuffer;
}
document.all['a_num'].value = cValue;
return false;
}
function checkPressed() {
getEv = event.keyCode;
if((getEv >= 48 && getEv <= 57) || getEv == 8 || getEv == 13) {
return true;
}
else {
return false;
}
}
</SCRIPT>
</HEAD>
<BODY>
<INPUT type=''text'' name=''a_num'' size=''26'' maxlength=''26'' value='''' onKeyUp=''formatAccNumber()'' />
</BODY>
</HTML>
Használd egészséggel
[Szerkesztve] -
föccer
nagyúr
válasz
Thunder78
#527
üzenetére
Köszke az összefoglaló.
Hál' égieknek nem lesz akkor ''embertömeg'' az adminisztrátorok között (szerintem 2 fő max 3.., hogy adatbázist inditsak az adatok letárolására
Arra gondoltam, hogy a php-ban benne lenne az ellenörzés, és ha véletlen új tagot akatok felvenni, akkor beírom a swich mögé, hogy xy néven ilyen joggal rendelkező emberke lépett be. Az admin felület utána a kiosztott jogok alapján változik, szal elvileg járható út.
üdv.: föccer -
Lortech
addikt
-
föccer
nagyúr
válasz
Thunder78
#460
üzenetére
<a href=adatlap.php?id=''.$ertek.'' target=_blank>''.$ertek.''</a>
Egy link, ami megnyitj a az adatlap.php-t A link szövege az $ertek változóban eltárolt szám (ID szám), míg a ? után jöhetnek az átadott változók. Feldolgozó php-ban (itt adatlap.php) pedig a $_GET[id] változóban van letárolva az átadott érték.
Így dolgozik itt a PH! oldala is. -
tbs
addikt
válasz
Thunder78
#443
üzenetére
MD5, SHA1 -> hash, az input elvileg egyedi lenyomata. Ugyanarra az inputra ad csak ugyaolyan outputot. Ellenőrzésekre jó, pl. ahol direkt nem akarod tudni, hogy mi az eredeti szöveg. Vagy a szöveg vátozatlanságának ellenőrzésére.
Base64 -> röviden ''bitszámcsökkentő''. Benne van az adat, 0 titkossággal. Mintha nem is kódolnád.
A feladatra hash függvényt használnék. Ha tényleg lehet. Az jól mutat GET kérésben is.
Pdf-et generálnék az FPDF nevű cuccal.
Új hozzászólás Aktív témák
- Samsung kuponkunyeráló
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Geri Bátyó: Agglegénykonyha 14 – Kések, késélezés
- Bambu Lab 3D nyomtatók
- Futás, futópályák
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Xbox Series X|S
- Fotók, videók mobillal
- Xiaomi 17 Ultra - jó az optikája
- Samsung Galaxy Felhasználók OFF topicja
- További aktív témák...
- Üzletből, garanciával, Macbook Pro M1 Max 14" 2021, 32GB RAM/512GBSSD/Liquid Retina XDR/magyar bill.
- Eladó RTX 3070 ti / i5 8600K / 16GB DDR4 / 500GB NVME SSD
- Asus Dual RTX 4070 SUPER EVO + FirstShop garancia 2027.04.09-ig
- Eladó GARANCIÁLIS Asus ROG Astral Nvidia Geforce RTX 5080 OC 16gb
- Asus rog 3080ti / Asus zephyrus 4090
- Thermalright Phantom Spirit 120 SE
- Samsung 16GB DDR5 5600MHz M425R2GA3PB0-CWM
- Xiaomi Redmi Note 13 Pro 8/256GB - Kártyafüggetlen, Fekete - 1 Év garanciával
- Dell USB-C, Thunderbolt 3, TB3, TB4 dokkolók (K20A) WD19TB / WD19TBS / WD22TB4
- LG 27GR95UM - 27" MiniLED - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 1000
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest








