Beiträge von Stef

    Hey,

    An DomDocument habe ich auch schon gedacht. Jedoch bietet diese Klasse keine Funktion an um Klassen anzusprechen sondern nur Ids. Das war der Punkt warum ich DomDocument nicht genommen habe.

    Zitat


    Wie sollen wir das beurteilen, wenn wir den Quelltext der aktuelleItems.html nicht kennen.

    Die aktuelleItems.html sieht so aus (nur als html):

    cottton : Vielen Dank für ein Beispiel sowie die Erklärung zum Pattern.


    Grüße,

    Stef

    Hey zusammen,

    ich muss in einer HTML-File 1 div mit der Klasse item_now finden. In diesem Div steht dann das aktuelle Item drin. An diesen möchte ich rankommen.

    Das ist der Tag: <div class="item_now">Tennisschläger</div>. Nun möchte ich, dass in dem array Matches der Tennisschläger mir zurückgegeben wird.

    Ich habe bereits viel gegoogelt und ausgetestet. Jedoch kommt immer array(0) {} raus.

    Das ist mein Code mit dem ich es versucht habe:

    PHP
    <?php
    
    $aktuelleItems = file_get_contents("sites/aktuelleItems.html");
    
    
    $pattern = "/<div class='item_now'>(*?)<\/div>/";
    
    preg_match($pattern, $aktuelleItems, $matches);
    var_dump($matches);

    Was mache ich falsch?

    Grüße,

    Stef

    Hey,

    basti1012 :

    Zitat


    Das sollte man recht einfach verwirklichen können

    Dann zeig mal dein Ergebnis. :)

    Zitat

    Oder die Webseite wurde falsch programmiert und der Kunde bekommt dann ein Hocker mit ein Fremden Bild ( Thema Datenschutz ).

    In den falle sollte man sich auch Php ankucken womit du die hochgeladene Datein abfragen kannst ob es auch wirklich ein Bild ist und so weiter.

    Der Webseitenbetreiber kann wenn ein User ein Bild hochlädt doch nicht wissen woher der User dieses hat. Die Verantwortung liegt dann Seitens des Users. Haftbar kann man dafür nicht gemacht werden, wenn man es in den AGB's drinstehen hat.

    Stef

    Hey,

    ich habe die home-Seite noch nicht via Browser so geöffnet. Danke.

    Das alles ändert aber nichts daran, dass der Cookie gelöscht wird. Der Cookie wird einfach nicht gelöscht. Obwohl die Function ausgeführt wird.

    Auch wenn die Applikation so aussieht:

    PHP: home.php
    if(isset($_POST["logout"])){
    
            $logout = new Logout("username");
    
            if($logout->deleteCookie()){
                $logout->goToIndexPage();
            }
            
        }
    PHP: Logout Class
    public function deleteCookie(){
            
            if(setcookie($this->cookieName, "" , time() - 3600)){
                return true;
            } else{
                return false;
            }
        }

    wird die Funktion goToIndexPage ausgeführt. Das heißt der Cookie sollte nicht mehr existieren. Aber das tut dieser immernoch. Der wird einfach nicht gelöscht.

    Warum denn ?

    Grüße,

    Stef

    Hey,

    Bitte mal nachdenken, was daran nicht in Ordnung ist:

    Code
    $username = $_COOKIE["username"];
    if(!isset($username) || empty($username)){
            exit();
    }

    Was soll da denn nicht in Ordnung sein?

    Zitat

    Und hier

    Code
    $logout = new Logout("username");
    if(isset($_POST["logout"])){        
            $logout->deleteCookie();        
            $logout->goToIndexPage();
    }

    musst du mir mal erklären, warum du ein new machst, wenn $_POST["logout"] nicht gesetzt ist.

    Und ein hoch gedrehtes Error-Reporting sehe ich auch nicht.

    Ich habe es einfach so gemacht. Die Klasse wird nun im if-block instanziert.

    Error-Reporting habe ich bereits angeschaltet. Aber es kommt keine Meldung von diesem.

    Weiterhin besteht das Problem.

    Grüße,

    Stef

    Hey,

    Welche Funktion? Ich sehe nicht, wo da ein Return-Wert existiert.

    Diese Funktion in der Klasse:

    PHP
    //Class
    public function deleteCookie(){
        setcookie("username", "" , time() - 10000);
    }
    //

    Das return habe ich nach dem testen wieder entfernt.

    Die richtige Klasse sieht so aus:

    So wird es ausgeführt:

    Auf der Index Page frage ich dann ab ob Cookie Username gesetzt ist und wenn ja lass ich eine Verlinkung zur Home-Page ausgeben.

    Diese wird immer ausgegeben.

    Das ist die Index Page:

    basti1012 :

    Wenn du bei time() ein + anhängst dann sagst du damit aus, dass der Cookie 1 Stunde laufen soll. So löschst du diesen ja nicht. Löschen kann man den laut meiner Recherchen nur wenn man time() - Zahl nimmt. Dann liegt der Cookie in der Vergangenheit und ist somit abgelaufen.

    Selbst das nützt bei mir nichts.

    Grüße,

    Stef

    Hey,

    ich erstelle bei einem Login ein Cookie. Nun wenn der User Logout klickt soll dem sein Cookie gelöscht werden. Jedoch wird dieser nie gelöscht. Egal was ich mache.
    Ich habe bereits sehr viel gegoogelt. Dies konnte aber nicht mein Problem lösen.

    So erstelle ich den Cookie:

    PHP
    if($verify){
           setcookie("username", $userData->username, time() + 3600);
           
    }

    So möchte ich ihn löschen:

    PHP
    //Class
    public function deleteCookie(){
        setcookie("username", "" , time() - 10000);
    }
    //
    
    if(isset($_POST["logout"])){
        $logout->deleteCookie();
    }

    Die Funktion gibt immer True zurück und trotzdem wird der Cookie nicht gelöscht.

    Was mache ich falsch?

    Grüße,

    Stef

    Hey,

    okay. Alles klar. Ein sehr großes Dankeschön an dich :)

    Ich habe vorhin geschrieben, dass ich noch ein Beispiel erstelle wo ich es austeste.

    Als Beispielanwendung habe ich mir ein Login und Logout mit Datenbankanbindung vorgestellt.

    Da stehe ich vor einem Rätsel mit den Cookies. Ich rufe beim Click auf den Ausloggbutton eine Function auf welche den Cookie löschen soll. Aber er wird garnicht gelöscht. Ich habe bereits viel gegoogelt aber auch trotzdessen konnte ich das Problem nich lösen. Der Cookie ist trotzdem weiterhin da. Die Funktion set_cookie gibt bei der Ausführung aber true zurück. Trotzdem wird der Cookie nicht gelöscht. Ich weiß nicht mehr weiter.

    Was mache ich falsch?

    So sieht meine Beispielanwendung aus:

    Meine Klassen:

    Grüße,

    Stef

    Hey Arne,

    vielen Dank. Ich war die letzten Tage leider so beschäftigt, dass ich garnicht dazu kam meine Version zu erstellen. Ich teste es aber an einem anderen Beispiel und poste dazu dann nochmal hier.

    Man führt erst alle Prozesse aus und erst wenn es klappt gibt man die Erfolgsmeldung aus und erstellt z.B. eine PDF mit der Rechnung und den Buchungsdaten.

    Für die PDF braucht man dann noch interne retrun Funktionen welche die Daten die ich brauche zurückgeben. Denn ich kann ja nicht bei return $this auf Eigenschaften zugreifen welche protected oder private sind.

    Ein paar Fragen habe ich noch zu deinem Code:

    • Man kann auch dem Constructor die Klasse mit der Variable, aus dieser, als Parameter übergeben ?
      • Beispiel: public function __construct(Ship $shipId){}
    • Warum benutzt du static bei der Eigenschaft sowie den Funktionen vom Planner ?

    Ich habe mir schon zahlreiche Tutorials angeschaut zu static verstehe aber den Sinn davon nicht. Normale Functionen und Eigenschaften haben eigentlich fast die selbe Eigenschaft wie static. Man muss eben zuerst die Klasse instanzieren und man kann diese nur mit dem Pfeil ( -> ) zugreifen. Mit static braucht man nicht die Klasse zu instanzieren und kann mit 2 Doppelpunkten aus die zugreifen. Aber das ist für mich kein Grund static zu verwenden.

    • Warum benutzt du dabei keine protected bzw private Funktionen?

    Ich habe es so gelernt, dass Angreifer wenn alles public ist auf die ganzen wichtigen Funktionen Zugriff haben kann und man daher nur die Funktionen welche für den User sichtbar sein sollten man mit public machen soll. Alle anderen als protected oder private.

    Ich freue mich auf deine Antwort.

    Grüße,

    Stef