grond
---------
|
hallo Leute ich hab wiedereinmal ein problem, diesmal eher mehr denk/programmier problem, es handelt sich um den FCKeditor: also ich hab 3 tabellen : 1 gesamt tabelle hier sind zb. die Home.php, ich.php drinnen und mehrere die werden dynamisch aufgerufen 1 fürs gästebuch 1 für Freunde (bilder etc) 3 Dateien die mir probleme machen bzw eher ein edit.php -> führt FCKeditor aus und hier um den Text zu verändern <?php
include("connect.php");
$tabelle="hp";
$id = $_GET['id'];
$sql = "SELECT * FROM $tabelle WHERE `id` = '$id'";
$query = mysql_query($sql);
$ausgabe = mysql_fetch_array($query);
include("./fckeditor/fckeditor.php") ;
$oFCKeditor = new FCKeditor('inhalt') ;
$oFCKeditor->Width = '800';
$oFCKeditor->Height = '400';
$oFCKeditor->BasePath = './fckeditor/' ;
$oFCKeditor->Value = $ausgabe['inhalt'];
$oFCKeditor->Create() ;
?>
<input type="hidden" name="id" value="<?php echo $id;?>">
<p align="center"><input type="submit" value="Aendern" name="aendern">
<?php
if (isset($_POST['aendern']))
{
echo update();
}
?>
</form>
</div>
</body>
</html>
<?PHP
function update()
{
$inhalt = $_POST['inhalt'];
$id = $_POST['id'];
$sql = "UPDATE editor SET `inhalt` = '$inhalt' WHERE `id` = '$id' LIMIT 1";
$query = mysql_query($sql);
echo "<meta http-equiv=\"refresh\" content=\"0;URL=ausgabe.php\">";
echo "<a href= 'ausgabe.php'>Zur Uebersicht</a>";
}
?>
Ausgabe.php-> für die Homepage zum öffnen der Seiten <?php
include("connect.php");
$tabelle= "hp";
$sql = "SELECT * FROM $tabelle WHERE editor= 'J' ORDER BY id ASC";
$query = mysql_query($sql);
if (!$query)
die('Ungültige Abfrage: ' . mysql_error());
while($ausgabe = mysql_fetch_object($query))
{
echo "
<tr>
<td style=\"border-bottom:1px solid black;\">" . $ausgabe->titel. "</th>
<td style=\"border-bottom:1px solid black;\" align=\"center\">
<a href=\"./admin/editor/anzeigen.php?id=$ausgabe->id\" target=\"_blank\">anzeigen</a> |
<a href=\"./admin/editor/edit.php?id=$ausgabe->id\">ändern</a></th>
</tr>
";
}
?>
und eine Anzeigen.PHP um den Text anzuzeigen
<?php
include("connect.php");
$tabelle="hp";
$id = $_GET['id'];
$sql = "SELECT * FROM $tabelle WHERE `id` = '$id' LIMIT 1";
$query = mysql_query($sql);
$ausgabe = mysql_fetch_array($query);
echo $ausgabe['datei']; ?>
Mein Problem wenn ich auf "anzeigen" geh, zeigt es mir nicht die datei an mit Ihrem Inhalt sondern es schreibt nur zB. "home.php" hin. Also ich möchte den Inhalt der Datei ausgeben um den verändern zu können. Verlinkt ist der Editor mit der Gesamt-Tabelle Im Endeffekt muss ich nur den Code der Anzeigen.PHP verändern, nur hab ich keine Ahnung wie das geht. mfg & TIA GrOnD
Bearbeitet von grond am 23.05.2008, 10:05
|
that
Hoffnungsloser Optimist
|
Du schreibst ins Feld "inhalt", gibst aber den Inhalt des Feldes "datei" aus.
|
grond
---------
|
ok das haut jetzt hin trotzdem möchte ich anzeigen/ausgeben lassen was IN der zb Home.php ist, geht das irgendwie? aja so passts dann oder
<?php
include("connect.php");
$tabelle="hp";
$id = $_GET['id'];
$sql = "SELECT * FROM $tabelle WHERE `id` = '$id'";
$query = mysql_query($sql);
$ausgabe = mysql_fetch_array($query);
include("./fckeditor/fckeditor.php") ;
$oFCKeditor = new FCKeditor('datei') ;
$oFCKeditor->Width = '800';
$oFCKeditor->Height = '400';
$oFCKeditor->BasePath = './fckeditor/' ;
$oFCKeditor->Value = $ausgabe['datei'];
$oFCKeditor->Create() ;
?>
<input type="hidden" name="id" value="<?php echo $id;?>">
<p align="center"><input type="submit" value="Aendern" name="aendern">
<?php
if (isset($_POST['aendern']))
{
echo update();
}
?>
</form>
</div>
</body>
</html>
<?PHP
function update()
{
$datei = $_POST['datei'];
$id = $_POST['id'];
$sql = "UPDATE hp SET `datei` = '$datei' WHERE `id` = '$id' LIMIT 1";
$query = mysql_query($sql);
echo "<meta http-equiv=\"refresh\" content=\"0;URL=ausgabe.php\">";
echo "<a href= 'ausgabe.php'>Zur Uebersicht</a>";
}
?>
|
that
Hoffnungsloser Optimist
|
1 gesamt tabelle hier sind zb. die Home.php, ich.php drinnen und mehrere die werden dynamisch aufgerufen Was heißt, die Dateien sind in der Tabelle "drin"? trotzdem möchte ich anzeigen/ausgeben lassen was IN der zb Home.php ist, geht das irgendwie? Wieso willst du PHP-Code anzeigen lassen? Poste mal die Struktur deiner "hp"-Tabelle und erkläre, wo du gedenkst, den Content abzuspeichern - in der Datenbank oder im Filesystem.
|
grond
---------
|
ahm sry hab mich falsch ausgedrückt, ich will zb den text der in home.php steht anzeigen/verändern lassen, nicht den php code, also zb: hallo auf meiner homepage.."
also der aufbau meiner HP tabelle: 1. ID 2. Titel (name der schaltflächen) 3. Datei (.php welche aufgerufen wird) 4. Bild
dann hab ich noch 2 tabellen (gästebuch u. freunde) mit 1. id 2. titel 3. beschreibung 4. bild etc
der content sollte schon in der datenbank gespeichert werden, hab noch nie etwas anderes gemacht
|
that
Hoffnungsloser Optimist
|
Wenn du den Content in der Datenbank speichern willst, solltest du auch irgendwo ein Feld in einer Tabelle dafür haben.  Was ist "home.php"? Eine PHP-Datei? Wenn nicht, was dann?
|
grond
---------
|
ja ist ne ganz normale php datei
hmm ja ich glaub, dass was ich wollte haut nur mit einer tabelle und nicht über mehrere tabellen hin ( weil in der einen tabelle sind alle verlinkt) und in der anderen sollte es dann abgespeichert werden, bzw von dort hergeholt werden
|
jives
And the science gets done
|
Entweder ich versteh da was ganz falsch, oder du hast einen ziemlichen Denkfehler in deinem Konzept.
Im Feld "Datei" sollte nicht der echte Inhalt des (oder der Pfad zum) php-Script(s) stehen, sondern nur der Inhalt, den der Benutzer sehen soll.
Du könntest jetzt natürlich für jede Seite die der Benutzer sehen kann ein php-Script machen, dass ein Record mit einer fixen id liest und den Inhalt im entsprechenden Feld ausgibt, aber das ist ja nicht wirklich schön.
Mein Vorschlag: Du machst ein Script (output.php z.B.), an das du - je nachdem welche Seite der Benutzer sehen will - eine id weitergibst (SQL Injections udgl. dabei nicht vergessen). Das Script holt sich dann den entsprechenden Eintrag aus der DB, parsed ihn und gibt ihn aus.
|
grond
---------
|
@ jives ja es ist von anfang an ein denkfehler drinnen, nur der lässt sich jetzt schwer beheben und ich hab gedacht es würde auch anders hinauen.. danke trotzdem für den vorschlag, nur kann ich ihn net wirklich umsetzen :/
|
jives
And the science gets done
|
Warum nicht? Die Strukturen scheinen ja schon vorhanden zu sein... Gehen denn beide Vorschläge nicht?
|
grond
---------
|
es geht nicht darum ob die vorschläge gehen (schätze schon), ich kanns einfach noch nicht programmieren ..(lern erst seit ca 1 jahr in der schule=nicht viel..)
|
jives
And the science gets done
|
Also mit dem was du oben hast, bist du ja schon sehr, sehr knapp dran. Da fehlt wirklich nicht mehr viel - aber wenn dus nicht versuchst, bzw. uns nicht sagst, wos noch hapert, können wir halt auch nicht helfen
|
grond
---------
|
ja ich weiß nur was brauch ich dann in so einer "output.php"- wie mache ich eine SQL Injections, wie parse ich es an eine db dann weiter?
|
prayerslayer
Oar. Mh.
|
|
jives
And the science gets done
|
So ist es. Aber wenn du den Ausdruck schon nicht kennst, hättest ihn ins Google klopfen können, anstatt einfach aufzugeben...
Was dein Ausgabescipt genau braucht, kommt drauf an was du vorhast. Im einfachsten Fall bekommt es eine Record-ID, holt sich den Inhalt aus der DB (das kannst und machst du ja schon) und gibt ihn per echo() aus.
Dein Editor(-script) schreibt dann einfach den Inhalt des Editor-Textfelds in die DB.
Du hast ja scheinbar schon eine funktionierende DB, einen funktionierenden Editor und eine Verknüpfung zwischen den beiden - was fehlt jetzt denn noch? Oder wo genau ist jetzt das Problem?
Oder willst du die php-Datei (also das Script selbst) editieren?
|