header locatie opgeven na session
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?
ob_start();
if (!isset($_GET['msg_int_id']) && !is_numeric($_GET['msg_int_id']))
{
header("location: index.php?msg_int_id=24?id=0");
echo 'url doorgestuurd';
}
else
{
echo 'url niet door gestuur';
}
ob_end_flush();
?>
ob_start();
if (!isset($_GET['msg_int_id']) && !is_numeric($_GET['msg_int_id']))
{
header("location: index.php?msg_int_id=24?id=0");
echo 'url doorgestuurd';
}
else
{
echo 'url niet door gestuur';
}
ob_end_flush();
?>
maar ik krijg dan de melding
url niet door gestuur
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /usr/home/n1087/domains/ubee-ht.nl/public_html/fysio/index.php:12) in /usr/domains/ubee.nl/public_html/fysio/includes/functions.php on line 1
dit komt geloof ik door dat ik in mijn header al een session heb staan. Hoe kan ik het probleem nou wel oplossen?
iemand een idee?
session_start() wordt een header verzonden, en dat mag alleen als er voor dat punt nog geen normale data is verzonden.
Kennelijk is er al data naar je scherm verzonden (al is het een spatie/enter o.i.d.). Dat kun je voorkomen door de session_start() verder naar boven te schuiven in je code, of je code te controleren dat er niets meer wordt geoutput.
Merk op dat enters/spaties voor en na de php-code-blokken ook als output worden gezien..
Bij Kennelijk is er al data naar je scherm verzonden (al is het een spatie/enter o.i.d.). Dat kun je voorkomen door de session_start() verder naar boven te schuiven in je code, of je code te controleren dat er niets meer wordt geoutput.
Merk op dat enters/spaties voor en na de php-code-blokken ook als output worden gezien..
Ik snap eigenlijk niet wat de bedoeling is van dit stukje script.
Oke het probleem is dat als er geen msg_int_id aanwezig is in de url ik foutmeldingen in mijn scrip krijg omdat om meerder plekken hier wel om gevraacht wordt. Dus ik wil er voor zorgen dat de msg_int_id altijd aanwezig is. Is hier mischien andere oplossing voor?
Volgende functie net via tips van phpfreakz samengesteld:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
function setBrowserVar($type, $key, $default = ''){
$type = strtoupper($type);
$key = strtolower($key);
switch ($type) {
case 'GET':
return (isset($_GET[$key]) && !empty($_GET[$key]))? $_GET[$key] : $default;
break;
case 'POST':
return (isset($_POST[$key]) && !empty($_POST[$key]))? $_POST[$key] : $default;
break;
default:
return $default;
break;
}
}
$sSub = setBrowserVar('get', 'sub', 'default waarde'); // check of $_GET['sub'] bestaat en maak $sSub aan
echo $sSub;
?>
function setBrowserVar($type, $key, $default = ''){
$type = strtoupper($type);
$key = strtolower($key);
switch ($type) {
case 'GET':
return (isset($_GET[$key]) && !empty($_GET[$key]))? $_GET[$key] : $default;
break;
case 'POST':
return (isset($_POST[$key]) && !empty($_POST[$key]))? $_POST[$key] : $default;
break;
default:
return $default;
break;
}
}
$sSub = setBrowserVar('get', 'sub', 'default waarde'); // check of $_GET['sub'] bestaat en maak $sSub aan
echo $sSub;
?>
ziet er leuk uit, maar zou je hem ook kunnen toe lichten. Ik zie nog niet helemaal hoe ik hem kan gebruiken.
Als er gepost is pak je die anders de standaard
Als er op een link is geklikt is pak je die anders de standaard
anders pak je de standaard.
Uit zijn scriptje heb jij iig de functie isset() nodig
Gewijzigd op 01/01/1970 01:00:00 door net-marker
In mijn voorbeeldje wordt de variabele $sSub aangemaakt. Deze krijgt de waarde van $_GET['sub'] als deze variabele bestaat, anders de default 'default waarde'. Nu weet je dus zeker dat $sSub bestaat en een waarde heeft gekregen waar jij in de rest van je script wat mee kunt doen.
A oke ik snap het. bedankt
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
if (isset($_GET['id']) && is_numeric($_GET['id']) && ($_GET['id'] >0))
{
$msg_int_id = $_GET['msg_int_id'];
}
else
{
$msg_int_id ="1";
}
?>
if (isset($_GET['id']) && is_numeric($_GET['id']) && ($_GET['id'] >0))
{
$msg_int_id = $_GET['msg_int_id'];
}
else
{
$msg_int_id ="1";
}
?>
dat is toch veel korter. Of is hier iets niet goed aan?