[SAMMELTHREAD] Kleine Coding Fragen

  • Beitrag von dsfdf34as ()

    Dieser Beitrag wurde von seegras gelöscht ().
  • ist es auch möglich, dass in JavaScript umzusetzen?

    Jaaa, du kannst ja einfach Ajax nutzen und dann kannste mit Javascript das PHP Skript aufrufen, hier mal ein Beispiel:


    PHP
    <?php
            //Das die get.php Datei
    	$html = file_get_contents('https://www.japancentre.com/en/products/13574-okura-minori-akitakomachi-brown-rice');
    	$token = strpos($html,'<div class="price">');
    	if($token === false) exit();
    	$a = strlen('<div class="price">');
    	echo trim(htmlspecialchars(substr($html,$token+$a,strpos($html,'<',$token+$a)-($token+$a))));
    ?>


    Ergebnis der Seite:


    £4.09

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Jaaa, du kannst ja einfach Ajax nutzen und dann kannste mit Javascript das PHP Skript aufrufen, hier mal ein Beispiel:

    Super vielen Dank für die Antwort.
    Ich habe selbst nochmal gesucht und einen etwas besseren Ansatz gefunden (da ich NodeJS verwende).
    JaveScript stellt ein HTTP-get-request -> NodeJS sucht auf der Seite den Preis und liefert das Ergebnis an JS.



    Leider habe ich ein komplett neues Problem und ich weiß nicht was ich falsch mache :S


    Code
    var tabelle = document.getElementById("table").insertRow(document.getElementsByTagName("tr").length-1);
    var a = tabelle.insertCell(0).innerHTML = "TEst";
    a.classList.add("sons", "preis");

    Eigentlich müsste a die Klassen bekommen aber wenn ich auf die Webseite gehe sehe ich, dass sie die Klassen nicht gesetzt bekommen hat.
    Was habe ich falsch gemacht? :S


    Edit:
    Ich bin ein Voll idiot. Ich habe nicht bemerkt, dass ich der Variable innerHTML zugewiesen hab, klar dass es dann nicht ging.
    Habe dann noch die Klasse über className hinzugefügt, da es ein Element ist. Klappt dann jetzt :)

    Einmal editiert, zuletzt von Pytroxis ()

  • Wenn ich in PHP eine Verbindung zu MySQL herstellen möchte, was nehme ich da am besten zur heutigen Zeit ? Möchte mich wieder bisschen mit der Materie beschäftigen, da ich auch später mal, in diesen Beruf, einsteigen möchte.

  • Beitrag von Lance_Young ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hi,
    ich habe in meinem Verzeichnis vom Webserver einen neuen Unterordner namens /api/ erstellt, in diesem möchte ich eine PHP Datei haben, auf die ich mit meiner Webseite zugreife. Diese PHP Datei sollte man aber nur vom Webserver selber gesehen werden, damit niemand anderes darauf Zugriff hat.


    Ich habe eine .htaccess Datei erstellt mit dem Inhalt "Require localhost", aber leider kriege ich auch eine 403 als Response wenn ich von meinem Webserver per AJAX eine Request auf diese Datei mache, obwohl das ja localhost sein sollte.


    Die .htaccess im /api/ Ordner:

    Code: .htaccess
    Require localhost


    Meine Anfrage an die Datei:


  • Funktioniert auch nicht.


    EDIT:
    Ich möchte in meinen JavaScript Code mit JSDoc meine Funktionen dokumentieren.
    Wenn ich jetzt aber so meine Funktion dokumentiere, wird nur die lokale anonyme Funktion dokumentiert und nicht global.moduleLoaded, also wird meine Dokumentation nicht angezeigt. Kann ich das irgendwie anders machen?

    JavaScript
    /**
     * Prints an info message to the console, that the specified module has been loaded
     * @author LeonMrBonnie
     * @param {string} module Loaded module
     */
    global.moduleLoaded = (module) =>
    {
        console.log(`[DEBUG] `.bold.blue + `Module ` + `${module}`.grey + " loaded");
    }
  • Kann ich das irgendwie anders machen?

    Habe mit JSDoc noch nie gearbeitet, aber sieht nice aus.


    Mir würden 2 Dinge einfallen, die du ausprobieren könntest.


    Kurz zur Erklärung, warum er sagt, dass das eine anonyme Funktion ist...überraschung, weil es eine ist :D
    Du gibst der Funktion nämlich keinen Namen und weist diese direkt zu -> ergo anonym.


    Versuch es entweder mal über die Kommentare:



    C
    /**
     * Prints an info message to the console, that the specified module has been loaded
     * @author LeonMrBonnie
     * @param {string} module Loaded module
     * @name global.moduleLoaded
     */
    global.moduleLoaded = (module) =>
    {
        console.log(`[DEBUG] `.bold.blue + `Module ` + `${module}`.grey + " loaded");
    }

    Falls das nicht geht könnte man der Funktion auch einen Namen geben und sie erst dann zuweisen.
    Das aber etwas umständlicher, also versuch es erstmal so :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Funktioniert leider beides nicht.
    Mir werden die Parameter etc. nicht angezeigt, ob ich das @name dazunehme, oder ob ich statt einer anonymen Funktion darüber die Funktion erstelle.

    JavaScript
    /**
     * Prints an info message to the console, that the specified module has been loaded
     * @author LeonMrBonnie
     * @param {string} module Loaded module
     */
    function __moduleLoaded(module)
    {
        console.log(`[DEBUG] `.bold.blue + `Module ` + `${module}`.grey + " loaded");
    }
    global.moduleLoaded = __moduleLoaded;
  • Hab mir mal eben das JSDoc geholt und getestet.


    So klappt es:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • habe diesen Kurs gefunden

    "gefunden" du meinst wohl, du wurdest bei jedem YouTube Video mit dieser dummen Werbung belästigt.


    Also ich rate dir davon ab.


    Das Andere sieht doch ganz gut aus, der erklärt viel, wenn du es etwas peppiger haben magst empfehle ich dir Siraj Raval :D


    Ansonsten ist das schon mal ein guter Einstieg in die Thematik :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen