:haha:
Berichten: 482
avatar
Offline Stuur privebericht
Goede dag leden. Ik ben bezig met een talen systeem ik had een voorbeeld gevonden op internet maar ik loop een beetje vast
Code | Selecteer Alles
minimaliseren
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
<?PHP
# We gaan straks cookies gebruiken, dus ob_start() is vereist!
ob_start ();
# De talen array
$aTalen = array ("nl""en");

// De gebruiker heeft zijn voorkeur veranderd door een taal te kiezen uit
// het menu, en op de knop te drukken
if (isset ($_POST['kiezen']))
{
    
# Cookie met de gekozen taal met de duur van 1 jaar aanmaken
    
setcookie ("taal"$_POST['taalkeuze'], time()+60*60*24*7*52);
    
# De pagina moet gerefreshed worden voordat de cookie goed werkt bij een $_POST
    
header ("Location: index.php");
}

// Heeft de gebruiker nog geen voorkeur-cookie? Maak dan een cookie aan
// met de nederlandse taal
if (!isset ($_COOKIE['taal']))
{
    
# Cookie met de nederlandse taal met de duur van 1 jaar aanmaken
    
setcookie ("taal""nl"time()+60*60*24*7*52);
}
// Als de cookie wel is gezet, maar niet geldig is, maak dan een nieuwe
// cookie aan met de nederlandse taal
elseif (!in_array ($_COOKIE['taal'], $aTalen))
{
    
# Cookie met de nederlandse taal met de duur van 1 jaar aanmaken
    
setcookie ("taal""nl"time()+60*60*24*7*52);
}
// De cookie is nu hoe dan ook geldig, en kan gebruikt worden
else
{
    
# Include de gekozen (indien nodig: -aangewezen) taal
    
include ("taal/" $_COOKIE['taal'] . ".php");
}
?> 
<form action="" method="post">
    <select name="taalkeuze">
        <?PHP
        
# De for-loop maakt per taal een nieuwe <option></option> aan
        
for ($i=0$i count ($aTalen); $i++)
        {
        
?>
            <option value="<?=$aTalen[$i];?>"><?=$aTalen[$i];?></option>
        <?PHP
        
}
        
?>
    </select>
    <input name="kiezen" type="submit" value="Kies Taal" />
</form>



die form wil ik om zetten naar een link maar heb geen vlauw idee hoe ik da moet gaan doen

iemand die me daar mee kan helpen ?
12-05-2011 17:53
Dit topic is 189 keer bekeken door 38 verschillende leden
Reacties op: "Talen"
1
Informatica Student
Berichten: 1406
avatar
Online Stuur privébericht
Ipv een POST een GET gebruiken? Dan kan je een link gebruiken en heb je geen formulier nodig.
12-05-2011 17:54
:haha:
Berichten: 482
avatar
Offline Stuur privébericht
dus dan word


if (isset ($_POST['kiezen']))

if (isset ($_GET['kiezen']))

?
12-05-2011 17:56
Informatica Student
Berichten: 1406
avatar
Online Stuur privébericht
Ja, en dan is de link script.php?kiezen=1&taalkeuze=taal

Echter is je script trouwens niet veilig.
12-05-2011 17:59
:haha:
Berichten: 482
avatar
Offline Stuur privébericht
Quote: BrokenTrack

Ja, en dan is de link script.php?kiezen=1&taalkeuze=taal

Echter is je script trouwens niet veilig.




hmmz niet veilig?
12-05-2011 18:00
Informatica Student
Berichten: 1406
avatar
Online Stuur privébericht
Als ik naar script.php?kiezen=1&taalkeuze=grappig ga bijv. Dan pakt hij dus includes/grappig.php. Volgens mij kan je dan dus wel wat ongein uithalen...
12-05-2011 18:09
:haha:
Berichten: 482
avatar
Offline Stuur privébericht
dan laat die niets zien
12-05-2011 18:17
Webdeveloper & Programmeu
Berichten: 1001
avatar
Online Stuur privébericht
Via deze elseif: elseif (!in_array ($_COOKIE['taal'], $aTalen))

checkt hij toch echt of hij in de array staat hoor
dus probeer jij grappig maar te doen.
12-05-2011 18:19
:haha:
Berichten: 482
avatar
Offline Stuur privébericht
Quote: NielsB

Via deze elseif: elseif (!in_array ($_COOKIE['taal'], $aTalen))

checkt hij toch echt of hij in de array staat hoor
dus probeer jij grappig maar te doen.




alsik het via een link doe en doe dan iets anders is het idd leeg dus wat broken zegt klopt wel
12-05-2011 18:22
Informatica Student
Berichten: 1406
avatar
Online Stuur privébericht
Quote: NielsB

Via deze elseif: elseif (!in_array ($_COOKIE['taal'], $aTalen))

checkt hij toch echt of hij in de array staat hoor
dus probeer jij grappig maar te doen.


Probeer niet grappig te doen, ik heb eroverheen gelezen
Exuses.
12-05-2011 18:22
Webdeveloper & Programmeu
Berichten: 1001
avatar
Online Stuur privébericht
Gast, ik vind het ook niet grappig hoor? Want ik wil je alleen even helpen door je fout te corrigeren. Hou niet bepaald van mensen afzeiken probeer alleen te helpen.

@arendjee, geef dan is een link waarop ik het kan testen?


Wanneer je geen taalkeuze mee geeft dus het formulier leeg maakt en dan submit uitvoert dan wordt er sowieso een cookie gemaakt misschien even daar nog klein beetje beveiliging dat het dan standaard nl is?

dus gewoon heel simpel verkorte if gebruiken kijken of die leeg is?

$taal = ( !isset( $_POST['taalkeuze'] ) ? 'nl' : $_POST['taalkeuze'] );

setcookie( 'taal', $taal, $tijd );

Edit:
@arendjeee, ik snap al wat je bedoeld!
Je hebt het script aangepast naar een get?

Als je even post wat je nu hebt wil ik je wel even paar tips geven?
12-05-2011 19:20
Reageer op: "Talen"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden