Hoe zet ik dit in functie?
Kan iemand me even helpen?
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
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
<?
// Array met namen
//
function test()
{$aReplace=array(
'FORM_ACTION' => ''.htmlentities(strip_tags($_SERVER[PHP_SELF])).'',
'EVENT_ITEMS' => 'event line',
'HOOFD' => 'event line',
'CP_ADMIN_PWD' => 'login_pass');
// Bestaat het bestand wel?
//
if (!file_exists($sTemplate))
{
echo 'Template bestaat niet:'.$sTemplate;
}
else
{
// open het bestand
if (!$fp = fopen($sTemplate, 'r'))
{
echo 'Kon template niet openen';
}
else
{
// Lees de template
//
$sTheme = fread($fp, filesize($sTemplate));
fclose($fp);
// Vervang de placeholders
//
foreach($aReplace as $aOlddata => $aNewdata)
$sTheme = str_replace('['.$aOlddata.']', $aNewdata, $sTheme);
echo $sTheme;
};
};
}
?>
// Array met namen
//
function test()
{$aReplace=array(
'FORM_ACTION' => ''.htmlentities(strip_tags($_SERVER[PHP_SELF])).'',
'EVENT_ITEMS' => 'event line',
'HOOFD' => 'event line',
'CP_ADMIN_PWD' => 'login_pass');
// Bestaat het bestand wel?
//
if (!file_exists($sTemplate))
{
echo 'Template bestaat niet:'.$sTemplate;
}
else
{
// open het bestand
if (!$fp = fopen($sTemplate, 'r'))
{
echo 'Kon template niet openen';
}
else
{
// Lees de template
//
$sTheme = fread($fp, filesize($sTemplate));
fclose($fp);
// Vervang de placeholders
//
foreach($aReplace as $aOlddata => $aNewdata)
$sTheme = str_replace('['.$aOlddata.']', $aNewdata, $sTheme);
echo $sTheme;
};
};
}
?>
ps, die banner bugged me ^^ , die royal hosting banner zit in de weg van mijn edit button !
ik weet niet wat je hier doet? maar een een accolade met een puntkomma afsluiten doet sowieso niks. Daarnaast moet je ook dingen 'returnen'
dus return $variabel oid
edit:
Ff wat entertjes, of wat spaties in je script...
Edit 2:"
dit is de boosdoener:
FORM_ACTION' => ''.htmlentities(strip_tags ($_SERVER[PHP_SELF])).'',
Gewijzigd op 24/02/2006 15:37:00 door Jason de Ridder
heb er al wel function test() voorgezet :D , hahaha .. heo verder ^^
Edit: OO
FORM_ACTION' => ''.htmlentities(strip_tags ($_SERVER[PHP_SELF])).'', werkte anders wel goed ..
Gewijzigd op 24/02/2006 15:40:00 door Donster
ja werkt wel, maar dan zit die banner niet in de weg ;-)
Waar haal je de variabele '$sTemplate' vandaan? Waarom lees je een template en doe je er niets mee? En zoals Jason al zei, waarom staat er een ';' (puntkomma) achter je accolades? Wat is het nut van je functie, hij doet niet echt veel op het eerste gezicht.
Ook heb je nog andere variabele die je nergens vandaan haalt...
Bedoel je strip tags etc?? dat is omdat $_SERVER[PHP_SELF] opzichzelf niet veilig is.
En $sTemplate die komt uit een ander file..
Nut van de functie is:
Ik wil na een query de functie aanroepen ..( zodat de functie het template echo't en de [dit] verandert in de variablen..
$sTemplate is de enige variable uit een ander file .. dat is namelijk de url van het template file , en die is voor elke pagina anders..
Donster:
Waarom heb je trouwens lege strings ervoor staan? ->>
Bedoel je strip tags etc?? dat is omdat $_SERVER[PHP_SELF] opzichzelf niet veilig is.
En $sTemplate die komt uit een ander file..
Nut van de functie is:
Ik wil na een query de functie aanroepen ..( zodat de functie het template echo't en de [dit] verandert in de variablen..
Bedoel je strip tags etc?? dat is omdat $_SERVER[PHP_SELF] opzichzelf niet veilig is.
En $sTemplate die komt uit een ander file..
Nut van de functie is:
Ik wil na een query de functie aanroepen ..( zodat de functie het template echo't en de [dit] verandert in de variablen..
Een string is een tekenreeks, geen expressie ;-) Er staat dus ook gewoon bij wat ik bedoel...
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
<?
// Maak schone arrays
$aPlaceholders = array();
$aReplacements = array();
// Maak een placeholder en replacement voor 'title'
$aPlaceholders[] = '[TITLE]';
$aReplacements[] = 'Zeer Zimpele Templates';
// Maak een placeholder en replacement voor 'main'
$aPlaceholders[] = '[HOOFD]';
$aReplacements[] = 'Dit zijn Zeer Zimpele Templates';
$sTemplateFilename = 'test.html';
// Bestaat het bestand wel?
if (!file_exists($sTemplateFilename))
{
echo 'Template bestaat niet:'.$sTemplateFilename;
}
else
{
// open het bestand
if (!$fp = fopen($sTemplateFilename, 'r'))
{
echo 'Kon template niet openen';
}
else
{
// Lees de template
//
$sContent = fread($fp, filesize($sTemplateFilename));
fclose($fp);
// Vervang de placeholders
//
$sContent = str_replace($aPlaceholders, $aReplacements, $sContent);
echo $sContent;
};
};
?>
// Maak schone arrays
$aPlaceholders = array();
$aReplacements = array();
// Maak een placeholder en replacement voor 'title'
$aPlaceholders[] = '[TITLE]';
$aReplacements[] = 'Zeer Zimpele Templates';
// Maak een placeholder en replacement voor 'main'
$aPlaceholders[] = '[HOOFD]';
$aReplacements[] = 'Dit zijn Zeer Zimpele Templates';
$sTemplateFilename = 'test.html';
// Bestaat het bestand wel?
if (!file_exists($sTemplateFilename))
{
echo 'Template bestaat niet:'.$sTemplateFilename;
}
else
{
// open het bestand
if (!$fp = fopen($sTemplateFilename, 'r'))
{
echo 'Kon template niet openen';
}
else
{
// Lees de template
//
$sContent = fread($fp, filesize($sTemplateFilename));
fclose($fp);
// Vervang de placeholders
//
$sContent = str_replace($aPlaceholders, $aReplacements, $sContent);
echo $sContent;
};
};
?>
Dit is de eigenlijke code van yapf! , aleen ik wil dat hij na een query ( bijv bij nieuwsscript) het template pas gebruikt .. zodat ik dus een template kan maken voor die output.. ( vandaar dat ik zoiets dan als functie moet aanroepen..)
Maar zoals ik al zei .. ik snap er helemaal niks meer van .. als template systeem opzich werkt het goed , maar hoe maak gebruik ik het als template voor de output...
EN: $sTemplateFilename = 'test.html'; -> dit moet zoviezo op de pagina zelf staan die dit template.php file include.. ( het is geen vaste waarde..)
Gewijzigd op 24/02/2006 17:34:00 door Donster