Hallo,
ich habe ein Problem mit einem Skript. Ich finde den Fehler einfach nicht.
Das Skript soll einen editierten Text zunächst in ein Feld "temp" (Typ longtext) der Datenbank "content" schreiben (Das funktioniert noch...).
Nach Verifizierung soll nun dieser Inhalt als eigentlicher Content im Feld "text" "(Typ longtext) gespeichert werden ($sql_update).
Hier tritt immer der Fehler auf, dass das Feld einfach nicht geändert wird...
Komischerweise funktioniert das Ganze bei kurzen Texten, bei sehr langen aber nicht.
Schaut's euch mal an, vielleicht findet ihr ja was. Danke!
ich habe ein Problem mit einem Skript. Ich finde den Fehler einfach nicht.
Das Skript soll einen editierten Text zunächst in ein Feld "temp" (Typ longtext) der Datenbank "content" schreiben (Das funktioniert noch...).
Nach Verifizierung soll nun dieser Inhalt als eigentlicher Content im Feld "text" "(Typ longtext) gespeichert werden ($sql_update).
Hier tritt immer der Fehler auf, dass das Feld einfach nicht geändert wird...
Komischerweise funktioniert das Ganze bei kurzen Texten, bei sehr langen aber nicht.
Schaut's euch mal an, vielleicht findet ihr ja was. Danke!
PHP-Code:
<?php
require ('checkuser.php');
include ('editor/fckeditor.php');
include('../data.php');
$mydb = mysql_connect($host,$user,$pass);
if (!$mydb)
die ("Keine Verbindung zu MySQL");
mysql_select_db($db,$mydb) or die ("Keine Verbindung zur Datenbank");
$sql = "SELECT * FROM menu WHERE menuid='$menuid'";
$zeilen = mysql_query($sql,$mydb);
$zeile = mysql_fetch_array($zeilen);
$head=$zeile[topic];
if ((!$submit && !$submit2) || $back) {
echo "<div><b>Menüpunkt \"$head\" verwalten</b></div>";
$sql = "SELECT * FROM content WHERE contentid='$menuid'";
$zeilen = mysql_query($sql,$mydb);
$zeile = mysql_fetch_array($zeilen);
?>
<form action = '<?php $PHP_SELF ?>' method = 'post' name='formular1'>
<table class="rahmen" style="width: 750px;">
<tr>
<td class='rahmen'>
<?php
$oFCKeditor = new FCKeditor ;
//if (!$back) {
$oFCKeditor->Value = $zeile[text];
//} //if
if ($back) {
//delete temporary content
$sql_delete_temp = "UPDATE content set temp='' WHERE contentid='$menuid'";
mysql_query($sql_delete_temp,$mydb);
} //if
$oFCKeditor->CanUpload = true ; // Overrides fck_config.js default configuration
$oFCKeditor->CanBrowse = true ; // Overrides fck_config.js default configuration
$oFCKeditor->CreateFCKeditor( 'content', '100%', 480 ) ;
?>
</td>
</tr>
<tr>
<td class="rahmen" bgcolor="#0099CC" align="center"><input type="reset" value="reset">
</input> <input type="submit" name="submit" value="ändern"></td>
</tr>
</table>
</form>
<?php
} //if
if ($submit) {
?>
<form action = '<?php $PHP_SELF ?>' method = 'post' name='formular2'>
<?php
$sql_insert_temp = "UPDATE content SET temp='$content' WHERE contentid='$menuid'";
mysql_query($sql_insert_temp,$mydb); //das funktioniert
echo "<div class='text'><b>Vorschau des bearbeiteten Inhalts:</b></div><br>";
echo "<table class='rahmen' style='width: 750px;'><tr><td class='rahmen'>";
echo "<iframe src='../preview.php?menuid=$menuid' width='750'
height='480' name='preview' scrolling='yes' frameborder='1'></iframe>";
echo "</td></tr></table>";
echo "<table class='rahmen' style='width: 750px;'><tr><td class='rahmen' bgcolor='#0099CC' align='center'>
<input type='submit' name='back' value='zurück'></input> <input type='submit' name='submit2'
value='weiter'></input></td></tr></table></form>";
} //if
if ($submit2 && !$back) {
$sql2 = "SELECT * FROM content WHERE contentid='$menuid'";
$zeilen2 = mysql_query($sql2,$mydb);
$zeile2 = mysql_fetch_array($zeilen2);
$num2=mysql_affected_rows();
echo "<br>".$num2;
$input=$zeile2[temp];
if ($num2>0) { //$num2 ist größer 0
$sql_update = "UPDATE content SET text='$input' WHERE contentid='$menuid'";
mysql_query($sql_update,$mydb);
$num3=mysql_affected_rows(); //$num 3 ist Null
echo "<br>".strlen($input); //String-Länge ist OK
echo "<br>xxx".$menuid."xxx"; //MenuID wird korrekt ausgegeben
} //if
else {
echo "<div class='text'><b>Es wurde kein Eintrag gefunden!!</b></div>";
} //else
if ($num3>0) {
echo "<div class='text'><b>Der Menüpunkt \"$head\" wurde geändert!</b></div>";
} //if
else {
echo "<div class='text'></b>Der Menüpunkt \"$head\" wurde nicht geändert!</b></div>";
} //else
echo mysql_error(); //Liefert die beschriebene Fehlermeldung
echo "<br><div class='text'><a href='index.php'>Home<a></div>";
} //else
mysql_close($mydb);
$back=FALSE;
?>
Kommentar