PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem Webkatalog Impressum


Lisa1
10.06.2009, 12:49:20
Hallo,

über Google habe ich in diesem Forum schon die Lösung zum ersten Problem entdeckt und auch erfolgreich ausgeführt! :-)

Es geht um den WDD Webkatalog V1.5, nachfolgend der thread in dem Prob 1 behandelt wurde.
http://www.selfphp.de/forum/showthread.php?t=18332

Ich habe jetzt das Problem, dass ich das Impressum im Admin-Bereich ändern kann, aber nicht speichern. Das läuft wie folgt, ich tippe dort wo ich Daten ändern will, diese hinein, wenn ich auf "Text ändern" klicke, sind die neuen Daten wieder weg.

Hat jemand Ahnung, wie ich das ändern kann, so dass ich meine Daten im Impressum habe?
HG
Lisa

Texte.php müsste die passende Datei dazu sein.


<?php
include("include/dbconnect.php");
include("include/header.php");
$action = $_GET["action"];
if ($action == '1') { $head = "Startseitentext &auml;ndern"; }
if ($action == '2') { $head = "Impressum &auml;ndern"; }
if ($action == '3') { $head = "Nutzungsbedingungen &auml;ndern"; }

print ("
<td width=500 valign=top class='tdhead1'>
<table width=500 align=center border=0 cellpadding=0 cellspacing=0>
<tr><td class='tdhead3' height=20 align=center><b>&nbsp;&nbsp;$head</b></td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td>
<table width=480 align=center border=0 cellpadding=0 cellspacing=0>");
$sqlt = "SELECT * FROM texte WHERE tid = '$action'";
$rest = mysql_query($sqlt);
while($row = mysql_fetch_assoc($rest)) {
$tid = $row['tid'];
$ttext = $row['ttext'];
}

print ("
<form action='texteupdate.php?action=$action' method='POST'>
<tr><td>Geben Sie f&uuml;r Textformatierungen normalen HTML-Code ein. Umlaute und &quot; werden automatisch ersetzt.</td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td>
<textarea name='inhalt' rows='20' cols='40' style='width:480px;' class='tf2'>$ttext</textarea>
</td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td><input type='submit' value='Text &auml;ndern' class='bt1' style='width:480;'></td></tr>
</form>
");


print ("</table>
</td></tr>
<tr><td>&nbsp;</td></tr>
</table>
</td>
");
include("include/footer.php");
mysql_close($verbindung);
?>

Indyk
10.06.2009, 13:30:08
Hallo Lisa, und willkommen im Forum,

bitte mach es besser als im anderen Thread und bette dein PHP Code in den enstprechenden Foren-Tags ein.
[PHP ] ... [/ PHP]

das können wir dann besser lesen, und wenn man es besser lesen kann, wird dir wahrscheinlch schneller geholfen.

Lisa1
10.06.2009, 19:53:30
Nachtrag:
eventuell liegt der Fehler auch in dieser Datei. Habe nochmal etwas gesucht und festgestellt, dass die beiden anderen Dateien (Startseitentext und Nutzungsbedingungen) geändert werden können.


Texteupdate.php

<?php
include("include/dbconnect.php");
include("include/header.php");
$action = $_GET["action"];
$inhalt = $_POST["inhalt"];
$inhalt = ereg_replace("\"","'",$inhalt);
$inhalt = ereg_replace("?","&auml;",$inhalt);
$inhalt = ereg_replace("?","&ouml;",$inhalt);
$inhalt = ereg_replace("?","&uuml;",$inhalt);
$inhalt = ereg_replace("?","&szlig;",$inhalt);
$inhalt = ereg_replace("?","&Auml;",$inhalt);
$inhalt = ereg_replace("?","&Ouml;",$inhalt);
$inhalt = ereg_replace("?","&Uuml;",$inhalt);

if ($action == '1') { $head = "Startseitentext wurde ge&auml;ndert";
$aendern = "UPDATE texte SET ttext = '$inhalt' WHERE tid = '1'"; $upd = mysql_query($aendern);
}
if ($action == '2') { $head = "Impressum wurde ge&auml;ndert";
$aendern = "UPDATE texte SET ttext = '$inhalt' WHERE tid = '2'"; $upd = mysql_query($aendern);
}
if ($action == '3') { $head = "Nutzungsbedingungen wurden ge&auml;ndert";
$aendern = "UPDATE texte SET ttext = '$inhalt' WHERE tid = '3'"; $upd = mysql_query($aendern);
}

print ("
<td width=500 valign=top class='tdhead1'>
<table width=500 align=center border=0 cellpadding=0 cellspacing=0>
<tr><td class='tdhead3' height=20 align=center><b>&nbsp;&nbsp;$head</b></td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td>
<table width=480 align=center border=0 cellpadding=0 cellspacing=0>");
$sqlt = "SELECT * FROM texte WHERE tid = '$action'";
$rest = mysql_query($sqlt);
while($row = mysql_fetch_assoc($rest)) {
$tid = $row['tid'];
$ttext = $row['ttext'];
}

print ("
<form action='texteupdate.php?action=$action' method='POST'>
<tr><td>Geben Sie f&uuml;r Textformatierungen normalen HTML-Code ein. Umlaute und &quot; werden automatisch ersetzt.</td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td>
<textarea name='inhalt' rows='20' cols='40' style='width:480px;' class='tf2'>$ttext</textarea>
</td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td><input type='submit' value='Text &auml;ndern' class='bt1' style='width:480;'></td></tr>
</form>
");


print ("</table>
</td></tr>
<tr><td>&nbsp;</td></tr>
</table>
</td>
");
include("include/footer.php");
mysql_close($verbindung);
?>

CeBe
11.06.2009, 04:13:02
Moin!


$action = $_GET["action"];
$inhalt = $_POST["inhalt"];


Hast du dir schonmal den Inhalt von $_POST und $_GET ausgeben lassen?
http://de2.php.net/print_r
http://de2.php.net/var_dump
Dann kannst du sehen, ob dein script überhaupt korrekt angesprochen wird.
Noch besser ist ein
echo "if funktioniert"; oder ähnliches, wenn das If aufgerufen wurde.
Sowas hilft ungemein bei der Fehlersuche.

MfG
Carsten

Indyk
11.06.2009, 09:41:19
@CeBe

echo "if funktioniert";
Ich behaupte das Lisa1 nicht weiss was du damit meinst. ( :

@Lisa1
Du müsstest wie CeBe schon vorgeschlagen hat ein paar Prüfungen einbauen damit für uns erkenntlich ist wie das Script abläuft.

Text.php

Prüfe ob die $action richtig übergeben wird. z.b. indem du dir sie ausgelben lässt echo '<h1>Hier ist Action:'.$action.'</h1>';


Textupdate.php

Lass dir $action ausgeben (s.o.)
Baue ein Echo in folgende Abfrage: if ($action == '2') { $head = "Impressum wurde ge&auml;ndert";
echo '<h1>action2 UPDATE Impressum</h1>';
$aendern = "UPDATE texte SET ttext = '$inhalt' WHERE tid = '2'"; $upd = mysql_query($aendern);
Lass dir $andern ausgeben und überprüfe das SQL in phpmyadmin (oder poste es hier)


Und wenn du nicht weiter kommst, dann vergiss uns nicht zu sagen was bei diesen Überprüfungen raus gekommen ist ( : viel erfolg!

Lisa1
11.06.2009, 10:07:26
Guten Morgen,

erstmal DANKE....ja, ich verstehe schon mehr als nur Bahnhof, aber ich kenne mich nicht besonders gut in php aus. Kann halt die Struktur ganz gut verstehen durch andere Kenntnisse, aber das war es denn.

Werde aber mal versuchen, die Tricks aus den Antworten einzusetzen.

HG

Lisa1

Lisa1
11.06.2009, 11:00:18
Hi,

Problem gelöst, aber auf eine sehr eigentümliche Weise.....ich habe den Text direkt in der Datenbank geändert. Da sich das Impressum nicht verändert, auch nicht durch die Einträge der Nutzer im Katalog, ist es so ok finde ich.

Trotzdem vielen Dank für Hilfe, manchmal helfen einem ja die Antworten erst noch mal etwas neues zu versuchen.

LG

Lisa