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

Thema: Mein PHP-Frage-Thread

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Dann wäre zu erwähnen, dass man lieber $row['logourl'] und nicht "$row[logourl]" schreiben sollte. Irgendwie bezweifel ich, dass letzteres überhaupt funzt (Nicht, dass ichs jemals probiert hätte... ich verwend immer mysql_fetch_object)

  2. #2
    *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??

  3. #3
    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)

  4. #4
    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

  5. #5
    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.

  6. #6
    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 ._."

  7. #7
    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

  8. #8
    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.

  9. #9
    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

Berechtigungen

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