[php] session werkt niet
ik heb een twee bestanden gemaakt.
en daar werken de session 's niet.
ze worden niet ontvangen of verzonden.
hier zijn de scripts:
script 1:
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
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
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
<?php
// mysql inlog gegevens
$server = "localhost";
$database = "berichtbalk";
$user = "root";
$pass = "";
// mysql connect
mysql_connect($server,$user,$pass);
mysql_select_db(''.$database.'');
//script
echo "<form action=\"balklogin.php\" method=\"post\">";
echo "gebruikersnaam:<br>";
echo "<input type=\"text\" name=\"gb\"><br>";
echo "wachtwoord:<br>";
echo "<input type=\"password\" name=\"ww\"><br>";
echo "<input type=\"submit\" name=\"login\" value=\"login\">";
echo "</form>";
if(isset($_POST['login'])){
$ww = $_POST['ww'];
$gb = $_POST['gb'];
$vergelijkenc = "SELECT * FROM admin WHERE gb = '". $gb ."' AND ww = '". $ww ."'";
$vergelijke = mysql_query($vergelijkenc);
$aantal = mysql_num_rows($vergelijke);
if($aantal > 0){
$_SESSION['check'] = 'oke';
header("location: balkadmin.php");
}
else{
echo "uw wachtwoord en og gebruikersnaam zijn fout.";
}
}
?>
// mysql inlog gegevens
$server = "localhost";
$database = "berichtbalk";
$user = "root";
$pass = "";
// mysql connect
mysql_connect($server,$user,$pass);
mysql_select_db(''.$database.'');
//script
echo "<form action=\"balklogin.php\" method=\"post\">";
echo "gebruikersnaam:<br>";
echo "<input type=\"text\" name=\"gb\"><br>";
echo "wachtwoord:<br>";
echo "<input type=\"password\" name=\"ww\"><br>";
echo "<input type=\"submit\" name=\"login\" value=\"login\">";
echo "</form>";
if(isset($_POST['login'])){
$ww = $_POST['ww'];
$gb = $_POST['gb'];
$vergelijkenc = "SELECT * FROM admin WHERE gb = '". $gb ."' AND ww = '". $ww ."'";
$vergelijke = mysql_query($vergelijkenc);
$aantal = mysql_num_rows($vergelijke);
if($aantal > 0){
$_SESSION['check'] = 'oke';
header("location: balkadmin.php");
}
else{
echo "uw wachtwoord en og gebruikersnaam zijn fout.";
}
}
?>
</body>
</html>
script2:
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
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
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
<?php
if(isset($_SESSION['check'])){
echo $_SESSION['check'];
}
else{
echo "geen sessie";
}
// mysql inlog gegevens
$server = "localhost";
$database = "berichtbalk";
$user = "root";
$pass = "";
// connecten met de database
mysql_connect(''.$server.'',''.$user.'',''.$pass.'');
mysql_select_db(''.$database.'');
// het admin script
$lijst = "SELECT * FROM messages ORDER BY id DESC";
$weergeven = mysql_query($lijst);
while($gegevens = mysql_fetch_object($weergeven)){
if(isset($_POST['delete'. $gegevens->id .''])){
$del = "DELETE FROM messages WHERE id = '". $gegevens->id ."'";
mysql_query($del);
echo '<meta http-equiv=\'refresh\'content=\'0;URL=\'.$_SERVER[\'PHP_SELF\'].\'\'>';
echo '<noscript>klik op vernieuwen in uw web browser</noscript>';
}
echo "<form action=\"balkadmin.php\" method=\"post\">";
echo "<input type=\"submit\" name=\"delete". $gegevens->id ."\" value=\"delete\">";
echo "</form>";
echo "$gegevens->id $gegevens->naam $gegevens->mail $gegevens->bericht $gegevens->ip <BR>";
}
// einde admin script
?>
if(isset($_SESSION['check'])){
echo $_SESSION['check'];
}
else{
echo "geen sessie";
}
// mysql inlog gegevens
$server = "localhost";
$database = "berichtbalk";
$user = "root";
$pass = "";
// connecten met de database
mysql_connect(''.$server.'',''.$user.'',''.$pass.'');
mysql_select_db(''.$database.'');
// het admin script
$lijst = "SELECT * FROM messages ORDER BY id DESC";
$weergeven = mysql_query($lijst);
while($gegevens = mysql_fetch_object($weergeven)){
if(isset($_POST['delete'. $gegevens->id .''])){
$del = "DELETE FROM messages WHERE id = '". $gegevens->id ."'";
mysql_query($del);
echo '<meta http-equiv=\'refresh\'content=\'0;URL=\'.$_SERVER[\'PHP_SELF\'].\'\'>';
echo '<noscript>klik op vernieuwen in uw web browser</noscript>';
}
echo "<form action=\"balkadmin.php\" method=\"post\">";
echo "<input type=\"submit\" name=\"delete". $gegevens->id ."\" value=\"delete\">";
echo "</form>";
echo "$gegevens->id $gegevens->naam $gegevens->mail $gegevens->bericht $gegevens->ip <BR>";
}
// einde admin script
?>
</body>
</html>
robbert
echo $_SESSION['check'];
terwijl dat:
echo "".$_SESSION['check']."";
moet zijn.
hij weet niet wat hij moet echoën omdat het niet tussen haakjes staat.
Emile:
er staat:
echo $_SESSION['check'];
terwijl dat:
echo "".$_SESSION['check']."";
moet zijn.
hij weet niet wat hij moet echoën omdat het niet tussen haakjes staat.
echo $_SESSION['check'];
terwijl dat:
echo "".$_SESSION['check']."";
moet zijn.
hij weet niet wat hij moet echoën omdat het niet tussen haakjes staat.
Dat slaat echt werkelijk helemaal nergens op, ik verwijs je naar "Hoe werkt PHP Les 1"
Kijk eerst even naar de oplossing van PHPerik hieronder..
Weet je zeker dat je er info instopt? Controleer ook eens vlak nadat je hem set of hij bestaat. En dan op de volgende pagina weer.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
Ik vermoed dat het met output buffering te maken heeft. Ik zie geen flush.
@robbert: Werkt onderstaand scriptje wel gewoon naar behoren?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
session_start();
ob_start();
$_SESSION['check'] = 'oke';
echo $_SESSION['check'];
?>
session_start();
ob_start();
$_SESSION['check'] = 'oke';
echo $_SESSION['check'];
?>
Blanche, dat is niet dezelfde strekking want hier definieer je de variabele binnen dezelfde pagina. Je kunt ook gewoon een $_POST definiëren, maar dat betekent niet dat het echt een post-variabele is.
Maar als je het zeker wilt weten:
test1.php
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
session_start();
ob_start();
$_SESSION['check'] = 'oke';
header('location: test2.php');
?>
session_start();
ob_start();
$_SESSION['check'] = 'oke';
header('location: test2.php');
?>
test2.php
Code (php)
Edit:
typo
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
echo "uw wachtwoord en og gebruikersnaam zijn fout.";
og => of
[/OffTopic]
Als je echt wil testen knal je die nutteloze ob_start er gewoon uit...
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
session_start();
ob_start();
$_SESSION['check'] = 'oke';
echo $_SESSION['check'];
?>
session_start();
ob_start();
$_SESSION['check'] = 'oke';
echo $_SESSION['check'];
?>
die ob_start kan er niet uit want dan werkt mijn hele header() niet meer.
en dit testje wetrkt niet:
test1.php
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
session_start();
ob_start();
$_SESSION['check'] = 'oke';
header('location: test2.php');
?>
session_start();
ob_start();
$_SESSION['check'] = 'oke';
header('location: test2.php');
?>
test2.php
Code (php)
dus zou het aan mijn server liggen?
kan iemand mijn script voor mij testen?
mijn msn is [email protected].
ik gebruik een webserver met apache php 4 en mysql en dat zit allemaal bij elkaar in easy php.
robbert
Toevallig Zonealarm PRO geinstalleerd?
Toevallig Zonealarm PRO geinstalleerd?
jha ik gebruik zone alarm suite
man ik ben de heledag bezig geweest.
bedankt.
mag de server of de bezoeker geen zonealarm hebben?
en waar licht het precies aan?
wat blokkert zonealarm?
robbert
ik heb een orginele verzie.