Html Box in Mysql eintragen

Hallo ich habe mal wieder ein Problem,

wenn ich mit Hilfe dieses Scripts html Befehle (z.b. ein Bild einfügen möchte) in meine Datenbank eintragen möchte, werden diese immer so verändert das sie nicht mehr erkannt werden. Ich hoffe ihr könnt mir erneut helfen

[code]

	<input type="hidden" name="add" value="true" />

	<div>
		<label for="title">Titel:</label><br>
		<input type="text" name="title" id="title"  />
	</div>
	
	<div>
		<label for="body">Beitrag:</label><br>
		<textarea name="body" id="body" rows="10" cols="100" value="<html>"></textarea>
	</div>
		<label for="date">Datum:</label><br>
		<input type="text" name="date" id="date" value="<?php

$datum = date(“Y.m.d “);
echo $datum,””;
?>" />




[/code]

Super Fehlerbeschreibung.
Wie werden die Daten verändert? Zeig mal das Skript, das die Daten einträgt.

Das ist das Scirpt:

[code] function add_content($p) {
$title = mysql_real_escape_string($p[‘title’]);
$body = mysql_real_escape_string($p[‘body’]);
$date = mysql_real_escape_string($p[‘date’]);

	if(!$title || !$body || !$date):
	
		if(!$title):
			echo "<p><b>Es ist ein Titel erforderlich!</b></p>";
		endif;
		if(!$body):
			echo "<p><b>Es ist ein Text erforderlich!</b></p>";
		endif;
		if(!$date):
			echo "<b><p>Es ist ein Datum erforderlich!</p></b>";
		endif;
		
		echo '<p><a href="add-page.php"><b>Möchten Sie es erneut versuchen?</b></a></p>';
	else:
		$sql = "INSERT INTO cms_pages VALUES (null, '$title', '$body', '$date' )";

		$res = mysql_query($sql) or die(mysql_error());
		echo "<p><b>Erfolgreich hinzugefügt!</b></p>";
	endif;
}[/code]

Wenn ich per Script folgendes eintrage (schon getestet mit und :

Wir folgendes auf meiner Seite ausgeben: “”
und in der Datenbank steht: <img style=“width: 962px; height: 138px;” alt=""
src=“http://www.bplaced.net/gfx/header.png”>

Das liegt daran, dass auf bplaced komischerweise immernoch magic_quotes_gpc eingeschaltet ist. (Warum eigentlich?)

Leg dir eine “.user.ini” an mit dem Inhalt: magic_quotes_gpc = Off
und lad sie in dein root-Verzeichnis.

Danke hat, mal wieder geklappt ty hummer

[quote=„hummer“]Das liegt daran, dass auf bplaced komischerweise immernoch magic_quotes_gpc eingeschaltet ist. (Warum eigentlich?)
[][/quote]Wenn ich mich net irre ist da sogar nicht einmal :bp: schuld xD Ist derzeit noch PHP Standard.; Magic quotes are a preprocessing feature of PHP where PHP will attempt to ; escape any character sequences in GET, POST, COOKIE and ENV data which might ; otherwise corrupt data being placed in resources such as databases before ; making that data available to you. Because of character encoding issues and ; non-standard SQL implementations across many databases, it's not currently ; possible for this feature to be 100% accurate. PHP's default behavior is to ; enable the feature. We strongly recommend you use the escaping mechanisms ; designed specifically for the database your using instead of relying on this ; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is ; scheduled for removal in PHP 6. ; Default Value: On ; Development Value: Off ; Production Value: Off ; http://php.net/magic-quotes-gpcIs nen Widerspruch ansich^^ 1. ist es veraltet, 2. wird für jede Verwendung „Off“ empfohlen, dennoch ist Default „On“^^

Es geht halt um alte / schlechte Scripte, „gute“ Scripte kommen so oder so klar :wink: Der klügere gibt ja bekanntermaßen nach.

Hi,

wenn ich des jetz bei mir umstellen sollte mit dem off was sollte ich beachten bzw. was muss das script machen (injektionen etc?) ohne das ich jetz alle fälle durchtesten muss und dann doch noch was überseh

lg flo

Wenn du dich vorher nur auf die magic_quotes verlassen hast, solltest du alle Skripte prüfen, in denen von Jedermann SQL-Abfragen durchgeführt werden können.

mysql_real_escape_string() oder prepared Statements. (mysqli, pdo)

Hi,

ok danke :wink:

lg