if then
Ik ben bezig met een platte html website om te zetten naar 2 talig. Omdat er niet op elke pagina veel tekst gebruikt wordt lijkt het me niet handig de complete website in 2 directories te plaatsen in 2 talen. Een aanpassing moet dan worden door gevoerd in beide pagina's (NL en ENG).
Ik heb een oplossing bedacht. Een pagina bijvoorbeeld "over ons" heeft een klein stukje tekst en wat foto's. Ik zou in de pagina een stukje php kunnen opnemen:
IF domein.nl/overons.php of domein.nl/overons.php?LANG=NL THEN
"nederlandse html"
ELSE domein.nl/overons.php?LANG=ENG THEN
"Engelse tekst in HTML"
Ik kom wel uit het eerste stukje maar de rest niet helemaal
Dit is wat ik heb:
Code (php)
Overigens kan ik nu geen HTML plaatsen achter de ECHO.
Kan iemand me een stuk verder helpen?
Stef
Code (php)
Super!
Echter waar kan ik mijn HTML ENG en waar de NL kwijt?
Stef
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$talen = array('NL' => array('titel' => 'Welkom beste bezoeker',
'tekst' => 'Dit is een tekst om te testen',
'taal' => 'Nederlands'),
'ENG' => array('titel' => 'Welcome dear visitor',
'tekst' => 'This text is for testing only',
'taal' => 'Englisch')
);
if(isset($_GET['LANG']) and isset($talen[$_GET['LANG']]))
{
$language = $_GET['LANG'];
}
else
{
$language = 'NL';
}
echo '<html>'; // en de rest van de html
echo $talen[$language]['titel'] . '<br/><br/>' . $talen[$language]['tekst'] . '<br/>' . $talen[$language]['taal'];
echo '</html>'; // en de rest van de html om af te sluiten
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$talen = array('NL' => array('titel' => 'Welkom beste bezoeker',
'tekst' => 'Dit is een tekst om te testen',
'taal' => 'Nederlands'),
'ENG' => array('titel' => 'Welcome dear visitor',
'tekst' => 'This text is for testing only',
'taal' => 'Englisch')
);
if(isset($_GET['LANG']) and isset($talen[$_GET['LANG']]))
{
$language = $_GET['LANG'];
}
else
{
$language = 'NL';
}
echo '<html>'; // en de rest van de html
echo $talen[$language]['titel'] . '<br/><br/>' . $talen[$language]['tekst'] . '<br/>' . $talen[$language]['taal'];
echo '</html>'; // en de rest van de html om af te sluiten
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
if($language == "NL")
{
nederlandse tekst
}
elseif($language == "ENG")
{
engelse tekst
}
{
nederlandse tekst
}
elseif($language == "ENG")
{
engelse tekst
}
klooien
Kan ik in de teksten dan ook mijn HTML kwijt?
dus bijv.
Code (php)
Of gewoon de hele regel in een echo zetten.
Ik heb bijvoorbeeld een NL en ENG menu gemaakt. beide in een los bestand geplaatst.
<!--#include file="menu_nl.inc" -->'
zelfde geldt ook voor de footer en metatags.
Hoe kan ik deze wel opnemen in de teksten?
Stef
Stef Segers schreef op 08.10.2008 16:01:
Het lukt me bijna, ik krijg alleen geen includes in mijn teksten
Dat gaat ook niet in een tekst.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Ik snap, maar ik heb 2 talen menu's remember? Afhankelijk van de taal moet er dus een keuze worden gemaakt.
Dus in de ENG website moet de Engelse menu te voorschijn komen en voor de NL de nederlandse
echo
include
echo gaat dus niet werken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$talen = array('NL' => array('titel' => 'Welkom beste bezoeker',
'tekst' => 'Dit is een tekst om te testen',
'taal' => 'Nederlands',
'menulink' => 'menunederlands.php'),
'ENG' => array('titel' => 'Welcome dear visitor',
'tekst' => 'This text is for testing only',
'taal' => 'Englisch',
'menulink' => 'menuengels.php')
);
include($talen[$language]['menulink']);
?>
$talen = array('NL' => array('titel' => 'Welkom beste bezoeker',
'tekst' => 'Dit is een tekst om te testen',
'taal' => 'Nederlands',
'menulink' => 'menunederlands.php'),
'ENG' => array('titel' => 'Welcome dear visitor',
'tekst' => 'This text is for testing only',
'taal' => 'Englisch',
'menulink' => 'menuengels.php')
);
include($talen[$language]['menulink']);
?>
Ik heb nog even een vraagje.... Ik heb een php scriptje gemaakt welke ik in een apart bestand geplaatst heb. Dit is een directory listing scriptje.
Ik heb dit dirlist.php genoemd.
Ik heb nu de include toegevoegd zoals je hierboven omschreven hebt, maar dat werkt niet. Ik krijg dat de inhoud van het script te zien ipv dat hij heb uitvoerd.
Ik heb daarom dan de echo een include of require geprobeerd, maar dat geeft hetzelfde probleem.
Ik hoop dat het wel mogelijk is een extern php script aan te roepen?
Stef
tenzij het in een mapje staat dan
CSS word door PHP inderdaad als tekst weergegeven, maar daar voor bestaat <link> of bij css file import.
Ik heb inderdaad een .php bestandje gemaakt van het script.
dmv de include zoals je m omschreef heb ik m toegevoegd..
Hier mijn code..
dirlisting.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
27
28
29
30
31
32
33
34
35
36
37
38
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
function getFiles($path) {
//Function takes a path, and returns a numerically indexed array of associative arrays containing file information,
//sorted by the file name (case insensitive). If two files are identical when compared without case, they will sort
//relative to each other in the order presented by readdir()
$files = array();
$fileNames = array();
$i = 0;
if (is_dir($path)) {
if ($dh = opendir($path)) {
while (($file = readdir($dh)) !== false) {
if ($file == "." || $file == "..") continue;
$fullpath = $path . "/" . $file;
$fkey = strtolower($file);
while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
$a = stat($fullpath);
$files[$fkey]['size'] = $a['size'];
if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
$files[$fkey]['name'] = $file;
$files[$fkey]['type'] = filetype($fullpath);
$fileNames[$i++] = $fkey;
}
closedir($dh);
} else die ("Cannot open directory: $path");
} else die ("Path is not a directory: $path");
sort($fileNames,SORT_STRING);
$sortedFiles = array();
$i = 0;
foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];
return $sortedFiles;
}
$files = getFiles("./NEW");
foreach ($files as $file) print "<a href=\"new.php?naam=$file[name]\">$file[name]</a><br>\n";
//Function takes a path, and returns a numerically indexed array of associative arrays containing file information,
//sorted by the file name (case insensitive). If two files are identical when compared without case, they will sort
//relative to each other in the order presented by readdir()
$files = array();
$fileNames = array();
$i = 0;
if (is_dir($path)) {
if ($dh = opendir($path)) {
while (($file = readdir($dh)) !== false) {
if ($file == "." || $file == "..") continue;
$fullpath = $path . "/" . $file;
$fkey = strtolower($file);
while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
$a = stat($fullpath);
$files[$fkey]['size'] = $a['size'];
if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
$files[$fkey]['name'] = $file;
$files[$fkey]['type'] = filetype($fullpath);
$fileNames[$i++] = $fkey;
}
closedir($dh);
} else die ("Cannot open directory: $path");
} else die ("Path is not a directory: $path");
sort($fileNames,SORT_STRING);
$sortedFiles = array();
$i = 0;
foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];
return $sortedFiles;
}
$files = getFiles("./NEW");
foreach ($files as $file) print "<a href=\"new.php?naam=$file[name]\">$file[name]</a><br>\n";
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>DejaVu Reportage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="/includes/fotofadein.js"></script>
</head>
<body>
<?php
$arrStr = explode("/", $_SERVER['SCRIPT_NAME'] );
$arrStr = array_reverse($arrStr );
?>
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$talen = array('NL' => array('titel' => '<div id="tekst_rechts"><h2 align="right">Nieuwe foto´s</h2>',
'menu' => 'menu_nl.php'),
'ENG' => array('titel' => '<div id="tekst_rechts"><h2 align="right">New pictures</h2>',
'menu' => 'menu_eng.php'),
);
if(isset($_GET['LANG']) and isset($talen[$_GET['LANG']]))
{
$language = $_GET['LANG'];
}
else
{
$language = 'NL';
}
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>DejaVu Reportage</title>
<link href="/css/dejastyle2.css" rel="stylesheet" type="text/css" media="screen" />';
include('../includes/metatags.inc');
echo '<script type="text/javascript" src="/includes/fotofadein.js"></script>
</head>
<body>
<div id="distance"></div>
<div id="container">
<div id="language"><a href="';
echo $arrStr[0];
echo '?LANG=NL">nederlands</a> / <a href="';
echo $arrStr[0];
echo '?LANG=ENG">english</a></div>
<div align="center"><table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td id="content_cell">';
echo $talen[$language]['titel'];
require "dirlisting.php";
echo '</div><div id="NEW">';
if(!isset($_GET["naam"])){;
echo '<img src="/images/intro_new.jpg" width="400" height="300" />';
} else {;
echo '<iframe style="border: medium none ; background-color:FFFFFF;" src="/NEW/<?php PRINT $_GET["naam"]; ?>/iframe.html" title="Slideshow" frameborder="0" height="370" width="500" scrolling="no"></iframe>';
};
echo '</div>';
include($talen[$language]['menu']);
echo '</div>
</td>
</tr>';
include('footer.inc');
echo '
</table>
</div>
</body>
</html>
';
?>
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>DejaVu Reportage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="/includes/fotofadein.js"></script>
</head>
<body>
<?php
$arrStr = explode("/", $_SERVER['SCRIPT_NAME'] );
$arrStr = array_reverse($arrStr );
?>
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$talen = array('NL' => array('titel' => '<div id="tekst_rechts"><h2 align="right">Nieuwe foto´s</h2>',
'menu' => 'menu_nl.php'),
'ENG' => array('titel' => '<div id="tekst_rechts"><h2 align="right">New pictures</h2>',
'menu' => 'menu_eng.php'),
);
if(isset($_GET['LANG']) and isset($talen[$_GET['LANG']]))
{
$language = $_GET['LANG'];
}
else
{
$language = 'NL';
}
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>DejaVu Reportage</title>
<link href="/css/dejastyle2.css" rel="stylesheet" type="text/css" media="screen" />';
include('../includes/metatags.inc');
echo '<script type="text/javascript" src="/includes/fotofadein.js"></script>
</head>
<body>
<div id="distance"></div>
<div id="container">
<div id="language"><a href="';
echo $arrStr[0];
echo '?LANG=NL">nederlands</a> / <a href="';
echo $arrStr[0];
echo '?LANG=ENG">english</a></div>
<div align="center"><table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td id="content_cell">';
echo $talen[$language]['titel'];
require "dirlisting.php";
echo '</div><div id="NEW">';
if(!isset($_GET["naam"])){;
echo '<img src="/images/intro_new.jpg" width="400" height="300" />';
} else {;
echo '<iframe style="border: medium none ; background-color:FFFFFF;" src="/NEW/<?php PRINT $_GET["naam"]; ?>/iframe.html" title="Slideshow" frameborder="0" height="370" width="500" scrolling="no"></iframe>';
};
echo '</div>';
include($talen[$language]['menu']);
echo '</div>
</td>
</tr>';
include('footer.inc');
echo '
</table>
</div>
</body>
</html>
';
?>