window.open meghívása PHP-ből?
Sziasztok. Abszolut kezdő vagyok szóval ne lepődjetek meg ha csacska ságot kérdezek. A következőt szeretném: php-ből szeretnék (a feltételes elágazás else ágaként) megnyitni egy új ablakot úgy hogy néhány változónak az értéket átadom és azt a felugró oldalon kiiratom.
Vagyis a kérdés: 1 hogy lehet php-ből új ablakot nyitni? 2 php-s értékekkel műveletet végezni-kiiratni az új ablakban?
Javascriptre már találtam megoldást: ime egy rövid a Js 1.3 referenciából:Valahogy a phpből kellene meghívni a window.open Js fügvényt -úgy hogy a lekérdezés (ami pöpecül működik) $eredmeny tömbjének értékét átadom a JS-nek. Biztos nem olyan bonyolult,csak össze kéne kombinálni, de én már vagy három és fél órája ezzel szenvedek.
Aki tudja a választ kérem segítsen meg vele. Köszönöm
■ Vagyis a kérdés: 1 hogy lehet php-ből új ablakot nyitni? 2 php-s értékekkel műveletet végezni-kiiratni az új ablakban?
Javascriptre már találtam megoldást: ime egy rövid a Js 1.3 referenciából:
function windowOpener() {
msgWindow=window.open("","displayWindow","menubar=yes,width=250,height=200")
msgWindow.document.write
("<HEAD><TITLE>Message window</TITLE></HEAD>")
msgWindow.document.write
("<CENTER><BIG><B>Hello, world!</B></BIG></CENTER>")
}
Aki tudja a választ kérem segítsen meg vele. Köszönöm
szerveroldal - kliens oldal
Mert a php szerver oldalon fut le, a javascript meg kliens oldalon.
Annyit tudsz tenni, hogy a fájlodban benne van a JS function, és php-val kiiratsz rá egy meghívást:
tömbátadás
<Nincs cím>
A megoldás
Íme ő az egy login oldal ami a mysql szervertől kéri le a felhasználónév/jelszó párost és ha nem jó akkor egy popup ablakban értesíti őt. A kód lehet hogy nem a legszebb mivel majdnem teljesen kezdő vagyok. De működik!
Magyarra lefordítva:
1 kapcsolódunk a szerverhez ha nem sikerül üzenet = 'hiba...'
2 ekkor az üzenet változónak van értéke tehát belépünk az if ágba a javascript-hez.
3 ott stíluslappal megformázzuk az üzenet szövegét majd kiíratjuk.
(ellenkező esetben a <?php exit;}?> sortól folytatódik a program futása)
4 a window.onload=windowOpener sor nyitja meg a popup ablakot. De ekkor a szülő ablakban is megnyilik egy új ablak (fehérré változik) ezért:
5 a vissza függvény a szülő ablakot továbbítja vissza a belepes.php-hez ami az én kezdő oldalam neve.
6 settime 200milisecundumos késleltetést visz a dologba mivel ha rögtön vissza küldené akkor nem nyilna meg az ablak
7body bgcolor a belépő oldalam háttér színével tettem azonosá mert igy az átmeneti ablak is olyan színű mint a háttér ergo nem villodzik.
8 standard kapcsolódás az adatbázishoz seessionbe átadva a user nevét illetve a visszaszámlálást 20 percel=1200sec kezdi meg a program, ha ennyi ideig nem volt aktív a user egy másik script kilépteti.
u.i kezdőknek: Ha nem intranetes programot fejlesztetek mint én akkor kerüljétek a popot mivel sok böngésző alapból tíltja vagyis gondokat okozhat a használata.
u.i: a hozzá értők kérem ne szegyenek darabokra nem egy szép kód de működik és én nemtudok jobbat...
<Nincs cím>
Nem akartam új témát nyitni mert a problémám hasonló a topic címhez. Az ablaknyitással nincsen gondom, viszont hiába állítom be a window.open(...) parancson belül az új ablak paramétereit (toolbar,menubar,resizable), az uj, megnyilo ablakra nincs hatassal. A width és height parameterek jol mukodnek, de a tobbi nem.
Elkepzelheto hogy a window manager a hibas?
A kod:
echo "<A CLASS=font1 HREF=\"#\" onClick=\"newwin=window.open('href', 'newwin', 'width=x, height=y, toolbar=no, menubar=no, resizable=no');newwin.focus();\"></A>";
köszi a válaszokat
HS
Elképzelhető
A window manager a felhasználóé, nem a tied. Ergo azt csinálhatsz vele, amit megenged. De leginkább semmit. Miért olyan rohadt fontos, hogy a felhasználó ne tudja használni a navigációs elemeit a megszokott módon?
Egyébként meg érdemes lenne olyan felhasználókra is gondolni, akik letiltották a JavaScriptet mert nem kíváncsiak rá. A helyes kód:
tudom hogy elkepzelheto
Valszeg te vagy a nagyobb tudasu, de azert megkerdeznem hogy akkor mi a fenenek erhetoek el ilyen opciok ha az esetek nagy reszeben ugysem lehet hasznalni oket? A masik, ha valaki letiltja a javascriptet az az o dolga.
A celom csak annyi lett volna az uj ablakkal hogy egy diagrammot, grafikont szerettem volna megjeleniteni egy kulon ablakban mindenfele korites nelkul.Persze igazad van, ha o maximalizalni akarja az ablakot hadd tegye, ha minimalizalni vagy atmeretezni hadd tegye....csak tenyleg, akkor minek vannak az open fv-ben ezek az opciok? Hátha megis engedelyezi a wm?
Es ez a helyzet ha egy sima programban informacios ablakot jelenit meg az ember egy Ok es egy Megse gombbal. Miert lehessen maximalizalni ezt a dialogot? Gondolom visszakerdeznel: miert ne? Engem csak esztetikailag zavar, hiszen a GUI ugyanugy mukodni fog.
római lovak hátsója
Tasi
ez erdekelne
Felkeltette az erdeklodesemet az "illetlenseg" szo :) Gondolom linket szerettel volna beilleszteni.Nagyon erdekelne mik azok amiket nem etikus hasznalni és melyek azok a dolgok, amiket berakhatok az oldalamra. Meg tudod keresni azt a linket? Koszonom
ízletes
http://www.wait-till-i.com/index.php?p=104
ez persze nem az, amit te szeretnél, mert ez nem komplett lista, csak 6 db kiszemelt dolog.
a nem-tolakodó (unobtrusive) szkriptelésről sok helyen lehet olvasni, de hadd adjak linket 2 konkrét felhasználásra a kedvenc e-zinomból:
http://particletree.com/features/10-tips-to-a-better-form/
http://particletree.com/features/the-hows-and-whys-of-degradable-ajax/
Tasi
Webcredible