Cookies & Sessions

Status
Niet open voor verdere reacties.

falcojugger

Gebruiker
Lid geworden
29 dec 2008
Berichten
279
Hallo allemaal,

Ik ben bezig een webpagina te maken in verschillende talen. In eerste instantie moet er dus een taal gekozen wordt, dat sowieso wordt opgeslagen in een sessie, de gebruiker kan ervoor kiezen dit ook als cookie op te slaan, dat als hij zijn browser sluit, de "instelling" bewaard blijft.

PHP:
<?php
session_start();
require_once("includes/config.php");
include "includes/functionlist.php";

if(isset($_COOKIE['project_taal']) && !isset($_SESSION['language'])){
	$_SESSION['language'] = $_COOKIE['project_taal'];
	header('location: index.php');
}

if(!isset($_SESSION['language']) ){?>
	<form method="post" action="core.php">
		<input type="submit" value="nl" name="taal" />
		<br/>
		<input type="submit" value="en" name="taal" />
		<br/><br/>
		<input type="checkbox" value="true" name="cookie" />
	</form>
<?php }

if(isset($_SESSION['language'])){
/* PAGINA HIER */
}
?>

dit heb ik nu even snel in elkaar gezet.
in de core staat het volgende:

PHP:
<?php
session_start();

$taal = $_POST['taal'];

if($taal == "nl"){
	$_SESSION['language'] = "nl";
}
else if ($taal == "en"){
	$_SESSION['language'] = "en";
}

if($_POST['cookie'] == "true"){
	setcookie("project_taal", $taal, time()+3600);
}

header('Location: index.php');
?>

hij zou dus een uur sowieso moeten bestaan, helaas bestaat dit na 2 seconden al niet meer nadat ik de browser heb afgesloten. de sessie blijkt wel te werken.
 
Komt ie wel in de if terecht?

Haal die header eens weg en zet in de if een echo 'cookie moet geset worden'; (of iets anders, maakt niet veel uit. Als je maar even kunt zien of er inderdaad een de if ingegaan worden.

je kunt overigens ook if ( isset ( $_POST[ 'cookie' ] ) ) { gebruiken, want als de checkbox niet is aangevinkt dan wordt ie ook niet verstuurd.
 
ik was te lui voor die eerste controle, dus ben meteen even gaan kijken of die post van de cookie wel doorkwam. en waarempel: jouw mogelijkheid werkt dus wel! ik snap niet helemaal waarom mijn mogelijkheid dan niet werkte maar goed...

bedankt in ieder geval :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan