Archief - JS: php??

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Fegru

Legacy Member
ok, ik ben bezig met een siteje. Nu include ik iedere keer mijn layouts. Maar nu wil ik vanboven in dat menuutje een knop om van taal te veranderen. nl en en. Het enige wat dit moet doen is de code lang= resp dutch en english aan de link toevoegen. Zou ik dit met php doen?? of gaat dit makkelijker met JS.

Pas ook op dat er iets voor kan staan (dan moet het &lang=...) of het eerste get argument (?lang=...)

Dank bij voorbaat

RpR

Legacy Member
zeker met php.
Js is client site en kan altijd worden uitgezet.

Fraggie

Legacy Member
Dus een selectie waarbij de argumenten behouden worden & 1 iets veranderd of bijkomt?

Ik zou het met JS doen,
eerst kijken of er argumenten zijn indexOf() gebruiken en ? zoeken.
Vervolgens kijken welke het zijn (1 of meerdere, opzoek naar & dus), alles opsplitsen (met een Array werken) en die 1ne argument aanpassen. Als laatste de link opnieuw maken http://www.mijnsite.be/index.php?lang=nieuw&rest (vet is vast).

Fegru

Legacy Member
En hoe kan ik dat het beste doen :P
Een manier van is al genoeg voor php, JS ben ik niet zo bekend mee, alleen een paar form functies.

RpR

Legacy Member
Wat je moet doen is gewoon afhakelijk van uw lang in uw url een verschillende template laden...

En je kan idd dat url switch ding in javascript doen maar waarom extra zaken programmeren als je toch al php moet gebruiken...

Fegru

Legacy Member
jamaar alles is al klaar, als ik naar www.mijnsite.com/index.php ga laadt hij english, als ik naar www.mijnsite.com/index.php?lang=dutch ga dan is het nederlands, ik zoek alleen een manier dat mijn layout (wat een apart bestand is) mijn taal laadt die ik wil als ik erop klik.
Dus iets in de aard van <a href="index.php?lang=english">en</a> | <a href="index.php?lang=dutch">nl</a>
maar dan dat de links bepaald worden adhv wat de url is

RpR

Legacy Member
Neen je moet gewoon de var lang opvragen
If($_GET['lang']=='dutch')
{
laadnederlands();
}
else
{
laadengels();
}

Fegru

Legacy Member
jamaar, ik include mijn layout (en dit is een functie uit de layout) en niet omgekeerd.

bv loginpage

<?php
include 'layout1.php'
if lang=eng
include loginscript_eng.php
else
include loginscript_ned.php
include 'layout2.php'
?>

Fegru

Legacy Member
<?php
include 'layout1.php'
if ($_POST['lang'] == 'english'){
include 'loginscript_eng.php'
}
else{
include 'loginscript_ned.php'
}
include 'layout2.php'
?>

layout1.php is dan bv:

<table>
<tr>
<td>
This is my site
</td>
</tr>
<tr>
<td align="right">
<?php
$en1 = '';
$en2 = '';
$nl1 = '';
$nl2 = '';
switch($_GET['lang']){
case 'english':
$en1 = '<b>';
$en2 = '</b>';
break;
case 'dutch':
$nl1 = '<b>';
$nl2 = '</b>';
break;
}
?>
<a href="index.php?lang=english" style="text-decoration:none"><?php echo $en1; ?>en<?php echo $en2; ?></a> | <a href="index.php?lang=dutch" style="text-decoration:none"><?php echo $nl1; ?>nl<?php echo $nl2; ?></a>
</td>
</tr>
<tr>
<td>

En dan layout2.php
</td>
</tr>
</table>

PS, ik kon nergens een code tag vinden, dus het ziet er nogal ongestructureerd uit :P

Lashknife

Legacy Member
zoek op internationalization (kort: i18n) + localization (kort: l10n) + php in google

en dat "javascript kan je uitzetten" excuus... wie doet dat nog? Moet je eens nagaan dat wie dat zou doen, je site waarschijnlijk met een text-only browser bekijkt, en ik denk niet dat de meesten hier zich daar iets van aantrekken (omdat het simpelweg hun doelgroep niet is)

RpR

Legacy Member
Lashknife zei:
zoek op internationalization (kort: i18n) + localization (kort: l10n) + php in google

en dat "javascript kan je uitzetten" excuus... wie doet dat nog? Moet je eens nagaan dat wie dat zou doen, je site waarschijnlijk met een text-only browser bekijkt, en ik denk niet dat de meesten hier zich daar iets van aantrekken (omdat het simpelweg hun doelgroep niet is)

Er zijn vele mensen die noscripts voor firefox draaien...
Uiteindelijk is dit beter met php gedaan doordat je toch de pagina moet reloaden voor de andere template te laden.

goodbytes.be

Legacy Member
Fegru, ik denk dat je best even RpR zijn suggestie wat naderbij bekijkt.

Mij lijkt het in jou geval best om een url parameter op te vangen via $_GET zoals RpR schrijft en dan desgewenst met een if-else te werken zoals je nu reeds doet.

Wat javascript betreft:

Ik surf zelf ook met noscript in Firefox, maar je moet puur het volgende in je achterhoofd houden als je met javascript werkt: kan google (die geen javascript kent) navigeren door heel mijn website en dus al mijn pagina's lezen en indexeren in de zoekmachine?

Kan google dat niet, dan zal ook niemand op je website raken via bijvoorbeeld google en dat is niet de bedoeling lijkt me.

Verder die je te zorgen dat je site volledig functioneel is zonder javascript, ook al is het resultaat minder mooi en aantrekkelijk.

Bijvoorbeeld: stel dat je een invulformulier enkel controleert via javascript: een gebruiker zet JS uit en kan eender wat voor rommelgegevens in je databank duwen. Zorg dat dit eerst opgevangen wordt in PHP en dat je daarna fancy javascript daar bóvenop schrijft, om het voor je gebruikers aangenamer te maken om je website te gebruiken.

Fegru

Legacy Member
ok, alles werkt nu goed, alleen verwijst hij altijd naar mijn index.php
Nu heb ik dus iets nodig (een stukje code) die de huidige link in plaats van index.php te zetten.
En dat internationalization is een beetje te uitgebreid om te gebruiken bij mijn klein siteje :P
Ik heb het maar snel snel gelezen, dus als ik het fout heb, verbeter mij maar :p
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan