janinchen: PHP-Variable in Javascript-Schnipsel verwenden

Hallo ihr lieben!

Ich habe die Suche benutzt, auch sehr viel zum Thema gefunden, jedoch hat keiner der Tips etwas bei mir verändert.
Vielleicht noch dazuzusagen, dass ich noch nie größer mit JavaScript gearbeitet habe.

Mein Problem:

Ich lasse im Menü alle Einträge aus einer Datenbank auslesen (die Mitglieder können Filme selbst hochladen). Die Daten werden per GET an jeweils einen Link pro Film übergeben. So auch die URL des Filmchens und des "Startbildes".
Auf der Seite befindet sich ein Flash-Player (der die Videos im Flash-Video-Format abspielt - klar ;) ).

So der Schnipsel der (normalerweise) den player darstellt:

<script type="text/javascript" src="videos/swfobject.js"></script> <div id="player"></div>  
<script type="text/javascript">var so = new SWFObject('videos/player.swf','mpl','490','381','9');so.addParam('allowscriptaccess','always');so.addParam('allowfullscreen','true');so.addParam('flashvars','&file=http://localhost/videos/<?=$video?>&image=http://localhost/videos/<?=$bild?>');so.write('player');</script></p>  

Die Variablen sollen also an die "URL" für den Film und fürs Startbild angefügt werden.

Dumm gelaufen, funktioniert so nicht :-(
Ich habe die Variablen natürlich oben auf der Seite definiert. Und die Seite ist eine .php

$film = $_GET[video];  
$bild = $_GET[bild];

Ich weiß nicht weiter, bestimmt gar nicht so tragisch aber ich hänge an meinem JavaScript-Unwissen...
und leider habe ich nicht die Zeit, mich durch die JavaScript-Programmierung durchzuarbeiten, habe nämlich nur noch 2 Tage Zeit.

Kann mir bitte bitte bitte jemand helfen? :)

Janinchen

  1. Oben ist aus Versehen ein Fehlerchen bei der eMail passiert. Also hier nun die richtige...
    Falls mir jemand ganz persönlich helfen will ;)

    1. An einer falschen Mailadresse liegt der Mangel an Antworten nicht, sondern eher an Deiner Frage, die wir in dieser Form schon mindestens 1000 mal gelesen haben.

      JavaScript läuft auf dem Client, PHP auf dem Server. Wenn Du Werte von PHP auf dem Server mit JavaScript auf dem Client verwenden willst, musst Du sie erst vom Server zum Client schicken. Das geht entweder direkt beim Seitenaufruf oder nachträglich durch einen Asynchronen Aufruf (Stichwort: AJAX).

      Gruß, LX

      --
      X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: Unusual
      X-Please-Search-Archive-First: Absolutely Yes
  2. Mahlzeit janinchen,

    Vielleicht noch dazuzusagen, dass ich noch nie größer mit JavaScript gearbeitet habe.

    Wobei die Frage ist, ob es tatsächlich ein Javascript-Fehler ist ...

    So der Schnipsel der (normalerweise) den player darstellt:

    <script type="text/javascript" src="videos/swfobject.js"></script> <div id="player"></div>

    <script type="text/javascript">var so = new SWFObject('videos/player.swf','mpl','490','381','9');so.addParam('allowscriptaccess','always');so.addParam('allowfullscreen','true');so.addParam('flashvars','&file=http://localhost/videos/<?=$video?>&image=http://localhost/videos/<?=$bild?>');so.write('player');</script></p>

    
    > Die Variablen sollen also an die "URL" für den Film und fürs Startbild angefügt werden.  
      
    Das ist serverseitiger Code, der bei einem Javascript-Problem extrem irrelevant wäre. Was kommt im Browser an?  
      
      
    
    > Dumm gelaufen, funktioniert so nicht :-(  
      
    "Funktioniert nicht" [funktioniert nicht](http://forum.de.selfhtml.org/hilfe/charta.htm#tipps-fuer-fragende). Stelle zunächst fest, ob es ein PHP- oder ein Javascript-Problem ist. Zeige dann \*relevanten\* Code.  
      
      
    
    > ~~~php
    
    $film = $_GET[video];  
    
    > $bild = $_GET[bild];
    
    

    1. ist ein solches Umkopieren sinnlos, überflüssig und kann für unschöne Folgefehler sorgen und

    2. bist Du Dir sicher, dass zwei Konstanten namens "video" bzw. "bild" existieren (Du weißt, wie Du auf $_GET zugreifst?)?

    Ich weiß nicht weiter, bestimmt gar nicht so tragisch aber ich hänge an meinem JavaScript-Unwissen...

    Unwissen kann man beseitigen ...

    und leider habe ich nicht die Zeit, mich durch die JavaScript-Programmierung durchzuarbeiten, habe nämlich nur noch 2 Tage Zeit.

    ... aber unter Zeitdruck ist das immer schwer. Wieso wenden sich die Leute eigentlich immer nur ans Forum, wenn das Kind schon in den Brunnen gefallen ist, z.B. irgendeine Sprache für etwas verwendet werden soll, von der der jeweilige Entwickler keine oder nur grundlegende Ahnung hat? Wieso denkt eigentlich keiner *vorher* nach? Fragen über Fragen ...

    Kann mir bitte bitte bitte jemand helfen? :)

    Du Dir selbst: indem Du Dein Problem konkretisierst. Dann müssen die Leser nicht im Nebel stochern und ihre Glaskugeln befragen, sondern können Dir passende Hinweise geben.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Danke schonmal,
      also gut ich versuche es konkreter:

      <script type="text/javascript" src="videos/swfobject.js"></script> <div id="player"></div>  
      <script type="text/javascript">var so = new SWFObject('videos/player.swf','mpl','490','381','9');so.addParam('allowscriptaccess','always');so.addParam('allowfullscreen','true');so.addParam('flashvars','&file=http://www.homepage.de/video.flv&image=http://www.homepage.de/praxis.jpg');so.write('player');</script></p>  
      
      

      Video funktioniert perfekt, solange ich die "direkte" URL angebe.
      Sobald ich versuche "video.flv" und "praxis.jpg" durch die Variablen $video und $bild zu ersetzen, erscheint im Player eine Fehlermeldung.
      Hier ist jedoch nicht der übergebene Dateiname falsch, sondern durch die Angabe der php-Variable der JavaScript-code "kaputt".

      Die Variablen sind vergeben, daran hängts also nicht.

      JavaScript kommt einfach nicht mit meiner Art, die php-Variablen einzufügen klar ;)

      Ich habe gerade zum ersten mal von Ajax gehört... Gibt es keine ganz ganz schlichte Möglichkeit, vielleicht auch damit mein "Problem" zu lösen?

      1. Yerf!

        Video funktioniert perfekt, solange ich die "direkte" URL angebe.
        Sobald ich versuche "video.flv" und "praxis.jpg" durch die Variablen $video und $bild zu ersetzen, erscheint im Player eine Fehlermeldung.
        Hier ist jedoch nicht der übergebene Dateiname falsch, sondern durch die Angabe der php-Variable der JavaScript-code "kaputt".

        Hier wäre noch der Wortlaut der Fehlermeldung und der Quellcode wie er im Browser ("Quelltext anzeigen") ankommt interessant...

        JavaScript kommt einfach nicht mit meiner Art, die php-Variablen einzufügen klar ;)

        Ich befürchte eher, dass PHP nicht mit den SHORT_OPEN_TAGS klarkommt. Ist aber nur ne Vermutung.

        Gruß,

        Harlequin

        --
        <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
        1. Fehlermeldung im Flash-Player:
          0: Error #2048

          sobald ich für "video.flv" <?php echo $video?> einsetze!

          1. Hi,

            Fehlermeldung im Flash-Player:
            0: Error #2048

            sobald ich für "video.flv" <?php echo $video?> einsetze!

            Verflixt noch mal, jetzt bemuehe dich doch bitte endlich mal, die gestellten Fragen auch vollstaendig zu beantworten!

            Noch Mal:
            Wie zum Geier sieht der Quelltext aus, den dein Browser vom Server erhaelt?

            MfG ChrisB

            --
            „This is the author's opinion, not necessarily that of Starbucks.“
      2. Hi,

        JavaScript kommt einfach nicht mit meiner Art, die php-Variablen einzufügen klar ;)

        JavaScript hat nicht den Hauch einer Spur des Schattens einer Chance, jemals zu erfahren, dass da irgendwann mal hätte PHP im Spiel gewesen sein können.

        Ich habe gerade zum ersten mal von Ajax gehört... Gibt es keine ganz ganz schlichte Möglichkeit, vielleicht auch damit mein "Problem" zu lösen?

        Vergiss AJAX. Betrachte den Code, der durch Dein PHP *erzeugt* wird. Alles andere ist das Stochern mit einem Bindfaden im Heuhaufen, um eine aus Stroh gefertigte Nadel zu finden.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi,

          JavaScript kommt einfach nicht mit meiner Art, die php-Variablen einzufügen klar ;)

          JavaScript hat nicht den Hauch einer Spur des Schattens einer Chance, jemals zu erfahren, dass da irgendwann mal hätte PHP im Spiel gewesen sein können.

          Ich habe gerade zum ersten mal von Ajax gehört... Gibt es keine ganz ganz schlichte Möglichkeit, vielleicht auch damit mein "Problem" zu lösen?

          Vergiss AJAX. Betrachte den Code, der durch Dein PHP *erzeugt* wird. Alles andere ist das Stochern mit einem Bindfaden im Heuhaufen, um eine aus Stroh gefertigte Nadel zu finden.

          Cheatah

          Oh Gott du bist ein Schatz und ich bin blöd  :)
          Mann mann *kopfschüttel* - auf den Quelltext schauen, darauf hätt ich auch selbst mal kommen können...
          Und Chris, ja ganz cool, ich hab halt immer nur eine Antwort geöffnet, die beantwortet und dann war schon die nächste da, sorry =)

          1. Hi,

            Und Chris, ja ganz cool, ich hab halt immer nur eine Antwort geöffnet, die beantwortet und dann war schon die nächste da, sorry =)

            Harlequin hat nach dem Quelltext gefragt, und du dies in deiner Antwort auf ihn ignoriert.

            MfG ChrisB

            --
            „This is the author's opinion, not necessarily that of Starbucks.“
            1. Mahlzeit ChrisB,

              Und Chris, ja ganz cool, ich hab halt immer nur eine Antwort geöffnet, die beantwortet und dann war schon die nächste da, sorry =)

              Harlequin hat nach dem Quelltext gefragt, und du dies in deiner Antwort auf ihn ignoriert.

              <haarspalt genau="sehr">Ich hatte schon vorher gefragt ...</haarspalt> ;-)

              MfG,
              EKKi

              --
              sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|