Seite 4 von 4 ErsteErste 1234
Ergebnis 61 bis 69 von 69

Thema: Mein PHP-Frage-Thread

  1. #61
    *Thread wieder ausbuddelt*

    Mir ist noch was tolles eingefallen, was ich unbedingt wissen muss Und zwar werden meine ganzen Zeilenumbrüche nicht übernommen, also wenn ich

    "Hallo
    das ist ein eintrag"

    schreibe, schreibt er alles hintereinander weg. Warum das so ist, ist mir klar. Und dass man das nun angeblich mit der funktion nl2br() ändern kann, hab ich auch gelesen.
    Wenn ich jetzt aber sage $_POST[kommentar] = nl2br($_POST[kommentar]);
    tut er überhaupt nix ._. Warum, was muss ich tun, damit das geht??

  2. #62
    Was meinst du mit gar nix? Übernimmt er die Zeilenumbrüche nicht, oder wird der String geleert? Falls zweites eintritt so scheint es, dass kein Array falsch adressiert wird, da die Variablen in der Regel wie folgt adressiert werden: $Array['Schluessel'] und die ' fehlen bei dir irgendwie.

  3. #63
    Zitat Zitat von Latency
    Was meinst du mit gar nix? Übernimmt er die Zeilenumbrüche nicht, oder wird der String geleert? Falls zweites eintritt so scheint es, dass kein Array falsch adressiert wird, da die Variablen in der Regel wie folgt adressiert werden: $Array['Schluessel'] und die ' fehlen bei dir irgendwie.
    Er übernimmt die zeilenumbrüche nicht. Er schreibt trotzdem alles hintereinander >_>
    Hab die einfachen Anführungszeichen ergänzt, tut sich aber trotzdem nix ._."

  4. #64
    Ich kenn mich mit PHP zwar auch nicht so gut aus, aber was passiert wenn du den Inhalt direkt in eine Variable schreibst:
    $variable = nl2br($_POST[kommentar]);
    Und diesen Inhalt dann weiterverwendest, falls das funktioniert.

    Edit: Hab's gerade mal ausprobiert, bei mir zumindest funkioniert es.

    Geändert von Krelian (21.08.2005 um 22:01 Uhr)

  5. #65
    So geht das anders geht das nicht (hab ich so gelernt)

    PHP-Code:
    <?php
    $kommentar 
    $_POST['kommentar'];
    $kommentar nl2br($kommentar);
    $sql "... $kommentar...";
    ?>
    Also was in die DB geschrieben werden soll nicht $_POST sondern dann $kommentar verwenden

  6. #66
    Hab jetzt meinen Fehler gefunden, musste die Zeile nur an eine etwas andere Position packen, dann gings, dann gehts auch mit $_POST[kommentar]
    Danke trotzdem

  7. #67
    Zitat Zitat von fanrpg
    Also was in die DB geschrieben werden soll nicht $_POST sondern dann $kommentar verwenden
    PHP-Code:
    $_POST['kommentar']; // Böse SQL-Injektion
    $kommentar $_POST['kommentar']; // Einfach andere Variable Verwenden
    mysql_query($kommentar); // SQL-Injektion nicht mehr böse :) 
    Ganz so einfach geht das nicht
    Es ist viel wichtiger seine Strings entsprechend zu bearbeiten bevor sie in die Datenbank eingetragen werden, entweder in dem MagicQuotes im Server aktiviert sind, oder in dem man sie per Hand mit mysql_real_escape_string bearbeitet.

  8. #68
    *thread von gaaaaaaaaanz unten wieder ausbuddelt*

    Ich hab nochmal ne Frage
    Für son tolles Projekt an unserer FH soll ne Website erstellt werden. Da haben wir mein Gästebuch eingebaut und jetzt soll so ein schöner Wortfilter da mit eingebaut werden, der den Text überprüft, ob irgendwelche Wörter da drinstehen, die da nicht reingehören sollen. Beschimpfungen und dergleichen.

    Wir haben das ganze jetzt so gelöst, dass wir die Wörter in ein Array gepackt haben, und das wird dann mit dem Text verglichen. Problem an der Sache ist: wenn ich "schwein" im Array stehen habe, im Text aber SchWEiN steht, dann erkennt er das nicht, wegen unterschiedlicher Groß- und Kleinschreibung. (ich muss an dieser Stelle mal hinzufügen, dass ich das selbst noch nciht getestet hab, weil ich mich vorher mit was anderem beschäftigt habe und jetzt eben nem Komilitonen helfen soll.)
    Angeblich solls unter PHP 5 wohl eine Funktion geben, die dafür da ist, dass es egal ist, wie es geschrieben ist, erkannt wirds wohl trotzdem. Wie realisiert man aber das ganze dann unter PHP4, wos (laut denjenigen, die sich schon weiter darum gekümmert haben) keine solche Funktion gibt?
    Wäre etwas viel Arbeit, für jedes wort sämtliche mögliche Schreibweisen ins Array aufzunehmen?!

  9. #69
    Das dürfte zum Beispiel mit preg_replace funktionieren (gibt's auch in PHP4). Die Funktion erlaubt das Suchen nach regulären Ausdrücken und natürlich das Ersetzen derselben. Um "Schwein" in dem String $text zu ersetzen wäre folgendes nötig:
    Code:
    $text = preg_replace("/schwein/i","*****",$text);
    Dabei ist /schwein/i der reguläre Ausdruck, schwein ist der Suchstring und i ist der Modifier, der sagt, dass die Groß-/Kleinschreibung unwichtig ist. Die Sternchen sind natürlich der Text, mit dem ersetzt wird.

    freundliche Grüße, Rolus

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •