PHP Setzt bei für die Zeichen ' und " immer ein \ vor,

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Mafia GmbH
Mitglied
Beiträge: 355
Registriert: 13.10.2003 16:09

PHP Setzt bei für die Zeichen ' und " immer ein \ vor,

Beitrag von Mafia GmbH »

Hallo,
HAbe eine Frage. Ich muß eine Suche Programmieren. Und wenn die User ' oder " Zeichen eingeben macht PHP automatisch ein \ Zeichen da vor.
Wie kann ich dies aber verhindern, bzw. Abstellen das es bei jedem ' und " Zeichen ein \ Zeichen davor setzt.

Weil ich muß dem User zeigen nach was er gerade gesucht hat, und PHP setzt automatisch in die TEXTBOX gleich \' rein. Und desto heufiger der user auf suchen klickt desto mehr macht PHP \ Zeichen dahinter. Also das nach ein par klickst shcon so aussehen wird. \\\\\\\\\'
Naja, ist zimlich blöd, ich weiß das diese Funktion gut ist das man bei der Datenbank kein Blödsin durch die Suchfunktion gemacht werden kann, aber dafür habe ich eine eigene Funktion vorgesehen.


Kann man dies bei PHP irgend wie sagender soll die POST eingangsvariablen nicht bearbeiten???
Benutzeravatar
Balint
Mitglied
Beiträge: 1815
Registriert: 25.01.2003 21:43
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Balint »

Meine MODs für phpBB 2.x und phpBB 3.x!
BruceCompanys
Mitglied
Beiträge: 25
Registriert: 29.12.2006 16:24

Beitrag von BruceCompanys »

Eine schöne Funktion dafür:

Code: Alles auswählen

function quote_core($text){
    if (!is_array($text)) return stripslashes($text);
    $r = array();
    foreach ($text as $k => $v)
    {
        $r[$k] = (!is_array($v)) 
            ? stripslashes($v)
            : quote_core($v);
    }
    return $r;
} 
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Naja die Funktion brauchst Du nur, wenn die Eingabe ein Array ist. Hier geht es aber nur um Daten aus einem Feld und da reicht stripslashes().

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Btw: Bei der Funktion kann man sich das zusätzliche Array auch sparen:

Code: Alles auswählen

function quote_core($text){
    if (!is_array($text)) return stripslashes($text);
    foreach ($text as $k => $v)
    {
        $text[$k] = (!is_array($v))
            ? stripslashes($v)
            : quote_core($v);
    }
    return $text;
} 
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Beitrag von Dungeonwatcher »

Hi große Meister! 8)

Wie müsste dann folgender Code aussehen, damit die Backslashes nicht mehr mit angezeigt werden?

Code: Alles auswählen

	if ( $decrypt )
		{
			$cipher_alg = MCRYPT_RIJNDAEL_256;
			$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
			$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
			$key = "This is a very secret key";
			$decrypted_message = str_replace("<b>Um diese verschl&uuml;sselte Nachricht zu lesen, gebe das Passwort unten rechts ein und klicke dann auf den Button \"Nachricht entschl&uuml;sseln\":</b>\n\n", "", $private_message);
			$decrypted_message = str_replace("<br />", "", $decrypted_message);
			$decrypted_message = trim(mcrypt_decrypt($cipher_alg, $encryption_key, pack("H*", $decrypted_message), MCRYPT_MODE_CFB, "$iv"));
			$private_message = str_replace("\r\n", "<br />", $decrypted_message);
			$decrypted_message = str_replace("\"", "\"", $decrypted_message);
		}
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“