Ergebnis 1 bis 4 von 4
Like Tree1Likes
  • 1 Post By 69bruno

Thema: PHP -> JS Variablenübergabe

  1. #1
    69bruno ist offline Grünschnabel
    registriert
    27-12-2020
    Beiträge
    8

    PHP -> JS Variablenübergabe

    Hallo,
    ich habe ein kleines php-script, dass mir aus einem Ordner zufällig ein Hintergrundbild aussucht:
    PHP-Code:
        public function add_imagerandom_theme($event)
        {
            
    $ordner dirname(__dir__).'/img/'
            
    $verz opendir($ordner);
            
    $linkl = array();
            while(
    $file readdir($verz))
            {
            if(
    $file != "." && $file != "..")
            {
                
    array_push ($linkl$file);
            }
            }
            
    $index array_rand($linkl1);
            
    closedir($verz);
            
    $zufall dirname(__dir__).'/img/'.$linkl[$index];
        }

    Das Script funktioniert auch, mit echo kann ich mir den Pfad der ausgewählten Bilddatei ausgeben lassen.
    Jetzt möchte ich das Bild als Hintergrund setzen.
    Da das Ganze für ein PHP-Forum gedacht ist, füge ich ein js in eine html-Datei ein, die per Event geladen wird.
    Nach vielen Beispielen und Versuchen bin ich zuletzt bei dieser Schreibweise angelangt, die aber auch nicht zum Erfolg führt:
    HTML-Code:
    <script>
     var hintergrund = <?php echo json_encode($zufall); ?>;
     alert(hintergrund);
     document.getElementById('bild').style.backgroundImage = "url('hintergrund')";
    </script>
    Ich bekomme immer ein "unexpected token "<".
    Hat jemand eine Idee, wie ich das fixen kann ?
    Geändert von mikdoe (10-07-2021 um 10:04 Uhr) Grund: Code Tags

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.897

    AW: PHP -> JS Variablenübergabe

    Zitat Zitat von 69bruno Beitrag anzeigen
    Da das Ganze für ein PHP-Forum gedacht ist, füge ich ein js in eine html-Datei ein, die per Event geladen wird.
    Was meinst du mit "per Event geladen" genau? Wie sieht der Code dazu aus?

    Zitat Zitat von 69bruno Beitrag anzeigen
    Ich bekomme immer ein "unexpected token "<".
    Das ist ein Indiz dass der PHP-Aufruf an der Stelle nicht ausgeführt wird sondern so wie er ist in den Browser gelangt ist. Das kann mehrere Ursachen haben. An welcher Stelle rufst du denn die Funktion add_imagerandom_theme() auf? Du zeigst hier nur die Definition der Funktion.
    Aus welchem Grund möchtest du an der Stelle in JSON konvertieren?
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

  3. #3
    daniel220786 ist offline Jungspund
    registriert
    29-11-2020
    Beiträge
    12

    AW: PHP -> JS Variablenübergabe

    Wenn dein Php Script ja nur eine Url ausgibt , kannst du dir den weg über JS auch ersparen.
    Das wäre meine Idee
    PHP-Code:
    <?php
    $ordner 
    './testen/img/related/'
    $verz opendir($ordner);
    $linkl = array();
    while(
    $file readdir($verz)){
        if(
    $file != "." && $file != ".."){
            
    array_push ($linkl$file);
        }
    }
    $zufall array_rand($linkl1);
    ?>
    <style>
    body{
    height:100vh;
    width:100vw;
    background:url('<?php echo $ordner.$linkl[$zufall]; ?>');
    }
    </style>
    <body>
    </body>

  4. #4
    69bruno ist offline Grünschnabel
    registriert
    27-12-2020
    Beiträge
    8

    AW: PHP -> JS Variablenübergabe

    So,
    hat was gedauert, aber es läuft. Das Problem war, dass das script per Event zu früh aufgerufen wurde.
    Events sind Schnittstellenpunkte, die in die html-Dateien des PHPB-Board eingebaut sind. Dort gibt es dann Bezeichnungen (z.B. overhead_header_head_append), mit denen man Ergänzungen in den Code bringen kann. Man muss nur an genau definierter Stelle eine html-Datei mit eben diesem Namen abspeichern und schon wird der Inhalt der phpbb-html-Datei hinzugefügt. Und da war ich weit bevor der Body überhaupt definiert wird, da konnte ich halt auch keine Änderungen am Bodystyle machen.
    Ich möchte JS nutzen, da in einer weiteren Stufe mit einem einstellbaren Intervall das Hintergrundbild durchgewechselt wird. Das soll nicht auf dem Server laufen sondern auf den Clients.
    mikdoe likes this.

Ähnliche Themen

  1. Variablenübergabe per URL
    Von Prj. Phoenix im Forum JavaScript
    Antworten: 15
    Letzter Beitrag: 04-06-2005, 20:58
  2. Variablenübergabe
    Von kasimir83 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 02-04-2002, 19:14
  3. Variablenübergabe?
    Von Grinsekatze2000 im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 10-01-2002, 21:34
  4. variablenübergabe an js
    Von antiheld2000 im Forum Flash
    Antworten: 4
    Letzter Beitrag: 25-11-2001, 11:41
  5. Variablenübergabe an JS
    Von boblgum im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 16-02-2001, 12:22

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •