Ergebnis 1 bis 10 von 10

Thema: ' Problem

  1. #1
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard ' Problem

    Ich habe gerade gemerkt das wenn ich bei meinem GB und News Script ' eintippe bekomme ich einen Mysql Fehler.

    Beim Kontakt Script ist es nicht so.

    Hier mal den Code
    Code:
    <?php
    
    ......
    
    /* text bereinigung */
    $posttext = trim&#40;$_POST&#91;'posttext'&#93;&#41;;
    $posttext = str_replace&#40;"<","&lt;",$posttext&#41;;
    $posttext = str_replace&#40;">","&gt;",$posttext&#41;;
    /* ende der text bereinigung */
    
    .....
    
    $insert = "INSERT INTO `rem_book` &#40;  postid, posttext, posttime, authorname, authorwebsite, authoremail, authorip, stat &#41;
    VALUES &#40; '$postid', '$posttext', '$posttime', '$authorname', '$authorwebsite', '$authoremail', '$authorip', '$stat' &#41;;";
    mysql_query&#40; $insert&#41;
    or die &#40;"Fehler beim Eintragen des Beitrages!
    " .mysql_error&#40;&#41; &#41;;
    
    ......
    
    ?>
    Wieso ist das so?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Facebook Gruppe: Böses Encoding

  2. #2
    Meister(in)
    Registriert seit
    05.03.2006
    Alter
    29
    Beiträge
    432
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ich weiß nicht ob das ein Problem ist den Tabellennamen in Anführungszeichen zu schreiben aber Probiers mal so:
    Code:
    $insert = "INSERT INTO rem_book
    anstatt so:
    Code:
    $insert = "INSERT INTO `rem_book`

  3. #3
    Forum Guru
    Themenstarter

    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Nein das ist nicht das Problem.

    Ich habe ein wenig getestet.

    Wenn ich '''' probiere auszugeben kommt sowas \'\'\'\'\'\'\'\'\'
    Warum verstehe ich nicht.
    Facebook Gruppe: Böses Encoding

  4. #4
    Forum Guru
    Themenstarter

    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Es liegt beim trim() wenn ich es nicht trime und Filtere passiert es nicht.

    Irgendwie doch

    Man ich brauch schlaf.
    Ich schaue morgen
    Facebook Gruppe: Böses Encoding

  5. #5
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    du musst addslashes() auf die variablen anwenden, dann geht es, ích hatte das glieche problem und konnte es so geheben.... (erst vor ein paar tagen )
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  6. #6
    Forum Guru
    Themenstarter

    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Irgendwie nicht.

    wenn ich ' ausgeben will
    bekomm ich
    \\\' mit addslashes() und ohne \'

    aber ich will ja das wie hier im Forum ' kommt
    Facebook Gruppe: Böses Encoding

  7. #7
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    komisch, dann mach hinterher stripslashes() damit machste die weg
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  8. #8
    Forum Guru
    Themenstarter

    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Macht ja keinen Sinn
    dann ist es wie ohne addslahes und ohne stripslahes

    wie 10+1-1
    Facebook Gruppe: Böses Encoding

  9. #9
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    also durchs abschicken der Formulare wird das ganze einen magick quote unterzogen


    $posttext = str_replace("<","&lt;",$posttext);
    $posttext = str_replace(">","&gt;",$posttext);

    siehe da mal strip_tags()

    Da müsstest du nun mal in die DB gucken wie es dort ausschaut ...

    falls es da schon mit / vor drann steht, wurde es mittels // also 2 gespeichert...

    Das problem liegt daran, das auch sql einen quotung benötigt..
    Und diese wird durch die von dir verwendeten ' anstat " nicht aufgehoben durch den SQL server... also vorher richtig enquoten oder:

    $insert = 'INSERT INTO `rem_book` ( postid, posttext, posttime, authorname, authorwebsite, authoremail, authorip, stat )
    VALUES ( "'.$postid', "'.$posttext.'", "'.$posttime.'", "'.$authorname.'", "'.$authorwebsite.'", "'.$authoremail.'", "'.$authorip.'", "'.$stat.'");';

  10. #10
    Forum Guru
    Themenstarter

    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von GreenRover
    $insert = 'INSERT INTO `rem_book` ( postid, posttext, posttime, authorname, authorwebsite, authoremail, authorip, stat )
    VALUES ( "'.$postid.'", "'.$posttext.'", "'.$posttime.'", "'.$authorname.'", "'.$authorwebsite.'", "'.$authoremail.'", "'.$authorip.'", "'.$stat.'");';
    ". einmal vergessen

    Ja so geht's Danke
    Facebook Gruppe: Böses Encoding

Stichworte

Berechtigungen

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