Problem gelöst, nach nichtmal 20min in einem anderen Forum mit verständlichen Aussagen und Hilfreichen Antworten... Soviel zu einem Guten Forum!
Beiträge von Sullaysur
-
-
Wenn mir hier mitgeteilt wird, dass ich das ganze in der index.php erledigen soll, dann mache ich das auch, ich gehe ja davon aus, dass wenn ich mich an ein solches Forum wende, personen mit mir schreiben welche Ahnung von der Sace haben.
-
Perfekt, jetzt habe ich noch eine letzte frage, wie kann ich den inhalt des Textes wieder in den editor laden?
Wollte nämlich einen editieren Button bei dem User anzeigen, der das geschrieben hat. -
1. Ok einfache if Abfrage:
stimmts?
2. Klar, wieso stell ich eigentlich so eine dumme Frage?
3. Danke, hab das irgendwie übersehen mit dem DESC.4. Jetzt habe ich noch eine letzte Frage, ist es möglich die Variable username aus der internal.php mit in die index.php zu übertragen, wenn man auf den senden button drückt? (die rufe ich dort so ab: echo htmlentities($user['username']);)
-
Ok, ist abgeändert und funktioniert auch, nur noch 2 Fehler:
- Siehe Bild! Das passiert wenn man die Seite neu läd, wie bekomme ich das weg?
- Siehe Bild! Wie kann ich das ganze jetzt so einstellen, dass er pro "Post" einen solchen container erstellt bzw nutzt und nicht alle in einen packt?
- Die Beiträge werden immernoch der neuste unten und der älteste oben gelistet, wie kann ich das umkehren?
-
Habe es nun eingebeunden, wird aber nicht über den Button übergeben, wie muss ich das bei dem Submit button einstellen, damit dass in die Db eingetragen wird?
CodeCREATE TABLE IF NOT EXISTS `posts` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT NULL, `created_by` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `html_code` Text COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
index.php
PHP
Alles anzeigen<!-- Mit dem Editor erstellter Text --> <div class="jumbotron"> <div class="container"> <?php $statement = $pdo->prepare("SELECT * FROM posts ORDER BY created_at"); $result = $statement->execute(); while($row = $statement->fetch()) { echo "Erstellt am: ".$row['created_at']."<br/>"; echo "Editiert am: ".$row['updated_at']."<br/>"; echo "Editiert am: ".$row['created_by']."<br/>"; echo "".$row['html_code'].""; } ?> </div> </div>
internal.php
PHP
Alles anzeigen<form method="post"> <textarea name="editor1" id="editor1" rows="10" cols="80"> This is my textarea to be replaced with CKEditor. </textarea> <input type="submit"> <script> CKEDITOR.replace( 'editor1', { language: 'de', }); </script> <?php $statement = $pdo->prepare("INSERT INTO posts (created_at, created_by, html_code) VALUES (?, ?, ?)"); $statement->execute(array('', $user['username'], $_POST['editor_1'])); ?> </form>
-
Ich habe nun folgende fehler behoben:
- Variable anstatt den String übergeben
- Order by 'id' in Order by 'created_at' geändert
- im letzten echo created_by durch html_code ersetzt
Nun muss ich dass ja nur noch in die index.php einbinden!?
-
Genau, dass ist richtig, deswegen wende ich mich ja an dieses Forum, in der Hoffnung, dass man mir hier mit solchen Antworten halt hilft.
Also eine Verbindung zu einer Datenbak habe ich schon, benötige ich ja für mein Login Script, dann könnte ich die wieder nehmen und würde da dann eine neue Tabelle anlegen.
Würde sich folgende Tabelle dafür eignen?Code
Alles anzeigenTabelle: posts id [Int] created_at [Timestamp] updated_at [Timestamp] created_by [Varchar (100)] html_code [Text] id = Soll die ReihenFolge der Beiträge festlegen. created_at = Soll dass Datum der Erstellung speichern, um es später anzuzeigen. updated_at = Soll dass Datum der Veränderung speichern, um es später anzuzeigen. created_by = Soll den Nutzernamen des Authors speichern, um ihn ebenfalls auszugeben. artikel = Soll den Inhalt des Editors aufnehmen, um diesen auszugeben.
Die funktion zum einfügen der daten:
PHP<?php $statement = $pdo->prepare("INSERT INTO posts (created_at, created_by, html_code) VALUES (?, ?, ?)"); $statement->execute(array('', '', 'editor_1')); ?>
Dann müsste die folgende Abfrage passend dazu sein!?
PHP<?php $statement = $pdo->prepare("SELECT * FROM posts ORDER BY id"); $result = $statement->execute(); while($row = $statement->fetch()) { echo "Erstellt am: ".$row['created_at']."<br/>"; echo "Editiert am: ".$row['updated_at']."<br/>"; echo "Editiert am: ".$row['created_by']."<br/>"; echo "".$row['created_by'].""; } ?>
Falls nicht, wäre ich für hilfe dankbar.
-
Super, dass funktioniert nun alles.
Wie kann ich das ganze nun permanent abspeichern ?
-
Nein das ist genau dass was ich haben möchte, dass immer wenn ich einen neuen "post" mache, dass dann der Beitrag ganz nach oben gestellt wird und alle anderen darunter gelistet werden.
-
Würde das halt gerne abspeichern, damit dass da dann stehen bleibt, praktisch wie die Beiträge hier im Forum, und in einem anderen Forum meinten die das klappt so, aber hat es nicht und dann wurden sie unfreundlich.
Hoffe hier finde ich dafür eine Ordentlich Antwort.Damit man sich in etwa vorstellen kann wie das aussehen soll:
So wie die Beiträge da untereinander sind, möchte ich die Texte auch aus dem Editor in die seite einspeichern, aber wie mache ich das?
-
Hallo ForenUser,
ich freue mich nun in euerm Forum zu sein, und hoffe dass dies der Richtige bereich für meine Frage ist.Nun möchte ich aber auch mal zu meiner Frage kommen, ich habe vor eine Art News Seite zu erstellen, dafür habe ich bereits einen Editor, der im Internen Bereich meiner Homepage liegt, nun habe ich aber ein Problem den inhalt des Editors auf eine Andere Php Seite (als die wo der editor eingebunden ist) zu übertragen und auszugeben.
Folgende Sourcecodes sind Betroffen:
internal.php
PHP
Alles anzeigen<?php session_start(); require_once("inc/config.inc.php"); require_once("inc/functions.inc.php"); $user = check_user(); include("templates/header.inc.php"); ?> <div class="container main-container"> <h1>Herzlich Willkommen!</h1> Hallo <?php echo htmlentities($user['username']); ?>,<br> Herzlich Willkommen im internen Bereich!<br><br> <form method="post"> <textarea name="editor1" id="editor1" rows="10" cols="80"> This is my textarea to be replaced with CKEditor. </textarea> <input type="submit"> <script> CKEDITOR.replace( 'editor1', { language: 'de', }); </script> </form> <?php echo $_POST['editor1']; ?> </div> <?php include("templates/footer.inc.php") ?>
index.php
PHP
Alles anzeigen<?php session_start(); require_once("inc/config.inc.php"); require_once("inc/functions.inc.php"); include("templates/header.inc.php") ?> <div class="jumbotron"> <div class="container"> <h1>Text</h1> <p>Text</p> <p><a class="btn btn-primary btn-lg" href="register.php" role="button">Jetzt registrieren</a></p> </div> </div> <div class="jumbotron"> <div class="container"> <?php echo $_POST['editor1']; ?> </div> </div> <div class="container"> <div class="row"> <div class="col-md-4"> <h2>Text</h2> <ul> <li>Text</li> <li>Text</li> <li>Text</li> <li>Text</li> </ul> </div> <div class="col-md-4"> <h2>Text</h2> <p>Text</p> <p><a class="btn btn-default" href="#" target="_blank" role="button">Text »</a></p> </div> <div class="col-md-4"> <h2>Text</h2> <p>Text</p> <p><a class="btn btn-default" href="#" target="_blank" role="button">Text »</a></p> </div> </div> </div> <?php include("templates/footer.inc.php") ?>
Bekomme dann aber folgenden fehler auf der index.php angezeigt:
Code[B]Notice[/B]: Undefined index: editor1 in [B]G:\Benutzer\Documents\xampp\htdocs\loginscript-master\index.php[/B] on line [B]26[/B]
Versuche ich es aber in der internal.php auszugeben funktioniert es. Es ist warscheinlich ein echt dummer anfänger fehler, aber ich bitte dennoch um ernsthafte Hilfe.mfg Sullaysur