Blog

06/24/2016 11:33 aiimsh0ckz#1
Heyho Community,
hier mal ein kleines Release von mir.

•-)•–––––––––––––––––––––––––––––––––––––––––––––––– ––––––––––––––––––––––––––––––––•(-•

Inhaltsverzeichnis:
1. Vorwort / Erklärung
2. Voraussetzungen
3. Übersicht
4. Codes
5. Schlusswort

•-)•–––––––––––––––––––––––––––––––––––––––––––––––– ––––––––––––––––––––––––––––––––•(-•

1. Vorwort / Erklärung:
Erstmal, was hab ich denn hier released: Es handelt sich um einen relativ schlicht gehaltenes Blog-Framework auf MVC (ModelViewController) Basis mit integriertem, kleinem CMS. Das ganze sieht von der View her nicht gerade schön aus – war aber auch nicht der Kern/das Ziel meines Projekts. Im Vordergrund stand die Funktionalität des Ganzen. Außerdem liegt Schönheit bekanntlich im Auge des Betrachters. Ihr könnt es ja mit z. B. Twitter Bootstrap verschönern.

•-)•–––––––––––––––––––––––––––––––––––––––––––––––– ––––––––––––––––––––––––––––––––•(-•

2. Voraussetzungen:
Voraussetzungen gibt es eigentlich nicht viele. Das Ganze ist auf PHP 7 Basis auf einem Apache 2.4 Localhost Server (XAMPP) mit PDO-Unterstützung aufgebaut worden. Ebenso sollte eine Datenbank aufgebaut werden mit dem Namen ‚blog‘ welche drei Tabellen beinhaltet: users, posts und comments.


•-)•–––––––––––––––––––––––––––––––––––––––––––––––– ––––––––––––––––––––––––––––––––•(-•

3. Übersicht:
HTML Code:
*-------------------------------------------*
|    - autoload.php                         |
|    - init.php                             |
|    [ ] public                             |
|        - index.php                        |
|    [ ] src                                |
|        [ ] Core                           |
|            - AbstractController.php       |
|            - AbstractRepository.php       |
|            - AbstractModel.php            |
|            - Container.php                |
|        [ ] Post                           |
|            - PostModel.php                |
|            - PostsRepository.php          |
|            - CommentModel.php             |
|            - CommentsRepository.php       |
|            - PostsController.php          |
|            - PostsAdminController.php     |
|        [ ] User                           |
|            - LoginController.php          |
|            - LoginService.php             |
|            - UserModel.php                |
|            - UserRepository.php           |
|    [ ] views                              |
|        [ ] post                           |
|            [ ] admin                      |
|                - edit.php                 |
|                - index.php                |
|            - index.php                    |
|            - show.php                     |
|        [ ] user                           |
|            - dashboard.php                |
|            - login.php                    |
*-------------------------------------------*
•-)•–––––––––––––––––––––––––––––––––––––––––––––––– ––––––––––––––––––––––––––––––––•(-•

4. Codes:

























•-)•–––––––––––––––––––––––––––––––––––––––––––––––– ––––––––––––––––––––––––––––––––•(-•

5. Schlusswort:
Quote:
„I code as I fuck: Quick, messy and without comments. Why without comments? It was hard to code, so it should be hard to understand aswell!“
Der Blog ist noch in der „Beta-Phase“. Da kommen noch einige Funktionen dazu. Falls ihr selbst Funktionen dazu wollt, fragt einfach kurz nach und ich schreib sie (ggf. gegen etwas Kleingold) für euch! Hoffe das ganze gefällt euch und ihr findet zurecht. Falls nicht, helfe ich euch gerne per TeamViewer bei der Einrichtung. :) Natürlich findet ihr das ganze Projekt auch zum Download im Anhang ([Only registered and activated users can see links. Click Here To Register...] für die ganzen "Mimimi"-Kiddos).

Greez, aiimsh0ckz.
06/26/2016 19:14 flatt3rn#2
Hi, also habe ich das ganze mal versucht zu installieren. Habe mir die DB und die drei Tabellen erstellt. Die Website an sich spuckt schon mal keine Fehler aus, allerdings auch sonst fast nichts.
Ich habe manuelle mal einfach einen Benutzer angelegt, allerdings funktioniert die Login Funktion nicht. Ich kenne mich mit PHP nicht ganz so gut aus, aber ich versuche mich mal etwas dran zu geben.
Liegt es an mir oder daran das es noch in der Beta Phase ist.

Ich finde es mal interessant wenn du das ganze als Test Website mal hosten würdest.
Da würde sich zb bplaced oder so anbieten, ist auch kostenlos.
06/27/2016 07:38 aiimsh0ckz#3
Quote:
Originally Posted by flatt3rn View Post
Hi, also habe ich das ganze mal versucht zu installieren. Habe mir die DB und die drei Tabellen erstellt. Die Website an sich spuckt schon mal keine Fehler aus, allerdings auch sonst fast nichts.
Ich habe manuelle mal einfach einen Benutzer angelegt, allerdings funktioniert die Login Funktion nicht. Ich kenne mich mit PHP nicht ganz so gut aus, aber ich versuche mich mal etwas dran zu geben.
Liegt es an mir oder daran das es noch in der Beta Phase ist.

Ich finde es mal interessant wenn du das ganze als Test Website mal hosten würdest.
Da würde sich zb bplaced oder so anbieten, ist auch kostenlos.
Danke für die Info. Ganz vergessen das mit anzugeben.

Der "Start"-Link (wenn man von einem localhost-server ausgeht) wäre localhost/public/index.php/index. Ich weiß, das ist bisschen kompliziert, aber im Live-Betrieb sieht man normalerweise die Adresse nicht, da man eben den o. G. Link als Quell-Verzeichnis angibt.
06/27/2016 07:43 Natsu Dragneel#4
Sieht nach etwas echt gelungenem aus im Ersten Blick, doch gibt es davon auch eine Live-Preview?
06/27/2016 07:51 aiimsh0ckz#5
Quote:
Originally Posted by abdu931 View Post
Sieht nach etwas echt gelungenem aus im Ersten Blick, doch gibt es davon auch eine Live-Preview?
Adresse ist schon aufgesetzt. BPlaced ist da aber imho bisschen scheiße, weil man da keine "eigenen" Datenbanken erstellen kann, geschweigedenn User-Accounts/Gruppen.......

Nevertheless, sobald mein PC mir 'ne FTP-Verbindung zulässt, lad ich's mal hoch
06/27/2016 15:02 flatt3rn#6
Gibt es denn auch eine möglichkeit Nutzer zu registrieren. Habe jetzt einfach mal versucht etwas in die Datenbank einzutragen, aber wahrscheinlich ist das passwort gehasht.
Würde das eigentlich gerne mal testen
06/27/2016 15:07 aiimsh0ckz#7
Quote:
Originally Posted by flatt3rn View Post
Gibt es denn auch eine möglichkeit Nutzer zu registrieren. Habe jetzt einfach mal versucht etwas in die Datenbank einzutragen, aber wahrscheinlich ist das passwort gehasht.
Würde das eigentlich gerne mal testen
Nein, aber ich kann das Zusatzmodul schnell schreiben. Wäre kein Problem :)

Und ja, das Passwort ist mit der PHP Function password_hash gehasht ;) Da md5 relativ leicht zu bruten ist ^^
06/27/2016 15:20 flatt3rn#8
Passt schon das bekomme ich noch gerade so selber hin :D
06/27/2016 15:24 aiimsh0ckz#9
Quote:
Originally Posted by flatt3rn View Post
Passt schon das bekomme ich noch gerade so selber hin :D
Willst du dir das wirklich antun? :D

Ich hätt's schon fertig gecoded ^^
06/27/2016 17:07 False#10
Werde es zwar nicht nutzen, aber bin immer neugierig.Wie sieht es mit der Demo aus ?
06/28/2016 08:39 aiimsh0ckz#11
Okay, hab's irgendwie Live bekommen. Ihr selbst könnt keine Posts erstellen, dafür kann jeder (egal ob eingeloggt oder nicht) Kommentare erstellen.
Leider ist das ganze jetzt bisschen umständlicher, da BPlaced Sachen wie HeaderRefresh (wenn man z. B. auf's Dashboard zugreifen will, aber nicht eingeloggt ist und man auf's Login weitergeleitet wird) nicht einfach so zulässt.
Demnach:

1. Einloggen:
[Only registered and activated users can see links. Click Here To Register...]

user: epvpuser
password: test

2. Startseite:
[Only registered and activated users can see links. Click Here To Register...]

Von der Startseite aus könnt ihr die Posts ansehen.
Über das Dashboard könnt ihr auf "Posts Verwalten",
was aber die gleiche Funktion hat, wie "Controlpanel" in der Navbar.

Bitte verändert den ersten Post nicht, danke. Hab extra 20 weitere angelegt, damit ihr euch austoben könnt. ;)
06/28/2016 13:30 exceble#12
Nach dem Einloggen kriegt man zwei Warnings, wusste jetzt nicht ob du das schon zur Kenntniss genommen hast, daher sage ich dir das jetzt einfach mal

Code:
Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in /users/epvpblog/www/src/User/LoginService.php on line 35

Warning: Cannot modify header information - headers already sent by (output started at /users/epvpblog/www/src/Core/Container.php:115) in /users/epvpblog/www/src/User/LoginController.php on line 36
DROP db/table auch nicht möglich :rolleyes:

Würde eine Weiterleitung nach dem Einloggen und eventuelle Redundanzfreiheit was die Links betrifft vorschlagen, wenn ich das mal so darf

[Only registered and activated users can see links. Click Here To Register...]

Ansonsten 1/2 Propz
06/28/2016 13:41 aiimsh0ckz#13
Quote:
Originally Posted by exceble View Post
Nach dem Einloggen kriegt man zwei Warnings, wusste jetzt nicht ob du das schon zur Kenntniss genommen hast, daher sage ich dir das jetzt einfach mal

Code:
Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in /users/epvpblog/www/src/User/LoginService.php on line 35

Warning: Cannot modify header information - headers already sent by (output started at /users/epvpblog/www/src/Core/Container.php:115) in /users/epvpblog/www/src/User/LoginController.php on line 36
Jop, wie gesagt, BPlaced lässt manche Funktionen nicht zu..

Quote:
Originally Posted by exceble View Post
DROP db/table auch nicht möglich :rolleyes:
Quote:
ALTER TABLE blog DROP TABLE users;
^ das aber auch nicht, du Schlingel :D

Quote:
Originally Posted by exceble View Post
Würde eine Weiterleitung nach dem Einloggen und eventuelle Redundanzfreiheit was die Links betrifft vorschlagen, wenn ich das mal so darf

[Only registered and activated users can see links. Click Here To Register...]
Nach dem Einloggen wird man normal auch weitergeleitet - aber BPlaced meckert da rum.

Hier eben:
HTML Code:
Warning: Cannot modify header information ...
Aber ja, will die Links noch quasi hidden machen und dass man einfach über z. B. epvpblog.bplaced.net drauf zugreifen kann.

Quote:
Originally Posted by exceble View Post
Ansonsten 1/2 Propz
Merci beaucoup.
06/28/2016 23:34 False#14
Wollte eigentlich kurz das auf meinem Server ziehen damit eine Demo vorhanden ist die geht..
Aber du hast das ganze so User unfreundlich gemacht....
Fangen wir damit an das es kein SQL gibt damit man die DB nicht selber erstellen muss (Dafür empfehle ich Liquibase).
Dann geht es weiter das die Datenbank Konfiguration nicht in einer Config ist sondern mitten im Code (Hardcoded != gut).
Dann wollte ich auf die Seite und bekam den Fehler "Undefined index: PATH_INFO", da frage ich mich wie du es hin bekommst das diese leer ist/nicht da ist.


Hatte mir nur eine Stelle angeguckt, das Routing.
Kann es sein das beim Routing eine .htaccess mit Rewrite auf die Index.php fehlt ? (Oder soll das so?).


Wieso gibt es kein Css, das ist doch echt.... naja..
06/29/2016 07:40 aiimsh0ckz#15
Quote:
Originally Posted by .ƒaℓsє. View Post
[...]Aber du hast das ganze so User unfreundlich gemacht.... Fangen wir damit an das es kein SQL gibt damit man die DB nicht selber erstellen muss (Dafür empfehle ich Liquibase).
Die drei DBs von Hand einzupflegen ist wohl keine Schwierigkeit, aber trotzdem danke für den Tipp! :)

Quote:
Originally Posted by .ƒaℓsє. View Post
Dann geht es weiter das die Datenbank Konfiguration nicht in einer Config ist sondern mitten im Code (Hardcoded != gut).
Selbst, wenn's in eine Config-Datei geschrieben wäre, wäre es doch immer noch Hardcoded, oder nicht?! (Nur in einer anderen Datei). Die Konfig muss leider fast im Container vorhanden sein, da in ihm die ganzen "Bauanleitungen" drin sind und die PDO-Verbindung ist nunmal ein "Bauteil" für viele Dine (Repo's etc)

Quote:
Originally Posted by .ƒaℓsє. View Post
Dann wollte ich auf die Seite und bekam den Fehler "Undefined index: PATH_INFO", da frage ich mich wie du es hin bekommst das diese leer ist/nicht da ist.
Du musst auch auf die Seite über den o. G. Link, sonst jammert sie bisschen. Wenn der Blog "wirklich" Live gehen sollte, wird natürlich das Root Verzeichnis geändert. :)

Quote:
Originally Posted by .ƒaℓsє. View Post
Hatte mir nur eine Stelle angeguckt, das Routing.
Kann es sein das beim Routing eine .htaccess mit Rewrite auf die Index.php fehlt ? (Oder soll das so?).
Gehört natürlich nicht so. Aber bei BPlaced kannst du an der .htaccess nicht viel ändern.... Rest siehe den Punkt darüber.

Quote:
Originally Posted by .ƒaℓsє. View Post
Wieso gibt es kein Css, das ist doch echt.... naja..
Quote:
Originally Posted by aiimsh0ckz View Post
Das ganze sieht von der View her nicht gerade schön aus – war aber auch nicht der Kern/das Ziel meines Projekts. Im Vordergrund stand die Funktionalität des Ganzen. Außerdem liegt Schönheit bekanntlich im Auge des Betrachters. Ihr könnt es ja mit z. B. Twitter Bootstrap verschönern.
;)

Trotzdem danke für dein ausführliches Review! :)