Beiträge von cottton

    Kommt darauf an, was Du nutzt.
    Bei Apache kannst Du das Verzeichnis "blocken" (kein listing)
    via .htaccess Datei im Verzeichnis, das nicht gelistet werden soll:
    Ihnalt:

    PHP
    Options -Indexes

    Oder (vom Server unabhängig), was ich schon ziemlich genial finde, Du legst eine leere index.php in jedes Verzeichnis, welches nicht gelistet werden soll: http://stackoverflow.com/a/5971900
    Wenn dann jemand den Pfad aufruft, wird die index.php ausgefürht, die dann nichts ausgibt =)

    Basi lol zur exact gleichen Zeit geantwortet :D

    Ich sehe gerade auf der Seite, dass es jetzt wohl geht.

    Das Problem war vlt eine andere Datei - die index.php vlt?

    Schon ein Leerzeichen vor dem <?php könnte das sein

    PHP
    <?php
    // ^ leerzeichen vor <?php wird ausgegeben BEVOR header gesetzt wird:
    
    
    
    
    header('Content-type: text/css');
    // ...

    EDIT: auch Leerzeichen NACH dem ?> können Probleme machen.
    Ich hab vor ca. 1 Jahr gelernt: ?> am Ende des PHP Files wird nicht mehr genutzt.

    Warum:


    Hier bekommt der Browser am Ende des Files (am Ende des PHP Codes) 2 Leerzeichen.
    Um genau das zu verhindern, lassen wir das ?> einfach weg:


    und PHP erkennt "oh, das file ist zu ende. hier kann ich aufhören".
    Der Knackpunkt hier ist: die Leerzeichen landen in PHP, statt in HTML (-Bereich).
    Leere Zeilen in PHP sind keine Ausgabe.

    ist immernoch drin:

    Nicht auf Resourcen nachsehen - der Browser akzeptiert den Inhalt nicht. Daher ist das auch leer.
    Unter Network findest Du alles, was übertragen wurde.

    Siehe: network -> styles_index.php -> (tab) response

    Das problem ist, dass Du vor dem header() etwas ausgibts.
    Der browser bekommt das so:

     sagt mir, dass da was nicht stimmt ... offensichtlich :P

    Entferne den Kommentar vor dem PHP header('Content-type: text/css')
    Oder stelle ihn in PHP.

    Alles was NICHT in PHP tags steht, wird direkt ausgegeben. Also an den Browser geschickt.
    Dadurch ist das setzen des Headers nicht mehr möglich.

    Nicht wirklich.
    Eine Session wird auf der Platte des Servers abgelegt.
    Wenn Du in die Session ein TRUE rein steckst, dann steht das in dem File.
    Das File hat die Session Id (plus noch was anderes, kann mich nicht mehr erinnern) als Dateinamen.
    Such mal in Deiner php.ini nach session. Da müsste irgendwo der Pfad stehen, wo die Sessions abgelegt werden.

    Du kennst sicherlich die SID= in urls. Das sind die Session Ids. (http://php.net/manual/de/session.idpassing.php)
    Entweder wird die Session so vom user zum Server übertragen, oder per cookie.

    Der Server bekommt also die Session Id, sucht das File und lädt es.
    Eine Manipulation des Inhalts ist (meines Wissens nach) nicht möglich.
    Die Session Id kann allerdings "gestohlen" werden (siehe google php Session Hijacking).

    Wer auch immer die Session Id hat, bekommt im Script dein True gesetzt.

    Ohne Deinen Code gesehen zu haben:

    Du kannst eine Klasse nutzen, die eine static method hat.
    Hier im Forum haben wir 2 Beispiele dazu: https://www.html-seminar.de/html-css-php-f…atenbank+klasse


    Falls Du Dich nicht mit Klassen auskennst, dann kannst Du auch die Datenbank verbindung in eine Variable setzen,
    und in der Funktion (dort, wo du die Verbindung brauchst) nutzt Du:
    In etwa so:

    Wenn Die Form (beide) ausgegeben werden,
    nutzt Du einfach:

    Verstehe ich nicht ganz.
    Wie willst Du den Login absenden: per PHP Script, command line, oder Browser?

    Das, was Du geposted hast, ist ja schon die Request:

    Code
    POST /service/login-doit.php HTTP/1.1  
    Content-Type: application/x-www-form-urlencoded  
    
    
    
    
    LoginName=xxx&Kennwort=xxx


    Alles nach 2 x new line (2 x \r\n) ist der Body.
    Der ist im format: application/x-www-form-urlencoded
    und es ist eine POST Request auf /service/login-doit.php.

    Wie Du das abschicken musst, können wir Dir erst sagen, wenn wir wissen auf welchem Weg (siehe oben) das passieren soll.
    :)

    Yap.
    Parameter in der URL ^= GET
    Parameter im Body ^= POST|PUT|PATCH

    Ich sehe, Du willst über https und sicherlich per PHP: guck mal hier: http://stackoverflow.com/a/1154259

    Könnte am regex liegen, wenn es nicht mehr greift.
    Wenn zB die digits am Anfang nicht mehr 2, sonder > 2 sind. (IDs größer geworden?)

    breakdown:

    Empfehlung (unabhängig davon, on es der Fehler war)

    Dein

    PHP
    $this->neueHunde + 1 = $ergebnis;


    Ist halt eben nicht korrekt.
    Was Du geschrieben hattest, ist "spiegelverkehrt".

    PHP
    / FALSCH
    // $this->neueHunde + 1 = $ergebnis;
    // $a + 1 = $b;
    
    
    
    
    // RICHTIG
    $ergebnis = $this->neueHunde + 1;;
    $b = $a + 1;


    :)

    Dein calc Bsp macht irgendwie keinen Sinn :D
    Du nutzt 2 Parameter ($zahl1 und $zahl2), nutzt diese aber nicht,
    sondern überschreibst sie mit $_POST-Daten.

    Ich denke Du musst Dir nochmal Funktionen ansehen.


    am Bsp - einfache Funktion - zwei Zahlen zusammen zählen.
    Die Werte kommen über $_POST:

    Die Fehlermeldung sagt es doch: das "=" ist unerwartet.

    PHP
    $this->neueHunde + 1 = $ergebnis;
    // sollte sicher das hier sein:
    $this->neueHunde = $ergebnis + 1;

    Da ist min noch ein Fehler:

    PHP
    public function neueHunde($anzahl = 10, $ergebnis )


    1. optionale Parameter sollten immer NACH nicht optionalen Parametern kommen.
    2. Du gibts kein Wert für $ergebnis rein (Zeile 41)

    BTW: würde empfehlen im Code alles Englisch zu halten. Kommentare wie Variablen und Funktionen ect.
    Ich meine, wenn Du schon mit OOP anfängst, kann man sich gleich an "andere Sachen" gewöhnen =).

    Hast Du hier schon mal reingesehen: http://www.php-kurs.com/objektorientie…rung-in-php.htm

    Zu protected:
    Die Property (Eigenschaft) $neueHunde ist protected. Nicht die Methode.


    Hier mal ein Bsp am Hund:
    // -Kommentare sind natürlich nur zur Erklärung

    Bei mehreren Tieren (Animals) würde man dann eine Class Animals erstellen, die eine Sammlung (collection) von Tieren hält.
    Aber das evtl später.

    Schön, das Du OOP nutzen möchstest. Macht sehr viel Spass und Sinn.
    Es sieht zwar viel aus, kommt aber nach und nach - irgendwann ist das alles logisch :)

    Damit würdest Du wieder HTML und PHP/Daten mischen.
    Besser wäre mehrere Funktionen wie zB

    PHP
    // bsp meeting:
    $meeting = getMeetingById($id);
    $meetingsCollection = getMeetingsByUserName($userName, $from, $to);
    // ...
    $meetingHtml = getMeetingHtml($meeting);
    $meetingsCollectionHtml = getMeetingHtml($meetingsCollection);

    Schön, wenn es funktioniert.

    Ich denke das größte Problem ist, dass Du ja ein eigtl schon fertiges Tool hast.
    Selbst für Dich als Ersteller wird es dann schwierig kleine Fehler zu finden.

    Wenn Du vor lauter Code nicht mehr durchsiehst, oder den Fehler einfach nicht finden kannst,
    dann (so mach ich es oft) kopiere das Projekt (Backup) und fang von vorne an.

    Soll heißen: alles raus (Grundstruktur bleibt bestehen),
    und dann Stück für Stück alles wieder zusammen bauen.

    zB die Leiste oben mit den Buttons (was ja denke ich die Nav ist) einbauen und als Content lässt Du nur den Namen ausgeben.
    Dann weißt Du, ob die Nav korrekt läuft.

    Dann Stück für Stück die Inhalte wieder einsetzen.
    Dabei findest Du evtl Gemeinsamkeiten, die man wiederverwenden kann.
    Dann ab damit in eine Funktion.

    Und die Funktion als nächstes testen.
    Hier zB die Funktion status_detail(). Machst sie in jedem Fall das, was sie soll?

    BTW: status_detail würde ich umbenennen UND die Funktion das HTML zurückgeben lassen, anstatt per echo direkt auszugeben.
    Bsp:

    Die Funktion würdest Du dann per require_once einbinden, damit sie nicht immer "im Wege steht" und/oder mehrfach kopiert wird.

    Sorry, aber bin gerade etwas kurz angebunden.

    Zur ersten Frage meinte ich 3. Das Steuern der abläufe wie zB Speichern, bereits eingegebenen Daten in Vars stecken und dann "unten" im Formular ausgeben.

    Vermutung:
    Du nutzt ja eine Form, um die Seite (Buttons) zu wechseln.
    Wenn Du also zB auf neuen Termin klickst, dann bekommst Du ja die 2te Form angezeigt, die die Inputfelder ausgibt.

    Wenn Du nun diese 2te Form ausfüllst und absendest,
    dann wird der Button (die Seite ) nicht mitgegeben.
    Heißt: im PHP script landest Du für Form 1 auf der ersten Seite,
    bekommst aber Daten für die (?) dritte.

    Die Lösung könnte sein, in der 2ten Form die aktuelle Seite mit zu geben.

    Das hast Du glaub ich momentan per SESSION gemacht. Da ist evtl ein Fehler drin?