Mein Loginsystem - (Communitysystem)

Aber wie soll ich denn die if() verringern? Das brauche ich halt wenn ich alles mögliche checken will?

[...]
Um nicht komplett in Raetseln zu sprechen, moechte ich dir, php, eine kleine Aufgabe stellen :mrgreen: 8)
Das hier ist dein Weiterleitungstext. Wie man sieht, hast du darin zwei kleine Zeichensetzungsfehler drinnen, die ich oben korrigiert hab.

Besser den Fehler im Script aus und dann berichte mir, was denn das Problem ist, was ich angesprochen hab ;)
Nahja ist ganz einfach mit Zend. Suchen und ersetzten.. Aber das kann mir genau so schnell passieren wie wenn ichs hand schreibe.. Nahja werde es dann wohl zum CASE von der index.php hinzufügen.
:arrow: mysql_real_escape_string() verwenden
:arrow: Besser gleich beim Eintragen vor HTML-Injection o.ä. schützen - was in der Datenbank nicht dreckig ist, muss man beim Ausgeben nicht erst säubern
[...]
ok mache ich alles..

Dann prüfe bitte auch sämtliche Eingaben auf ihre Länge, bevor du sie abarbeiten lässt, [...]
Wird auch an die Liste für morgen oder übermorgen gehängt..

@TheHacker: Wärst du denn so lieb und schaust mal am WE (wenn du dann Zeit hast) mal ganz über mein kleines Script? Ich will so gerne wissen was ich noch verbessern kann :p (WISSENSGIERIG!!)

@all: Würde es mehr bringen wenn ich 1. dieses Projekt mit der community einfach immer mehr erweitere (also mit kalender, who is online, XML nachrichten service..), mit allem drum und dran (nur zum lernen, würd es eh nur kostenlos ins I-Net zum downloaden stellen..
oder 2. irgendwas neues anfangen um auch wieder die startangelegenheiten lerne und vor anderen problemen stehe?

@all again: was soll ich denn nun machen wenn ich mal ein kleines design (mit strischen, ganz einfach) einfügen will? Einfach pure in den PHP Quelltext schreiben? Denn was macht man denn da wenn sich das Design ändert? Dann müsste man alle Seiten mit Design auch ändern..
Warum geht das nicht (also moralisch) das ich das Design Cutte und dann in Teilen (Header, Footer, inhalt..) include? Das ist so einfach und praktisch!! :roll:
 
Nahja ist ganz einfach mit Zend. Suchen und ersetzten.. Aber das kann mir genau so schnell passieren wie wenn ichs hand schreibe.. Nahja werde es dann wohl zum CASE von der index.php hinzufügen.

[...]@all again: was soll ich denn nun machen wenn ich mal ein kleines design (mit strischen, ganz einfach) einfügen will? Einfach pure in den PHP Quelltext schreiben? Denn was macht man denn da wenn sich das Design ändert? Dann müsste man alle Seiten mit Design auch ändern..
Warum geht das nicht (also moralisch) das ich das Design Cutte und dann in Teilen (Header, Footer, inhalt..) include? Das ist so einfach und praktisch!! :roll:
Ich quote das am Stück, weil das alles zusammen hängt:
Der problematische Aufbau.

Vergleich mal beide Strukturen und sag mir, welcher Struktur dein Script entspricht:

/* Type 1 */
PHP:
// globals.php
require_once("include/class.db.php");
require_once("include/class.template.php");
require_once("include/functions.php");

// Initialisiere Datenbank, Templates, ...
$template = new template_mgr();

// Logs, Statistiken
// Überprüfe Kekse, Session und Login-Zustand
// Bereite Templates vor, die immer gebraucht werden
$template->assign_content("navi");
PHP:
// seite.php
require_once("globals.php");

// Abhängig von der Seite:
// Lade Variablen, berechne Inhalt
// Setze Inhalte
$template->assign_content("content");
// Ausgabe
header($headers);
$template->output();
exit;
/* Type 2 */
PHP:
// db.php
mysql_connect("localhost","foo","bar");
mysql_select_db("foobar");
PHP:
// seite.php
include("db.php");

echo "<body>";
echo "navi....<br>";
// Abhängig von der Seite:
// Lade Variablen, berechne Inhalt
echo "content";
Annahme, du möchtest, dass eine bestimmte Funktion function foo() überall an jeder Stelle, auf jeder Unterseite im Script verfügbar ist.
Wo würdest du diese Funktion in den jeweiligen Typen unterbringen ?

Noch eine Frage: Du möchtest das Design ändern. In welcher der beiden Typen geht das einfacher ? Wie geht es jeweils ?
 
Nein meine idee ist diese, für designs..
Header.php:
HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="generator">
<title>sdf</title>
</head>
Footer.php:
HTML:
</body>
</html>
Und den rest der zum Design dazu gehört..

Index.php:
PHP:
include('Header.php');
include('Navi.php');
//Hier dann der inhalt.. Oder sogar noch mehr Design stücke..
include('Login_Form.php');
include('Footer.php');


So wenn sich jetzt das Design ändert. Kann ich ganz gemüdlich alle includeten zerstückelten fetzten darauf ändern. Warum benutzten dann aber immernoch so viele diese Template sachen? Das macht mich total verwirrt.

Ich könnte auch das ganze Design in eine PHP zerstückeln:
PHP:
<?php
$header = "
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="generator">
<title>sdf</title>
</head> <?
";
?>

Dann später in der index.php nur einmal eine Datei (mit dem ganzen Design) includen und nur so arbeiten:
PHP:
include('design.php');
print $header;
//Hier der inhalt
print $footer;
//...

:ugly:

Mit beiden komme ich eine Stange mehr kla als mit einem TempSys und ich finde es einfacher, dateigrößen freundlicher.. :p
 
Mit beiden komme ich eine Stange mehr kla als mit einem TempSys und ich finde es einfacher, dateigrößen freundlicher.. :p
Naja, dann mach mal 'ne Seite mit vielen dynamischen Bereichen und nicht nur einem Content-Feld. Dynamische Navigation, Brotkrumenleiste, Contentfeld, zusätzliche dynamische Content-Kästen, zusätzliche <head>-Angaben etc pp...

Da wirste das Zerstückeln irgendwann verfluchen.
 
Naja, dann mach mal 'ne Seite mit vielen dynamischen Bereichen und nicht nur einem Content-Feld. Dynamische Navigation, Brotkrumenleiste, Contentfeld, zusätzliche dynamische Content-Kästen, zusätzliche <head>-Angaben etc pp...

Da wirste das Zerstückeln irgendwann verfluchen.
Aber immernoch besser als dieses PHP in diesen TempSys's, da werden die Befehle doch ganz anders geschrieben..
Also wer hat noch einen Einwandt? Denn bis jetzt verstehe ich immernoch nicht warum TempSys.. :mrgreen:
 
Also das TemplateSys [MYTPL] macht das eigentlich genauso, wie ich es auch gerne machen würde.. Ist denn da irgendwein Problem? 8)
 
Ist denn da irgendwein Problem?
was passiert bei einem neuen Design? Was passiert, wenn das Design von der einen zur anderen Seiten wechseln soll?

bei einem ordentlichen Templatesystem, was ich auch nicht hab :ugly: macht man dann nämlich einfach anstatt load_design(1) load_design(2) und fertig (oder halt so ähnlich, das ist ja nur ein Beispiel)
 
Zuletzt bearbeitet:
Nein meine idee ist diese[...]
In meinem Posting entspricht das also Type 2, mehr wollte ich doch nicht hören.

Schade nur, dass du meine Fragen nicht wirklich beantwortet hast :-?
Warum benutzten dann aber immernoch so viele diese Template sachen? Das macht mich total verwirrt.
Solang du ned selber mal mit 180 km/h gegen die Mauer rennst, wirst du das Problem an deiner Variante auch nicht verstehen.

Ich probier mal nochmal was: Geh mal bitte auf meine Seite und untersuche stichprobenartig von ein paar Unterseiten die Meta-Tags im Quellcode.
Was fällt dir auf ?
 
Ich probier mal nochmal was: Geh mal bitte auf meine Seite und untersuche stichprobenartig von ein paar Unterseiten die Meta-Tags im Quellcode.
Was fällt dir auf ?
Ja das ganze ändert sich von Seite zu Seite.. Aber da kann man in meiner Variante auch noch eine kleine Funktion einbauen..
Also ok wenn ihr jetzt sagt das meine Variante nix ist. Dann was ist gut? Das TempSys Smarty (das z.B. finde ich :()..
 
Ja das ganze ändert sich von Seite zu Seite.. Aber da kann man in meiner Variante auch noch eine kleine Funktion einbauen..
Ok, führ das doch mal weiter aus.
Schreib dir schnell 3 Seiten, also eine header.php und 2 Unterseiten seite1.php und seite2.php und sorg dafür, dass jede unterschiedliche Meta-Tags hat. Die Funktion möchte ich sehen, die eine Ausgabe vom Clienten zurückholt 8O

Ich will mich hier nicht an den Meta-Tags aufhängen, aber stell dir mal vor, du möchtest eine HTTP-Weiterleitung machen. Schon dumm, wenn die Header bereits geschickt wurden :roll:

Stell dir vor, du möchtest eine "Login speichern"-Funktion einbauen, d.h. ein Cookie setzen. Weißt du, was passiert ?
Probiers mal aus und ersetze in deinem aktuellem Script eine JavaScript-Umleitung durch eine
PHP:
header("location: https://www.example.com/");
-Zeile. Try and learn ;)
 
OKOK hast recht, aber was mache ich denn als guter progger wenn ich ein Design in ein Scritp bekommen will? Any Tutorial, Scripte, website, sentence?:biggrin::biggrin:
 
Du sagst, dass das nicht geht ;)
Das Design hat nichts im Script verloren, das predigen wir doch schon die ganze Zeit.
Ja es muss aber in IRGENDEINER Art in einem Script was zu suchen haben (ein Templatsystem ist auch ein Script)..
Sag mir doch einfach was das beste ist was ich machen kann um ein script mit einem Design zu versehen?:p
 
Ja es muss aber in IRGENDEINER Art in einem Script was zu suchen haben (ein Templatsystem ist auch ein Script)..
Sag mir doch einfach was das beste ist was ich machen kann um ein script mit einem Design zu versehen?:p

du sollst nicht ein script mit einem design versehen, sondern ein fertiges design mit platzhaltern versehen, die dein template-script (klasse) dann ausfüllt ... das vorgehen ist: hier design, da templateengine ... template-engine läd design-template als text, durchforstet es nach platzhaltern und ersetzt die entsprechend... spuckt dann alles an den browser aus. das design kannst du jederzeit ändern und umbauen, ohne jemals irgendetwas am template-system verändern zu müssen...

schau dir z.b. mal smarty an, da ist es auf der deutschen seite recht gut erklärt.

auch wenn smarty durch die möglichkeit, design und code zu vermischen bzw. code im design auszuführen vielleicht nicht das beste beispiel ist, so finde ich doch, dass es das einfachste ist. im gegensatz zu vielen anderen vollkommen überladenen engines :)

[edit]444. post ... ich geb einen aus: c[_] ... *prost*[/edit]
 
Ja ich habe ja schon von Smarty gehört..
{include file="header.tpl"}
Das ist doch kein PHP mehr! Ich will PHP lernen nicht Smarty PHP.. Oder kann man das abschalten? So das er manche parameter mit meinen PHP Dateien ersetzt?
 
Die Syntax in Templatesystemen hat auch idealerweise nichts mit PHP zu tun.

Und wenn Du PHP lernen willst, ist ein Templatesystem ideal. Dann musst Du Dich nicht mehr mit dem HTML in den PHP-Dateien rumschlagen. ;)
 
Und wenn Du PHP lernen willst, ist ein Templatesystem ideal. Dann musst Du Dich nicht mehr mit dem HTML in den PHP-Dateien rumschlagen. ;)

eben ... html auszugeben ist nur ein teil von php ... dass du inzwischen "echo" beherrschst, haben wir gesehen. also geh mal so langsam zu teil 1b über und erspar es dir, jedesmal für ein test-script erst eine ausgabe (oder gar ein ausgabe-design) zu schreiben ...

die template-klasse selbst musst du noch nicht verstehen. du musst sie nur anwenden können. dann hast du auch zeit, dich mit dem eigentlichen programmieren zu beschäftigen. irgendwann bist du dann soweit, dass du die schwächen deiner verwendeten template-engine siehst und dir selbst eine schreiben kannst ... aber das dürfte dann erst etwa schritt 58x sein :)
 
die template-klasse selbst musst du noch nicht verstehen. du musst sie nur anwenden können. dann hast du auch zeit, dich mit dem eigentlichen programmieren zu beschäftigen. irgendwann bist du dann soweit, dass du die schwächen deiner verwendeten template-engine siehst und dir selbst eine schreiben kannst ... aber das dürfte dann erst etwa schritt 58x sein :)

oder man ist zu faul eine eigene zu schreiben und nutzt sie weiter und erweitert sie ggf. nur :biggrin: