Beiträge von cottton

    Du hast ja kein Schreibzugriff.
    Wenn Du allerdings verhindern willst, dass jemand zB über "plugins" zu Deinem Tool via print_r ein private $password lesen kann,
    dann wäre wohl static die Lösung.
    Bsp Sql:


    BTW: aufpassen bei static:


    Mehrere Objekte der gleichen Klasse nutzen static Eigenschaften gemeinsam.

    Der Fehler kommt glaub ich von einer PHP Version, die das mit den Klammer noch nicht unterstützt.
    Weiß grad nicht ab welcher Version das unterstützt wird.
    Abhilfe wäre dann

    PHP
    $temp = time_diff($time_array[0], $time_array[1]);
    $ergebnis = $temp['t'];

    Mit Klammern kannst Du verschiedene Bedingungen verschachteln.
    Hier im Fall heiß das:
    WENN (das ODER das) UND das

    SQL
    (seite = 'impressum' OR seite = 'index')  AND format = 468


    Ohne Klammern würde die Bedingung das AND nicht prüfen.

    Nimm Die mal Deinen Sql-Editor und teste mal ein bissl rum:

    SQL
    SELECT (false OR true) AND true; -- ergibt 1, also WAHR
    SQL
    SELECT (false OR true) AND false; -- ergibt immer 0, also nicht WAHR, denn das AND ist nie wahr

    Wenn ich Dich richtig verstehe, dann kast Du das gleich mit in der Query erledigen:


    BTW - was hat es mit ORDER BY RAND() auf sich?
    Gesprochen bedeutet die Query:
    "Gib mir alles von der Tabelle anzeigen,
    wo seite impressum enthält
    und format 468 enthält,
    sortiere dabei alle nach *Zufall*
    und gibt mir nur eine Zeile zurück."
    Das hieße ja, dass Du mehrere Zeilen 'impressum' hast, bei denen zufällige Zahlen in format stehen oO?

    "Mit PHP kannst Du alles machen" - hatte mir damals jemand gesagt.
    Und meiner Meinung nach ist PHP eine schön einfache Sprache zum Einsteigen.

    Zwecks Geld: die "Rechnung" lohnt nicht.
    Als ich auch keine Ahnung vom Programmieren hatte, brauchte ich ein Script. Der Preis wäre 300€ gewesen von einer Privatperson.
    Dabei war der Zeit/Kosten/Nutzen/wasAuchImmer -Faktor fürn A... =)
    Soll heißen - für den Coder eine einfache Sache, die aber trotzdem Zeit braucht. Und für das "bisschen" Code war es einfach Sinnvoller es selbst zu lernen.
    Außerdem wirst Du immer mal wieder etwas am Script ändern wollen. Und evtl 50€ für "Wer weiß was es gemacht hat" willst Du sicher nicht zahlen =)

    Das Was Du benötigst (HTML, PHP (arbeiten mit Files) ) kannst Du in 2-4 Wochen lernen.

    Sorry, aber irgendwie wird es albern.
    Du machst Dir ja nicht mal die Mühe den kopierten Code einzurücken.
    Du erwartest fertiges, kopierst es in Dein Script und siehst nach, ob es läuft.
    Wenn es nicht nicht läuft, oder nicht wie gewünscht, dann fragst Du weiter.
    Das ist nicht Sinn der Sache.

    Wenn Du Dein Script erweitern willst, dann probier es selbst.
    Wenn es nicht geht, dann versuch herauszufinden, warum es nicht geht.
    Wenn Du Fehler bekommst, versuche diesen zu beheben.
    Wenn Du gar nicht klar kommst, der Fehler (die Lösung) in Google ect nicht zu finden ist, dann frage nach, aber dann mit Fehlermeldung.
    ...

    Verwirrend beschrieben, vorallem da Du sagst

    Zitat

    sortieren und zwar was im Feld l_status steht


    aber dann

    SQL
    ORDER by l_sort


    in der Query steht.

    Dein Problem ist sicherlich, dass das Feld als VARCHAR / CHAR definiert ist.
    Der Sql Server sortiert dann
    1
    90
    99
    -> das erste Zeichen zählt hier.
    demnach
    1
    100
    99
    oder auch
    234235
    312
    333
    5345
    unsw.

    Wenn Du das Feld nicht auf INT umstellen kannst, dann gibt es die Möglichkeit:

    SQL
    ORDER BY CAST(`l_status` AS SIGNED) DESC -- SIGNED ^= vorzeichen, also zb -1000 und +1000 möglich
    -- UNSIGNED wenn du nur positive werte erwartest


    CAST siehe: http://dev.mysql.com/doc/refman/5.0…l#function_cast

    Ehrlich gesagt nicht wirklich, denn Du scheinst selbst nicht nach den Fehlern zu suchen.

    Auf Anhieb gefunden, ohne zu suchen: value=<?php
    Wenn die Syntax nicht stimmt, kann einiges "auf der Strecke bleiben".

    naja, strip_tags ist wie ein "Wilder", der über den Text rennt.

    Zitat


    Warnung
    Da strip_tags() HTML nicht wirklich validiert, kann es passieren, dass bei unvollständigen oder unkorrekten Tags mehr Text/Daten gelöscht werden als erwartet.
    Warnung
    Diese Funktion modifiziert keine Attribute bei Tags, die via allowable_tags erlaubt wurden, dies betrifft auch style und onmouseover Attribute, die ein böswilliger User verwenden kann, um einen Text zu posten, der von anderen Usern gesehen werden soll.


    Was mich sofort nerven würde ist, dass in meinem Text ein <---- o.ä. entfernt werden würde.
    Mehr noch - der Text dahinter wäre futsch.

    Was Du da schreibst passt irgend wie vorn und hinten nicht zusammen :D

    Wenn Du an der gleichen Stelle im Script, beim gleichen Ablauf ein echo und ein var_dump ausgibst,
    dann kann das eine nicht ein Datum sein und das andere NULL.

    var_dump gibt den Typ und Inhalt einer Variable aus. Das heißt: wenn var_dump NULL "sagt", dann ist es NULL =)
    Zeig mal den Teil des Scripts.

    Wenn Du in der DB ein Feld von VARCHAR auf DATE (ich denke Du meinst DATE) stellst, dann sind entweder noch (umgewandelte) Datensätze vorhanden, oder eben nicht.
    Ein "komisches" oder "kaputtes" Format, das nicht mehr richtig geht o.ä. gibt es nicht.

    Was ist das für ein Format, was aus der DB kommt?
    DATE oder DATETIME?
    Die date() Funktion braucht einen "Unix Timestamp".
    Den bekommst Du zB mit strtotime() http://php.net/function.strtotime

    PHP
    $MeinArray[] = date("d.m.Y", strtotime($row_podidate['podizei_datum']));
    // bsp: echo date("d.m.Y", strtotime('2014-11-20 04:19:53'));

    EDIT:
    info: immer wenn Du " 01.01.1970" siehst, kannst Du davon ausgehen, dass die date() Funktion den Wert 0 (Zahl Null) bekommen hat.
    01.01.1970 ist das Datum, "an dem die Zeitrechnung" begann.

    Immer Filtern auf was Du erlauben möchtest, Nicht auf das, was Du nicht möchtest.
    Bsp:
    Angenommen es gibt momentan nur 2 tags: <script> und <b>
    Die beiden kennst Du und filterst auf das, was Du nicht erlauben möchtest: filter-><script> entfernen
    Alles ok, gewünschtes Ergebnis.

    Nach einem Jahr (Du hast schon lange nichts mehr an der Seite gemacht) gibt es einen neuen Tag: <böse>
    Und hier kommt das Problem: Du hast auf negatives gefiltert. Da war der <böse> tag aber nicht mit drin.
    Daher ist dieser tag jetzt aktiv/verfügbar.

    Wenn Du also auf positiv filterst und nur Dir bekannte "gute" tags erlaubst, dann kann kommen was will - alles was neu ist muss erst von Dir "eingebaut" werden.
    (Prinzip sollte man überall verwenden, wenn möglich)

    Zur Sache:
    Das einfachste wäre, Du erlaubst gar keine Ausführung von code.
    Das würdest Du mit htmlspecialchars() erreichen.
    Wie: gnadenlos JEDES einzelne Zeichen das irgendwo im Browser ausgegeben wird mit htmlspecialchars maskieren. Egal, ob es aus Deiner eigenen DB kommt, oder über POST.

    Wenn Du aber bestimmte tags erlauben möchtest, dann fällt mir auf Anhieb das Stichwort "Platzhalter" ein.
    Bsp:
    user input: "das ist mein <script>alert(1)</script> bold text"
    Diesen String speicherst Du einfach so wie er ist in der db.
    Aber beim Ausgeben suchst Du im String nach freigegebenen Tags:

    Zitat

    das ist mein <script>alert(1)</script> bold (<b >geht nicht)
    text. hier versuche ich den </body> zu beenden.


    (geht bestimmt noch bissl "schöner")
    Wie Du siehst wird zB ein Tag wie zB <tag parameter="abc"> wird also nie ausgeführt.
    Es läuft nur das, was laufen soll =)

    Macht 9.99€ :D

    edit:

    PHP
    // btw:
    $liste = array();
    foreach($erlaubt as $tag_paar){
        $liste[] = implode('', $tag_paar);
    }
    echo "<hr>erlaubte tags: " . htmlspecialchars(implode(', ', $liste));
    // out:  erlaubte tags: <b></b>, <i><i>, <br>