Ich habe mir seit langen mal wieder vorgenommen nen bissel mit php und mysql Datenbanken zu werkeln
Da habe ich mir überlegt was währe intressant und was mich vieleicht schon öfters gereitzt hat.
Bin schliesslich darauf gekommen das ich immer schon mit den gedanken gespielt habe ein Portal script zu erstellen ich hatte sorgar mal vor einigen Jahren angefangen eins zu erstellen. Die Daten sind jedoch verloren gegeangen mit den Jahren und entsprechen auch nicht mehr den vorstellungen die ich jetzt habe.
Meine Vorstellung an solch eine art von skript währe natürlich soll es für jeden leicht zu installieren und zu benutzen seien.
Dann soll man das Desing leicht und inviduell gestallten können das man erst erkennt das es ein Portal ist wenn man die copyrights sieht.
das portal soll alles beinhalten new,forum,guestbook usw.
was man halt alles so braucht und auch möglichkeiten externe scripts leicht einzibinden oder addons nachträglich einzubauen.
------Zum eigendlichen-------
Habe diesen Thread eröffnet weil mein php wissen dafür das ich mir das meiste aus dem stehgreif beigebracht habe ganz gut ist jedoch es immer die ein oder andere Frage giebt die man mit blosen googlen oder anderswo nachschlagen nicht so leicht beantwortet bekommt.
Werde hier Fragen oder probleme schildern und hoffen das mir dort geholfen werden kann da ich weis das hier nen paar helle köpfe hausen die sich ganz gut auskennen ^^.
nagut soviel dazu mal sehen die ersten probleme werden warscheinlich schon morgen auftauchen so wie ich mich kenne.
denke das erste problem wird bei den Templates endstehen wo ich noch nicht genau weis wie ich das mache soll aber mal sehen werd da erstmal drüber schlafen vieleicht komm ich selber drauf wunder giebts immer wieder ^^.
wenn du fragen zu php,mysql,js,css hast, frag mich
25.06.2010, 17:27
Threadersteller
alflife2007
ja gerne ^^
das erste was ich gerne wissen würde ist folgenes:
ich arbeite mit templates "desing datein also html usw."
dort würde ich am liebsten überhaupt kein php drin haben also include´s für menu usw.
ich habe mal gesehn bei einem protal wo solche templates benutzt wurden das dort einfach zB.
{leftmenu} an der demensprechenden stelle in der desing datei stand wo das linke menu später auftauchen soll.
jetzt meine frage wie geht das muss man die dateien ihrgendwie prasen das er die wörter raussucht und mit eine "if" schleife dann den entsprechenden befehl in dem fall include auszuführen?
oder denk ich schonwieder zu kompliziert ^^.
hier mal der link zu dem projekt bzw wer will kann gucken wie es vorran geht ^^.
]
fg alfi
25.06.2010, 17:33
xXxJulianxXx
erstmal würde ich persönlich von table auf div umsteigen ^^
25.06.2010, 20:09
Threadersteller
alflife2007
und was bringt mir das?
ich mach das html mit dreamweaver cs4 weil denke viele endnutzer werden denke auch dreamweaver nutze und so bleibts dann 100% gewährleistet das er das richtig anzeigt.
meine frage ist allerdings noch nicht beantwortet ^^.
fg alfi
25.06.2010, 20:24
pixelflat
Dreamweaver benutzen höchstens irgendwelche Anfänger die kein HTML kennen und nur Seiten zusammen klicken wollen. Wer ein eigenes Web-Portal entwickeln will sollte schon mit einem Editor seinen eigenen Code schreiben. HTML ist jetzt nicht soo komplex, dass man dafür irgendeinen WYSIWYG-Editor bräuchte (abgesehen davon, dass damit niemals W3C-konformer Quelltext entsteht).
Der Vorteil von DIVs? Tabellen sind einfach Tabellen und nur zum Anzeigen von tabellarischen Daten gedacht - damit baut man kein Design. Außerdem macht mans Text-Readern beinahe unmöglich eine Seite anständig vorzulesen, die aus einem Dutzend geschachtelten Tabellen besteht (Stichwort Barrierefreiheit).
25.06.2010, 22:46
Threadersteller
alflife2007
ja sorry da muss ich mich mal reinfuchsen ich hab mich bisher immer damit zufrieden gegeben ^^.
aber im großen und ganzen betrifft das eh nur die templates. die sind derzeit eh nur sowas wie platzhalter oder testobjekte ^^.
das eigendliche problem ist die ganze php arbeit und das so zu machen wie ichs mir wünsche.
hab ja gesagt hab nur ein gefährliches halbwissen ^^
aber nochmal drauf hinzuweisen giebts neh möglichkeit wenn ich in einer datei die kein php nur reinen html code besitzt
ein bestimmtes wort aus dieser datei zu suchen und an dieser stelle dann ein php befehl hinzusetzen zb. include oder nen echo ausgabe.
fg alfi
25.06.2010, 23:51
Hagn
Ich hatte mir da mal ne kleine Funktion gebaut:
PHP-Code:
function template_replace($source, $find, $replace){
return preg_replace("/\\$\\{".$find."\\}/",$replace, $source);
}
Als $source wird ein Text angegeben in dem die zu ersetzende Variable ist (Die Variable wird von ${..} umschlossen). Die Variable wird in $find übergeben und wird mit dem in $replace übergebenen Wert überschrieben.
z.b. $source="Hallo ${text1}"
dann wird template_replace($source, "text1", "Welt")
"Hallo Welt" zurückliefern
Das ist nicht wirklich optimiert aber relativ einfach.
26.06.2010, 00:07
Threadersteller
alflife2007
joa also muss ich dann denk ich ja auch neh mit file() arbeiten da ich ja eine datei auslese die ich dan durch deinen befehl jagen werde ^^.
hab schon ähnlich gedacht muss noch mal genau überlegen wie ich den klein sprung mache diese daten dann zu nehmen ohne das ich neh datei übeschreibe und das in die ausgabe zu bringen.
naja bin grade eh verwirt giebt da mir sicherheit neh simple lösung :p
werd einfach mal rumprobieren ist imma noch das beste mittel ^^
fg alfi
26.06.2010, 14:03
xXxJulianxXx
du kannst es auch so machen
PHP-Code:
<? define("menu", "ich bin das Menü"); echo menu; //ausgabe "ich bin das Menü". ?>
26.06.2010, 14:21
Threadersteller
alflife2007
aber so krieg ich doch bestimmt nicht hin das die abfrage ein php befehl wie "include" dort ausspuckt ^^
fg alfi
30.06.2010, 19:50
Threadersteller
alflife2007
so hänge grade nen bisschen!
und zwar wollte ich mit den seitenmenues etwas weiter machen!
Problem ich will über die datenbank php befehle ausgeben.
zum beispiel <? include "datei.php"; ?> soll ich der datenbank stehen und dann normal ausgeben werden nur das logischer weise wenn ich das so mache man den code sehen kann aber der befehl nicht ausgeführt wird.
ich will gerne include befehle in die datenbak schreiben können um später leicht und einfach die seite per datenbank zu verändern wie es mir gefällt.
die frage ist nur ob das möglich ist und wie wenn das in eine art bb-code ginge wie zB. [include=xxx.php] währe das echt klasse.
fg alfi
30.06.2010, 19:56
pixelflat
Warum speicherst du nicht einfach nur den Dateinamen in der Datenbank? Dann kannst du mit include($bla) arbeiten.
Folgende User haben sich für den guten Beitrag bedankt:
manchmal sieht man den wald vor lauter bäumen net danke ^^
fg alfi
08.07.2010, 17:05
Threadersteller
alflife2007
hi! so hab mal wieder nen paar probs ^^.
jetzt gehts um ein php/mysql basierendes login script mit sessions.
hab bisher noch nix mit sessions gemacht daher sehr planlos!
daher bin ich erstmal einer anleitung gefolgt um zu schauen wies geht:
]
aber das problem ist es geht nicht ^^
]
nick: admin
pw: test
das prob kommt nachdem man sich einloggt auf der geheim.php
Warning: session_start() [ ]]: Cannot send session cache limiter - headers already sent (output started at /kunden/291204_23566/webseiten/geheim.php:2) in /kunden/291204_23566/webseiten/geheim.php on line 4
Sie sind eingeloggt.
sehe zwar das es um den befehl sessions geht aber weis net warum oder was das genau zu bedeuten hat.
hat wer nen plan was fürn fehler ich gemacht habe?
fg alfi
08.07.2010, 18:00
pixelflat
Quelltext wäre ganz hilfreich...
Mal ins Blaue geschoßen: du kannst session_start() nur am Anfang einer Datei (bevor überhaupt irgendetwas anderes an den Browser gesendet wird) und dementsprechend nur ein mal pro Datei schreiben. Spontan rate ich mal du hast da wild ineinander includiert und in einer 2. Datei ebenfalls session_start() stehen.
08.07.2010, 18:14
Threadersteller
alflife2007
also daran kanns net liegen ^^
ich hab das zum testen 1 zu 1 nachgemacht past/copy "natürlich mysql ect angepasst"
und in jeder datei steht session an erster stelle genau wie es dort angegeben wird.
fg alfi
08.07.2010, 19:50
pixelflat
Ohne Quelltext zu sehen kann man das nur erraten...
Bist du sicher, dass vor dem session_start() (und vor dem <?php) nichts steht? Auch keine nicht druckbaren Zeichen?
Der Code selbst sollte einwandfrei funktionieren...
Edit: Du hast zumindest in genau den betreffenden Dateien vor der Warnung ein <br /> und ein \n stehen. Ob das jetzt von der Warnung kommt oder tatsächlich in den Dateien steht weiß ich nicht.
Geändert von pixelflat (08.07.2010 um 19:53 Uhr).
08.07.2010, 20:20
Threadersteller
alflife2007
lol sowas xD
hab im quelltext nen zeilenbruch mitkopiert aber net gedacht das das der fehler sein könnte weil ja kein <br> oder sonstiges dort steht ^^
---
jetzt die frage wie kriege ich von dem eingeloggten user den usernamen bzw einträge aus seiner tabelle wenn er einloggt?
damit ich sowas wie eine begrüßung machen kann und oder spezielle rechte erstelln kann damit einige leute mehr oder weniger sehen.
hier mal die quellcodes der dateien:
sessionhelpers.inc.php
PHP-Code:
<?php
/** * @return void */ function connect () { $con = mysql_connect('localhost', 'nick', 'pass') or exit(mysql_error()); mysql_select_db('datenbank', $con) or exit(mysql_error()); }
der session_start befehl ist in einer anderen datei .
fg alfi
Geändert von alflife2007 (08.07.2010 um 21:14 Uhr).
10.07.2010, 21:16
Threadersteller
alflife2007
hat da keiner nen plan ich verzweifel xD
ich muss das ihrgendwie so hinbekommen das ich den namen des eingeloggten anzeigen kann und evtl auch neh andere spalte in der tabelle.
ich steig durch das scrpt noch net ganz durch bzw. wie ich das verändern muss damit das dan so funzt wie ichs haben will.