[PHP] header location - meesturen vars

Pagina: 1
Acties:
  • 363 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ocdaan
  • Registratie: Augustus 2001
  • Laatst online: 03-09 14:20

ocdaan

Niet zo zeuren jongens!

Topicstarter
Hoi allemaal :)

Ik heb een op een youtube achtige manier gemaakt dat mensen een filmpje op hun eigen website kunnen zetten. Nu heb ik alles klaar maar kwam erachter dat IE nogal moeilijk doet.

Dit is de code (fictieve waarden/url) die ik de bezoekers aanbied:
code:
1
2
3
4
5
<object width="380" height="322">
<param name="movie" value="http://www.url.nl/v/?c=19"></param>
<param name="wmode" value="transparent"></param>            
<embed src="http://www.url.nl/v/?c=19" type="application/x-shockwave-flash" wmode="transparent" width="380" height="322"></embed>
</object>


http://www.url.nl/v/?c=19 komt terrecht op een php pagina:
code:
1
2
3
4
// hier doe ik eerst een request [c] en een database actie om het volledige path op te bouwen naar de flv (video) die dan als een string word meegestuurd achter de swf, voor example doe ik ff fictief hardcoded....

$flv="http://www.url.nl/video/video.flv";
header("Location: ../flash/player.swf?flv=".$flv);


Met Firefox werkt dit prima alleen met IE laad de player wel maar komt de flv variabele niet door.

Iemand enig idee hoe dit op te lossen?

Alvast bedankt voor de genomen moeite ;)

Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • ocdaan
  • Registratie: Augustus 2001
  • Laatst online: 03-09 14:20

ocdaan

Niet zo zeuren jongens!

Topicstarter
Dank voor je moeite maar dit lijkt geen oplossing te zijn.

Als ik hardcoded doe:

player.swf?flv=duhh

hier zitten geen rare chars in ofzo, in de flash player heb ik ff een textveld gemaakt die de input flv var weergeeft en in firefox toond die hem netjes, enkel in IE blijft de boel leeg...

edit// heb trouwens urlencode geprobeerd op de flv var, de complete string en alles achter de .swf maar helas het mocht niet baten....

[ Voor 13% gewijzigd door ocdaan op 15-05-2007 12:53 ]


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Verder zou ik die ../ vervangen door een echte domeinnaam of iig $_SERVER['HTTP_HOST'] ofzo. Hoe moet een browser anders uitvogelen wat jij bedoelt met ../ :?

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • ocdaan
  • Registratie: Augustus 2001
  • Laatst online: 03-09 14:20

ocdaan

Niet zo zeuren jongens!

Topicstarter
SchizoDuckie schreef op dinsdag 15 mei 2007 @ 13:02:
Verder zou ik die ../ vervangen door een echte domeinnaam of iig $_SERVER['HTTP_HOST'] ofzo. Hoe moet een browser anders uitvogelen wat jij bedoelt met ../ :?
Ik begrijp je twijfel ;) maar ik heb al met het volledige http path geprobeerd enz

Het probleem is puur dat die flv var niet word meegestuurd. In IE word de player netjes geladen, dus lijkt het me niet dat de browser de boel niet kan vinden.... enkel de flash player weet in IE niet welke flv film die moet afspelen...

Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Dan zou ik nog eens goed gaan kijken naar of die parameter in je html pagina beschikbaar is (of ie dus iig meegekomen is via $_GET) en of je dan misschien diezelfe url nog moet decoden ?

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • ocdaan
  • Registratie: Augustus 2001
  • Laatst online: 03-09 14:20

ocdaan

Niet zo zeuren jongens!

Topicstarter
SchizoDuckie schreef op dinsdag 15 mei 2007 @ 13:36:
Dan zou ik nog eens goed gaan kijken naar of die parameter in je html pagina beschikbaar is (of ie dus iig meegekomen is via $_GET) en of je dan misschien diezelfe url nog moet decoden ?
Die flv param/var die paas ik rechtstreeks mee aan de swf aanroep, er zit dus geen html meer tussen ofzo...

ff bij het begin: embed src= verwijzing naar php, en php redirect via header naar een swf met een param erachter, die param komt dus in FireFox wel mee en niet in IE. In beide gevallen start de flash player netjes op. In de flash player toon ik de inkomende flv param/var zodat ik dus kan zien of die wel of niet meekomt....

Ik begrijp je dus niet volledig ;)

Acties:
  • 0 Henk 'm!

  • Martijn02
  • Registratie: September 2000
  • Laatst online: 19-09 14:55

Martijn02

/* No Comment */

Hang er eens een debugger aan (fiddler, live-http-headers) dan kan je precies zien wat voor requests en headers heen en weer gestuurd worden.

Flash zuigt btw, ik ben ooit een halve dag bezig geweest om er uiteindelijk achter te komen dat de url van een flv ook echt op .flv moet eindigen, en hij anders niets doet (ondanks goede content-type header enzo) dus de flv riep ik toen aan met protocol://domein/url/filmpje.flv?variable=blaat&flash=sucks.flv (zonder de laatste var deed hij het dus niet... zucht...

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Als je nu beide tips een combineert en er het volgende van maakt:
PHP:
1
2
3
4
$base_url = $_SERVER['HTTP_HOST']; //ofzo
$flv="http://www.url.nl/video/video.flv";
$url = urlencode($base_url."flash/player.swf?flv=".$flv);
header("Location: ".$url);
Je ? is namelijk wel een specialchar die door urlencode gecodeerd kan (moet) worden. Daarnaast is het headeren naar een eigenlijk onbekende directory hoger niet erg netjes, dus zou ik die ook in je url pakken (en natuurlijk mee decoden, omdat daar ook "vreemde" tekens in kunnen zitten)

Acties:
  • 0 Henk 'm!

  • ocdaan
  • Registratie: Augustus 2001
  • Laatst online: 03-09 14:20

ocdaan

Niet zo zeuren jongens!

Topicstarter
mithras schreef op dinsdag 15 mei 2007 @ 13:48:
Als je nu beide tips een combineert en er het volgende van maakt:
PHP:
1
2
3
4
$base_url = $_SERVER['HTTP_HOST']; //ofzo
$flv="http://www.url.nl/video/video.flv";
$url = urlencode($base_url."flash/player.swf?flv=".$flv);
header("Location: ".$url);
Je ? is namelijk wel een specialchar die door urlencode gecodeerd kan (moet) worden. Daarnaast is het headeren naar een eigenlijk onbekende directory hoger niet erg netjes, dus zou ik die ook in je url pakken (en natuurlijk mee decoden, omdat daar ook "vreemde" tekens in kunnen zitten)
Top, ik ga proberen.. thanx!!! (meld me zo weer)

edit // damn, frustraties ;) hahaha

Op het moment dat ik urlencode gebruik (al is het enkel het vraagteken) laad de gehele player niet meer.

Dus vanuit werkende versie (tenminste player word getoond)

$base_url word voor testen gevult met volledige http path incl .swf

header("Location: ".$base_url."?flv=test"); // werkt (toond player)

header("Location: ".$base_url.urlencode("?flv=test")); // werkt niet, toond geen player anymore

Dus, k'heb de complete string in urlencode gehad, delen van de string en op het laatst enkel het vraagteken in urlencode maar op het moment dat er ook maar iets door urlencode gaat werkt de player niet meer.

[ Voor 32% gewijzigd door ocdaan op 15-05-2007 14:12 ]


Acties:
  • 0 Henk 'm!

  • ocdaan
  • Registratie: Augustus 2001
  • Laatst online: 03-09 14:20

ocdaan

Niet zo zeuren jongens!

Topicstarter
@SchizoDuckie,

Je had het wel bij het rechte eind zo lijkt.... ;)

Ik zie nu dat de header location wel goed gaat maar dat die var niet in de embed/object terrecht komt.

Als ik dus die index.php?c=19 aanroep returned die wel de param/var....

Het lijkt me dus iets met de oject/embed code te zijn....
Pagina: 1