Beiträge von basti1012

    Wie ich das verstehe, geht das so einfach nicht.

    Wenn du aus einem HTML Element ein Windows erstellst, kannst du da zwar drauf zugreifen (auch wieder schließen), aber andersrum kannst du da nur drauf zugreifen, doch nicht schließen.


    Wenn du auf dein Desktop link klickst, wird ja das HTML geladen und dann der Pop-up.

    Warum schließt du das Hauptfenster einfach nicht wieder, oder schiebst es zur Seite?


    Andere Lösung:

    Greasemonkey und Tampermonkey konnten (oder können noch) bei Chrome das Parent Fenster schließen.

    Ob das noch so geht, musst du mal testen.


    Du kannst aber auch ein Add-on erstellen.

    Damit lassen sich Extra Fenster öffnen, ohne irgendwelchen Parent Seiten.

    Add-ons sind etwas komplizierter als normales HTML/JS (meine Meinung).

    du rufst ja jetzt ein html Dokument auf ( soundbord.htlm ), in den Dokument sagst du ja das er ein neues Fenster Öffnet soll.

    Was möchtest du genau?.

    Beim klick auf den Desktoplink , soll das Html Element geöffnet werden , aber in der anderen Größe und ohne Adresszeile.

    Ungefähr so , das es nicht wie ein Browser aus sieht.


    Ich muß da auch mal Googlen wie das an besten geht.

    Konntest du schon was er Googlen ?

    die Funktion darf erst verwendet werden wenn der Wert tatsächlich im HTML an den Browser geschickt wird.

    Ok , das wußte ich auch noch nicht,danke.


    Wenn man diesen Code

    PHP
    1. if(isset($_POST['textfeld'])){
    2. $_SESSION['ausgabe']=htmlspecialchars($_POST['textfeld']);
    3. }
    4. if(isset($_SESSION['ausgabe'])){
    5. // mach was mit $_SESSION['ausgabe']
    6. }

    so machen würde

    PHP
    1. if(isset($_POST['textfeld'])){
    2. $variable=$_POST['textfeld'];
    3. $_SESSION['ausgabe']='true';
    4. }
    5. if(isset($_SESSION['ausgabe']) and $_SESSION['ausgabe']=='true'){
    6. // mach was mit $variable
    7. }

    der bessere Weg

    Es gebe auch noch eine möglichkeit mit Php.

    Da kommen zwar gleich wieder blöde Kommentare , aber was solls.

    Einfach einmal auf der gleiche Seite umleiten.

    Code
    1. if(isset($_POST['textfeld'])){// existiert ja nur wenn man suche benutzt hat
    2. $_SESSION['ausgabe']=htmlspecialchars($_POST['textfeld']);
    3. header("location:index.php");
    4. }

    Nein, das ist Käse². Sinnvoller wäre es für die Suche GET zu verwenden, nicht POST.

    Käse der aber funktioniert.

    Gebe dir aber recht das es mit Get sinvoller ist , dann kommt auch das besagte Hinweiß Fenster nicht mehr und man muß nicht mit JS tricksen.

    Wenn es nur um die f5 Taste geht , würde ich die Funktion der Taste unterbinden, und den reload selber ausführen.

    Das geht mit JS.

    Ich verstehe nur nicht warum meine F Tasten im Browser nicht funktionieren .

    Deswegen kann ich das auch nicht testen.

    Psydo Code:

    Code
    1. document.addEventListener("keydown",function(event){
    2. switch (event.keyCode) {
    3. case 116 : // 'F5'
    4. evnte.preventDefault();// dies
    5. // event.returnValue = false;// oder das
    6. location.reload();
    7. break;
    8. }
    9. })

    Aber was, wenn die Seite einfach nur aktualisiert wird (z. B. F5)? Dann ist $_POST['textfeld'] nicht gesetzt und es wird fälschlicherweise die Begrüßung statt der Informationen aus der Datenbank angezeigt.

    Nach der ersten Suche ist doch die Session gesetzt.

    Code
    1. $_SESSION['ausgabe']=htmlspecialchars($_POST['textfeld']);

    Solange du die nicht löscht ist sie noch da.

    Auch ein reload de Seite löscht sie nicht von alleine.


    Hat man noch keine Suche benutzt , ist die Session ja noch nicht da und die Begrüßung kommt.

    Solte in mein Code und in dein Code eigentlich so sein.

    Was auch nicht nötig ist, siehe https://www.php.net/manual/de/function.eval.php

    Stimmt.

    Ich Frage aber , weil er am Anfang das steht

    Nun habe ich mir die Frage gestellt, wie ich PHP-Code aus einer Variable heraus ausführen kann. Nach Recherche bin auf die Funktion eval() gestoßen. Dies funktioniert auch bei dem PHP-Code. Wenn ich eval jedoch auf den HTML-Code ausführe, um den darin befindenden PHP-Code auszuführen, passiert einfach garnichts

    Deswegen gehe ich von Misch Code aus , wo wahrscheinlich auch die <?php ?> die vorkommen.


    Das mit der Sessionvariable speichern ist auch dafür gedacht, dass bei Aktualisierung mit z.B. F5 weiterhin die Filminformationen angezeigt werden (und nicht die Begrüßung).

    Soll die begrüßung immer angezeigt werden und wenn man die Suche benutzt dann nicht mehr ?

    Wie auch immer , die eine Session ergibt dann ja noch ein sinn , aber das andere alle finde ich zu umständlich.

    Deine suche

    Code
    1. <form method='POST' action='index.php'>
    2. <input type="text" name="textfeld" id="textfeld" class="eaneingabeelement" value="" placeholder="EAN eingeben..." size="60">
    3. <button id="losbutton" class="eaneingabeelement eaneingabebutton" type="submit">Los</button>
    4. </form>

    Dann deine Javascript WEG

    sessionvariablenspeichern.php WEG

    index.php


    Was dann in der filmaktualisiern.php alles gemacht wird , mit dem ganzen Sessions blicke ich gerade nicht durch.


    Ich meine aber , wenn die Session ausgabe gesetzt ist , reicht das eigentlich um einen Datenbank abfrage zu machen.


    Das ist meine Meinung / mein Weg.

    Ob das besser ist ???

    Aber einfacher.

    Script am ende einbinden , dann auch alles angeben was du brauchst.

    Dann geht das auch.

    Googlen hilft da echt

    Wie ich das verstehe ,ist das alles umständlich.

    bei den LOS Button , würde ich ein POST request zu der index.php senden.

    Dann mit PHP den POST auslesen und deine Datenbank abfrage machen.


    Der ganze kram mit den Session speichern würde dann weg fallen.

    Vieleicht verwechsel ich gerade was, weil du nee menge Text geschrieben hast .

    Hast du das schon online zum testen ?