Zal dit werken?
Ik ben nieuw op het gebied van php, en wil een soort van blog maken.
Het is de bedoeling dat je enkel maar een txt-bestandje in een map moet plaatsen, en php maakt het menu en pagina zef aan.
Wat ik me vooral afvraag is, of je een variabele zomaar als case kan plaatsen, en dat je die variabele ook kan doorgeven naar selected.php om daar dan de nodige bestanden op te halen.
(Ik werk met PEAR)
Frontcontroller:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
require_once("HTML/Template/IT.php");
$template = new HTML_TEMPLATE_IT("templates");
$template->loadTemplatefile("index.tpl");
//array met alle titels van de tekstbestanden uit map "posts" in
//array van titels oplopend sorteren
//bovenste 9 ingaven afzonderen
//elke ingave ontleden (naam van bestand), in een eigen variabele stoppen (variabele_XX) en die dan in de case plaatsen
$action = $_GET["action"];
switch ($action){
case $variabele_01: //waarde van bovenste element van array
include_once("includes/selected.php");
$content = getData($variabele_01); //titel (dmv variabele) meegeven zodat je weet op welke ze geklikt hebben
$menu = getDataMenu();
$rating = getDataRating($variabele_01);
$comments = getDataComment($variabele_01);
break;
case $variabele_02:
include_once("includes/selected.php");
$content = getData($variabele_02);
$menu = getDataMenu();
$rating = getDataRating($variabele_02);
$comments = getDataComment($variabele_02);
break;
//...9 cases, want 9 recenste berichten moeten getoond worden
default:
include_once("includes/default.php");
$content = getDataContent();
$menu = getDataMenu();
$rating = getDataRating();
$comments = getDataComment();
}
$template->setVariable("content", $content);
$template->show();
?>
require_once("HTML/Template/IT.php");
$template = new HTML_TEMPLATE_IT("templates");
$template->loadTemplatefile("index.tpl");
//array met alle titels van de tekstbestanden uit map "posts" in
//array van titels oplopend sorteren
//bovenste 9 ingaven afzonderen
//elke ingave ontleden (naam van bestand), in een eigen variabele stoppen (variabele_XX) en die dan in de case plaatsen
$action = $_GET["action"];
switch ($action){
case $variabele_01: //waarde van bovenste element van array
include_once("includes/selected.php");
$content = getData($variabele_01); //titel (dmv variabele) meegeven zodat je weet op welke ze geklikt hebben
$menu = getDataMenu();
$rating = getDataRating($variabele_01);
$comments = getDataComment($variabele_01);
break;
case $variabele_02:
include_once("includes/selected.php");
$content = getData($variabele_02);
$menu = getDataMenu();
$rating = getDataRating($variabele_02);
$comments = getDataComment($variabele_02);
break;
//...9 cases, want 9 recenste berichten moeten getoond worden
default:
include_once("includes/default.php");
$content = getDataContent();
$menu = getDataMenu();
$rating = getDataRating();
$comments = getDataComment();
}
$template->setVariable("content", $content);
$template->show();
?>
selected.php :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
function getDataContent($titel)
{
//array met alle titels van de tekstbestanden
//zoek waarde in array die gelijk is aan sting $titel
//haal die uit de array, en ontleedt die (titel, datum en tekst) en zet ze in {content}
}
function getDataMenu()
{
//array met alle titels van de tekstbestanden uit map "posts"
//array van titels oplopend sorteren
//bovenste 9 ingaven afzonderen
//elke ingave ontleden zodat je de titel weet en die dan in het menu kan stoppen
}
function getDataRating($titel)
{
//ophalen van het gemiddelde van alle ratings uit de database
}
function getDataComment($titel)
{
//ophalen van de commentaar uit de database
}
?>
function getDataContent($titel)
{
//array met alle titels van de tekstbestanden
//zoek waarde in array die gelijk is aan sting $titel
//haal die uit de array, en ontleedt die (titel, datum en tekst) en zet ze in {content}
}
function getDataMenu()
{
//array met alle titels van de tekstbestanden uit map "posts"
//array van titels oplopend sorteren
//bovenste 9 ingaven afzonderen
//elke ingave ontleden zodat je de titel weet en die dan in het menu kan stoppen
}
function getDataRating($titel)
{
//ophalen van het gemiddelde van alle ratings uit de database
}
function getDataComment($titel)
{
//ophalen van de commentaar uit de database
}
?>
Zal dit werken? En is dit de manier om zoiets te maken?
Alvast bedankt
Jelle
Gewijzigd op 01/01/1970 01:00:00 door Jelle
wil je best helpen hiermee maar niet als ik het voor een leek uit moet gaan leggen.
Begin bij het begin, een eigen blog met feed en writen van files is NIET het begin
btw, Pear is geen programmeertaal, maar een manier van opschrijven van de code. Zoals jij het opschrijft lijkt het of jij denkt dat het een programmeertaal is.
EDIT: kijk gelijk ook eens naar wat MySQL Tutorials, een Database is veel handiger dan een tekstbestandje, en een database gebruiken lijkt moeilijker dan het is.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
Alles wat ik heb van code begrijp ik wel, en met een simpele frontcontroller kan ik werken. Maar ik wou wat extra doen (die tekstbestandjes) maar ik vroeg me af of het zou werken op die manier, niet om de code voor mij uit te spuwen. Questie van er tijd in te stoppen als het de moeite is...
PHP met databases kan ik nog niet. Ik werk er wel aan.
Quote:
Even testen zou ik zeggen, dan weet je het. En je leert er het meeste van!Zal dit werken?
Quote:
Er zijn altijd meerdere wegen die naar Rome leiden, het is dus een manier. Wat 'de beste' manier is, is afhankelijk van jouw kennis en kunde, maar ook van de server waarop de boel moet draaien. Zelf ben ik niet zo gek op textfiles als input, ik zou er voor kiezen om een database te gebruiken. Maar ja, dan moet je wel weten hoe je dat veilig kunt doen en je moet natuurlijk wel de beschikking hebben over een database.En is dit de manier om zoiets te maken?
Veel plezier met PHP-en!
idd zoals gezegd word is een database handiger
kijk ff naar php.net en lees een beetje over het beveiligen van je scripts en ga dan met bijvoorbeeld mysql aan de gang.
http://php.he.net/manual/en/security.php
Maar misschien is het beter om met databases te werken. Dat zal ik vanavond eens bekijken.
Bedankt