Beiträge von cottton

    Du machst dir auch den Zeilenumbruch wieder damit weg.

    und das hier:

    PHP
    $kommentar = addslashes(htmlentities(strip_tags(trim($_POST['kommentar']))));


    Würde ich vermeiden.
    Meiner Meinung nach sollte man den original Wert so belassen wie er ist.
    Erst wenn Du in ausgeben willst oder "irgentwo hinpackst", dann würde ich:

    PHP
    das ist dein comment: <p>'.htmlspecialchars($kommentar).'</p>

    Thema htmlspecialchars vs htmlentities: ich nutze htmlspecialchars, wüsste aber auch gern wer warum und wo htmlentities nutzt =)

    Btw- wenn Du die Daten ins File schickst braucht Du nichts encoded/ändern/maskieren. Das File selbst gibt ja nichts aus.

    Ich hab letztens gelesen wie jemand beim Login-sys die IP prüfen wollte.
    Die Idee fand ich nicht schlecht.
    => sobald sich die User-IP ändert wird die Session gelöscht.

    Allerdings dürfte das Probleme geben bei dynamischen Ips, oder?

    Hab ich das richtig verstanden, dass es "egal" ist was in der db (in der Zelle) steht?

    Ich nutzte ja prepared statements @mysql und dadurch ist es wurst was der user eingibt, solange mann prepared statements richtig nutzt.
    Heißt: ein text wie zB
    "Bla bla ich breche hier Deine Query: ' ;"
    hat keine Auswirkung auf die Query.

    Aber ist es denn wirklich egal, ob in der Zelle der db dieser Text unmaskiert steht?

    Also ist wohl das error_reporting() in php sehr zeitaufwendig (?)

    Ich hatte extra error_reporting(E_ALL ^ E_NOTICE); gesetzt. Aber im hintergrund wird es wohl doch "bearbeitet".
    Und wenn zB eine notice auch nur geworfen werden würde, dann geht das auf kosten der performance.
    und überraschung mit dem @ :D:

    Zitat


    if (!$na)
    : 0.52884411811829 Sekunden!

    if (@!$na)
    : 3.447417974472 Sekunden!

    keine ahnung :D
    Hab den einen test auch noch mal komplett alleine laufen lassen und bekomme als ergebniss: "==" immer schneller als "===".

    Wenn ich aber alles insgesamt richtig sehe, dann ist es wohl das sinnvollste, wenn man
    if(isset($var))
    und
    if(!isset($var))
    nutzt.

    Das eine ist bei nicht gesetzter $val schneller, das andere bei gesetzter $val.
    Was aber immer relativ gleich bleibt ist bei mir if(isset()) / if(!isset()).

    Hab mal das bsp if(isset(var)...) mit rein genommen:


    Wow!
    Ich glaub ich nutze nie wieder if(!$var) :huh:
    Ich glaub ich werd in zukunft sehr viel testen :D

    EDIT:
    ich glaube bei "if ('2' == 2)" (typen sind ncht gleich) kommt viel arbeit zustande, da php versucht die '2' als int zu verwenden.
    Hatte das mal gelesen.

    EDIT2:
    ja, tut es wohl:

    Zitat


    test: '2' + 2
    : 1.2720310688019 Sekunden!

    test: 2 + 2
    : 0.50452089309692 Sekunden!

    Naja das meinte ich ja. Es gibt also für if(isset(var)==false) einen sinn - man liest es einfacher.
    Hätt ja sein können, dass es da noch was gibt, was ich nicht kenne.

    Hat jemand ne idee wie man die performance bei solchen kleinen code-schnipseln testen kann?

    if (isset(var) == false) ist äquivalent zu if (! isset(var))


    Das meinte ich ja.
    Aber müsste es dann nicht heißen:
    if ( isset(var) === false )
    ?
    Wenn ich "==" prüfe, dann prüfe ich doch nicht auf den typ. Auch wenn bei isset() nur true/false zurückgegeben wird.

    Also einen tieferen Hintergrund hat es nicht, oder?

    Moin,
    hab in fremden Quellcode das hier gesehen:

    PHP
    if(isset($var) == false){
    ...
    }


    Gibt es irgent einen Grund warum man das so schreiben sollte?
    Ich meine == false ist ja schon mal falsch, das es ja nicht exakt (den Typ) prüft.
    Ausserdem gibt isset() ja true oder false zurück, und das if prüft ja schon auf true oder false.

    Sozusagen prüft das ja:

    PHP
    wenn true (
        wenn "false" (
            wenn gesetzt ( var )
        )
    )


    Wozu macht man das? :D

    e-reporting abschalten - bin ich dagegen.
    Gerade am Anfang brauch man jede "Notice"/"Warning" um zB genau diese Sachen kennen zu lernen :)
    (Ich schreibe nach 2 Jahren immernoch alle Scripte so, dass sie nicht mal eine Notiz ausgeben =)

    @$_GET bin ich dafür WENN man weiß, dass man es mit einem
    if ( isset( $_GET... ) )
    lösen könnte, das script aber "so oder so hier durch laufen soll" :D


    In diesem Fall wäre wohl das "@" angebracht.

    HTML
    <input name="vorname" type="text" value="<?php echo @$_GET['vorname'];?>" size="20" maxlength="20"><br/>
    <p>Anliegen <br/>
    <textarea name="anliegen" cols="20" rows="5"><?php echo @$_GET ['anliegen']?></textarea><br/>


    Übrigens: Du hast die <p>´s überall aufgemacht, schiesst sie aber nicht. ( <p> ... </p> )

    btw - genau der Fehler hatte mich damals auch fertig gemacht :)