PDA

Vollstndige Version anzeigen : POST liefert verflschte Werte zurck


Claus
07-07-2004, 21:00
Hallo,

ich habe ein Problem, wenn ich mir Werte per POST bermitteln lasse.

Sehen lsst sich das Problem an diesem kleinen Problem:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>PHP Problem</title>
</head>

<body>
<?php
$string=$_POST['text'];
echo("$string");
?>
<form action="tmp.php" method="POST">
<br />
<textarea name="text" cols="30" rows="5" wrap="SOFT"></textarea><br />
<input type=submit name="go" value="Go">
</form>

</body>
</html>

Wenn ich jetzt in das Textfeld folgendes eingebe:
Test ' "

kommt folgendes hinaus:
Test ' "

Das ist mir schon unverstndlich, aber was mir jetzt noch unverstndlicher ist, ist, dass phpBB, welches ja auch POST benutzt, auf meinem Server luft.

Ich komme beim besten Willen nicht darauf, was ich falsch mache. Wei vielleicht jemand weiter?

Gru,
Claus

feuervogel
07-07-2004, 21:15
willkommen im forum!

das ist kein fehler, sondern php validiert eingaben automatisch.

scheibt bei der ausgabe einfache:

echo strip_slashes( $string );

Dago
08-07-2004, 11:05
Das liegt brigens an der Konfigurations-Option "magic_quotes_gpc".
Diese ist standardmig eingeschaltet.

Um sie auszuschalten, entweder die php.ini direkt bearbeiten oder eine .htaccess mit folgendem Inhalt anlegen:
php_flag magic_quotes_gpc 0

Direkt im PHP-Skript lsst sich die Option leider nicht beeinflussen.

feuervogel
08-07-2004, 11:12
> Direkt im PHP-Skript lsst sich die Option leider nicht beeinflussen.

auch nicht mit ini_set wenn safe_mode off ist?

Dago
08-07-2004, 11:19
> auch nicht mit ini_set wenn safe_mode off ist?

So ist es. magic_quotes_gpc hat den "Changeable"-Status PHP_INI_PERDIR (Quelle (php.net/ini_set)).
Also sind nderungen nur via php.ini oder eben "perdir" (htaccess) mglich.

Ist ja auch logisch. Die Input-Variablen werden geparst, bevor das Skript aufgerufen wird.

Claus
08-07-2004, 17:53
Hallo,

vielen Dank fr die vielen Antworten. Ich habe es noch nicht getestet, aber ich bin mir sicher, dass es so laufen wird.

Gru,
Claus