[php] frames die elkaar 'kennen'

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
Ik wil mbv PHP en een linux bak een soort van netbios -> http poort makene, zodat ik overal op inet mijn lokale share kan bekijken en uitlezen.

Als browser wil ik nu links de mappen / shares weergven en rest de inhoud (ala windows verkenner). Als ik de share / map vernader moet dit doorgegeven worden aan het rechter frame.

Ik dacht nu een object te maken de dit object aan beide frames mee te geven. De vraag bij echter hoe geef in een object, ik neeam aan dat het niet kan ala:

$obj= new Object();

en dan iets van (als link) http://www.siteje.com/rechterframe.php?obj=$obj

Is hier een oplossing voor?

Kan ik met PHP ook frames reloaden, dus als ik links een ander map pak, dat rechts dan mee verandert? Of kan dit alleen met java en hoe werkt dit?

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

elgringo schreef op maandag 24 oktober 2005 @ 20:53:
Ik dacht nu een object te maken de dit object aan beide frames mee te geven. De vraag bij echter hoe geef in een object, ik neeam aan dat het niet kan ala:

$obj= new Object();

en dan iets van (als link) http://www.siteje.com/rechterframe.php?obj=$obj
Je neemt aan? Dat hoor je uit te proberen voor je een topic opent. ;) Kijk eens naar serialize. :)
Kan ik met PHP ook frames reloaden, dus als ik links een ander map pak, dat rechts dan mee verandert? Of kan dit alleen met java en hoe werkt dit?
Javascript. [google=javascript location]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
-NMe- schreef op maandag 24 oktober 2005 @ 20:56:
[...]

Je neemt aan? Dat hoor je uit te proberen voor je een topic opent. ;) Kijk eens naar serialize. :)

[...]

Javascript. [google=javascript location]
blijft het object wat ik aan frame 1 en frame 2 meegeef wel hetzelfde?
Oftewel als ik in frame 1 een private waarde van obj aanpas zal als ik deze met frame 2 uitlees hetzelfde zijn? Zoals ik die help leest, copieert ie hem.

Met C kan je gewoon een adresje meegeven. Is dit met php niet mogelijk?

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

elgringo schreef op maandag 24 oktober 2005 @ 21:03:
blijft het object wat ik aan frame 1 en frame 2 meegeef wel hetzelfde?
Oftewel als ik in frame 1 een private waarde van obj aanpas zal als ik deze met frame 2 uitlees hetzelfde zijn? Zoals ik die help leest, copieert ie hem.

Met C kan je gewoon een adresje meegeven. Is dit met php niet mogelijk?
References. Maar dat werkt niet tussen twee pagina's.

En serialize zorgt gewoon voor een compacte versie van je object/array. Die kun je daarna weer unserializen. Ik heb het zelf echter nooit gebruikt, en ik lees in de user notes dat het problemen kan geven bij private en protected variabelen, maar dat zou je zelf even uit moeten proberen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
-NMe- schreef op maandag 24 oktober 2005 @ 21:06:
[...]

References. Maar dat werkt niet tussen twee pagina's.

En serialize zorgt gewoon voor een compacte versie van je object/array. Die kun je daarna weer unserializen. Ik heb het zelf echter nooit gebruikt, en ik lees in de user notes dat het problemen kan geven bij private en protected variabelen, maar dat zou je zelf even uit moeten proberen.
oftewel je copieert hem; dat wil ik dus niet.

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Waarom niet? De werking is precies zoals jij wil. :?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 18-09 10:13

glashio

C64 > AMIGA > PC

-NMe- schreef op maandag 24 oktober 2005 @ 21:06:
En serialize zorgt gewoon voor een compacte versie van je object/array. Die kun je daarna weer unserializen. Ik heb het zelf echter nooit gebruikt, en ik lees in de user notes dat het problemen kan geven bij private en protected variabelen, maar dat zou je zelf even uit moeten proberen.
Klopt idd :) Maar hou er ook rekening mee dat bijv. IE een maximum URL lengte kent van 2048 karakters. En dat je variabele/object ge-injecteerd kan worden door een gebruiker die de url handmatig aanpast en uitvoert.
elgringo schreef op maandag 24 oktober 2005 @ 21:09:
oftewel je copieert hem; dat wil ik dus niet.
PHPscripts worden in afzonderlijke processen uitgevoerd, je kan geen pointers e.d. uitwisselen tussen 2 sessie's ... meestal wordt een DB gebruikt als gemeenschappelijk databag.
Helemaal waar ;)

[ Voor 28% gewijzigd door glashio op 24-10-2005 21:17 . Reden: typo ]

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

glashio schreef op maandag 24 oktober 2005 @ 21:13:
Klopt idd :) Maar hou er ook rekening mee dat bijv. IE een maximum URL lengte kent van 2048 karakters. En dat je variabele/object ge-injecteerd kan worden door een gebruiker die de url handmatig aanpast en uitvoert.
Inderdaad. Daarom zou ik, indien mogelijk, ook eerder sessies gebruiken, of het object al dan niet tijdelijk in een database opslaan en alleen een ID meegeven. Dat levert compactere urls en een veiligere site. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 19:08

BCC

Maar hier zijn toch ook standaard HTTP / SAMBA gateways voor?

Ik zie dat je op de UT studeert, let wel dat zo'n gateway op het UTnetwerk draaien verboden is door het SNT (zie www.snt.utwente.nl) (Tenminste zonder deugdelijke beveilingsmaatregelen natuurijk).

[ Voor 69% gewijzigd door BCC op 24-10-2005 21:19 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
-NMe- schreef op maandag 24 oktober 2005 @ 21:12:
Waarom niet? De werking is precies zoals jij wil. :?
Ik wil dit:

script x maakt een object obj aan
dit script maakt in html 2 frames aan menu & content beide frames moeten een verwijziging naar object obj hebben

Als het menu frame iets vandert in object obj moet het andere frame deze wijziging kunnen waarnemen.
i.e. in frame 1: $obj->setX("test");
dat in frame 2 kan gedaan worden: echo $obj->getX(); en dat dan test komt te staan.

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
BCC schreef op maandag 24 oktober 2005 @ 21:17:
Maar hier zijn toch ook standaard HTTP / SAMBA gateways voor?

Ik zie dat je op de UT studeert, let wel dat zo'n gateway op het UTnetwerk draaien verboden is door het SNT (zie www.snt.utwente.nl) (Tenminste zonder deugdelijke beveilingsmaatregelen natuurijk).
zijn standaard middelen voor, maar das niet leuk :D
Ik studeer aan de UT idd, waarom zou ik campusnet hebben :?

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 19:08

BCC

zijn standaard middelen voor, maar das niet leuk :D
True
Ik studeer aan de UT idd, waarom zou ik campusnet hebben :?
Iedereen die aan de UT studeert, heeft toegang tot campusnet. Daarnaast heb ik het woord campusnet nog niet in de mond genomen, dus het lijkt mij dat ik de spijker op de kop heb geslagen. Mij maakt het niet uit, maar be warned, het SNT is hier extreem fel op...

[ Voor 52% gewijzigd door BCC op 24-10-2005 21:52 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
BCC schreef op maandag 24 oktober 2005 @ 21:51:
[...]

True

[...]

Iedereen die aan de UT studeert, heeft toegang tot campusnet. Daarnaast heb ik het woord campusnet nog niet in de mond genomen, dus het lijkt mij dat ik de spijker op de kop heb geslagen. Mij maakt het niet uit, maar be warned, het SNT is hier extreem fel op...
Ik heb dus @home.... en snt heeft er dus niets mee te komen, UTnetwerk == campusnet

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
Ik heb dus in mijn frmaemaker dit gedaan:

PHP:
1
2
3
4
5
6
include "browser.php";
$d= new Browser();
$d->setIP("test");
session_start();
$sesid=session_id();
$_SESSION["browseobj"]= $d;

Het sesid wordt megezonden aan de frames
(browser is een objectje met een constructor, een methode setIP en getIP)

dan bij menu:
PHP:
1
2
3
4
5
6
7
8
9
10
$sesid=$_REQUEST["sesid"];
echo "sesid: $sesid <BR>";
session_id($sesid);
session_start();
$b=$_SESSION["browseobj"];

echo "het object: $b <BR>";
//$b=unserialize($b);
echo "het objectserial: $b <BR>";
echo "IP: ".$b->getIP();


en dan kwakt ie op het scherm:

code:
1
Fatal error: main() [function.main]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Browser" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /var/www/html/menu.php on line 16


line 16 is als ik de functie getIP probeer aan te roepen.

serialize / unserialize helpt niets, doet hetzelfde (de fout dan); wat wordt hier mee bedoelt?

Edit: nevermind; was vergeten browser.php te includen :D

[ Voor 26% gewijzigd door elgringo op 24-10-2005 22:47 ]

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Wat je wilt is echt niet mogelijk direct met php.

Eenmaal aan de clientkant heeft php er niets meer mee te maken en kun je ook niets meer uitvoeren. Snap je sowieso wel het verschil tussen clientside en serverside? Je moet beide niet gaan verwarren, php wordt heeft iig niets met de browser te maken en kan zelf dus ook niet aanpassen. Wat je wel kunt doen is gewoon wat javascript outputten die dat voor je doet. Je kunt aan de hand van javascript wijzigingen gaan aanbrengen in de andere frame, of de frame zo reloaden.

Iedere request heeft in php zijn eigen memory space. Dat wil zeggen dat 2 request onmogelijk een referentie naar hetzelfde object kunnen delen (op een gebruikelijke manier).

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • corani
  • Registratie: December 2000
  • Laatst online: 05-10-2017

corani

__,,,_(^_^)_,,,__

waarom wil je dit uberhaubt met frames doen? Je kunt net zo makkelijk in één pagina een 'verkenner'-look maken. Dan hoef je ook geen ingewikkeldheden te verzinnen om beide frames samen te laten werken.

Laat me nou toch eens met rust man!
Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


Acties:
  • 0 Henk 'm!

  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

al met al lijkt mij samba in combinatie met http://smbwebclient.sourceforge.net/ precies wat de ts zoekt. wrom moeilijk doen als 't makkelijk kan? ;)

Aunt bunny is coming to get me!


Acties:
  • 0 Henk 'm!

  • corani
  • Registratie: December 2000
  • Laatst online: 05-10-2017

corani

__,,,_(^_^)_,,,__

iH8 schreef op maandag 24 oktober 2005 @ 23:08:
wrom moeilijk doen als 't makkelijk kan? ;)
Juist omdat het ook moeilijk kan ;)

Laat me nou toch eens met rust man!
Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 19:08

BCC

corani schreef op maandag 24 oktober 2005 @ 23:11:
[...]
Juist omdat het ook moeilijk kan ;)
Ja sorry hoor, maar als je zoiets wil ontwikkelen, prima, maar doet dat lekker thuis. Gezien je voorbeeldjes heb je volgens mij geen idee wat je precies wil en wat je aan het doen bent, zoek dat eerst eens uit.

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • corani
  • Registratie: December 2000
  • Laatst online: 05-10-2017

corani

__,,,_(^_^)_,,,__

BCC schreef op maandag 24 oktober 2005 @ 23:20:
[...]

Ja sorry hoor, maar als je zoiets wil ontwikkelen, prima, maar doet dat lekker thuis. Gezien je voorbeeldjes heb je volgens mij geen idee wat je precies wil en wat je aan het doen bent, zoek dat eerst eens uit.
Hé! Is niet mijn topic hè? Ik had gelijk al een of ander script van internet gebruikt, gewoon omdat ik te lam ben om er tijd aan te besteden (8>

Laat me nou toch eens met rust man!
Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 19:08

BCC

corani schreef op maandag 24 oktober 2005 @ 23:25:
[...]
Hé! Is niet mijn topic hè? Ik had gelijk al een of ander script van internet gebruikt, gewoon omdat ik te lam ben om er tijd aan te besteden (8>
Oh sorry, had je verwisselt met de TS, waar de opmerking nog steeds voor geldt :)

[ Voor 4% gewijzigd door BCC op 25-10-2005 00:05 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

Verwijderd

Of je gebruikt geen frames, maar AJAX

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Michali schreef op maandag 24 oktober 2005 @ 23:00:
Wat je wilt is echt niet mogelijk direct met php.

Eenmaal aan de clientkant heeft php er niets meer mee te maken en kun je ook niets meer uitvoeren. Snap je sowieso wel het verschil tussen clientside en serverside? Je moet beide niet gaan verwarren, php wordt heeft iig niets met de browser te maken en kan zelf dus ook niet aanpassen. Wat je wel kunt doen is gewoon wat javascript outputten die dat voor je doet. Je kunt aan de hand van javascript wijzigingen gaan aanbrengen in de andere frame, of de frame zo reloaden.

Iedere request heeft in php zijn eigen memory space. Dat wil zeggen dat 2 request onmogelijk een referentie naar hetzelfde object kunnen delen (op een gebruikelijke manier).
Kan wel, maar ik heb het nog nooit hoeven gebruiken.
http://nl3.php.net/manual/en/ref.shmop.php

Je kan dit namelijk ook met sessies doen.
??? Duidelijk :?

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Door middel van Ajax kan je het gevoel van frames simuleren ( Dat niet de hele pagina ververst ) zonder dat je gebruik maakt van frames.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 11:23

RM-rf

1 2 3 4 5 7 6 8 9

rwb schreef op dinsdag 25 oktober 2005 @ 17:05:
[...]


Door middel van Ajax kan je het gevoel van frames simuleren ( Dat niet de hele pagina ververst ) zonder dat je gebruik maakt van frames.
eigenlijk simuleer je dan een functionaliteit van Frames, met javasript... http://pear.php.net/package/HTML_Ajax kan dan handig zijn, een aantal specifieke PHP-libraries hiervoor.

Nadeel is wel dat dit nogal sterk afhankelijk is van javascript en mogelijk instabiel kan zijn..
Frames is dan een simpele en robuuste oplossing, maar die vereist een 'stateless' werkwijze, oftewel je kunt niet tussen de verschillende gegenereerde pagina's in een frame 'zomaar' communiceren

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
LuCarD schreef op dinsdag 25 oktober 2005 @ 16:50:
[...]


Kan wel, maar ik heb het nog nooit hoeven gebruiken.
http://nl3.php.net/manual/en/ref.shmop.php

Je kan dit namelijk ook met sessies doen.
Ik weet dat het via 'omwegen' wel mogelijk is. Daarom zette ik er ook iets tussen haakjes achter. Het is maar hoe belangrijk het probleem is en of er andere opties zijn. Ik heb het iig ook nooit nodig gehad.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • mocean
  • Registratie: November 2000
  • Laatst online: 04-09 10:34
Kleine tip: PHP Commander.
Doet alles wat jij waarschijnlijk wilt, alleen zonder frames :-)

Koop of verkoop je webshop: ecquisition.com


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
Ik heb het voor elkaar gekregen; in index.php object maken deze is sessie drukken. sessie nummer aan beide frames meegeven en voila....

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 18-09 10:39
Je kan toch gewoon in je menu links hyperlinks opnemen met als target de name van het frame rechts?

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
riezebosch schreef op dinsdag 25 oktober 2005 @ 19:54:
Je kan toch gewoon in je menu links hyperlinks opnemen met als target de name van het frame rechts?
nee; zo makkelijk is het niet....

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
elgringo schreef op dinsdag 25 oktober 2005 @ 23:43:
[...]

nee; zo makkelijk is het niet....
Hoezo niet?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 16-09 20:30
Als de frames aangemakt worden, moeten beide frames in 2 richtingen met elkaar kunnen communiceren en als je dit zo doet is hij maar 1 directioneeel.

Verder kan ik maar url van 2048 characters gebruiken, en dat is te weinig om alle info mee te sturen die ik heb

if broken it is, fix it you should


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Hoe bedoel je precies dat ze met elkaar moeten kunnen communiceren? Bedoel je gewoon het delen van data? Of moet de ene frame commands oids achterlaten in de sessie voor de andere frame om uit te voeren?

Noushka's Magnificent Dream | Unity

Pagina: 1