vreemd probleem
Code (php)
1
<? while (list($fid, $fa_id, $sender, $ipsender, $date, $topsub, $topinfo, $lactivity, $locked, $hidden) = mysql_fetch_row($result)){ //bla bla } ?>
Script:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
session_start();
if($_SESSION['fa_id'] != "0" AND $_SESSION['fa_id'] != "") {
echo "SESSIE 1: ".$_SESSION['fa_id'];
//order
$gorder = htmlspecialchars($_GET['order']);
?>
session_start();
if($_SESSION['fa_id'] != "0" AND $_SESSION['fa_id'] != "") {
echo "SESSIE 1: ".$_SESSION['fa_id'];
//order
$gorder = htmlspecialchars($_GET['order']);
?>
<script language="JavaScript">
function forum(id)
{
var load = window.open('forums/family/index.php?id='+id,'','scrollbars=yes,menubar=no,height=500,
width=700,resizable=no,toolbar=no,location=no,status=no,top=100,left=100');
}
</script>
<table cellpadding="3" cellspacing="0" class="menu-news">
<tr>
<td class="top-menutb" colspan="5">Family Forum Topics:</td>
</tr>
<tr>
<td><div align="left"><strong>Subject:</strong></div></td>
<td><div align="left"><strong>Started by:</strong></div></td>
<td><div align="left"><strong>Starting date: </strong></div></td>
<td><div align="left"><strong>Last Activity: </strong></div></td>
<td><div align="left"><strong>Reactions:</strong></div></td>
</tr>
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
echo "SESSIE 2: ".$_SESSION['fa_id'];
$i = 0;
if ($gorder == 2) {
$result = mysql_query("SELECT * FROM `topicsfforum` WHERE `fa_id` = '".$_SESSION['fa_id']."' ORDER by `date` DESC");
}
elseif ($gorder == 3) {
echo "SESSIE 3: ".$_SESSION['fa_id'];
$result = mysql_query("SELECT * FROM `topicsfforum` WHERE `fa_id` = '".$_SESSION['fa_id']."' ORDER by `lactivity` DESC");
}else{
echo "SESSIE 4: ".$_SESSION['fa_id'];
$result = mysql_query("SELECT * FROM `topicsfforum` WHERE `fa_id` = '".$_SESSION['fa_id']."' ORDER by `topsub` ASC");
}
echo "SESSIE 5: ".$_SESSION['fa_id'];
while (list($fid, $fa_id, $sender, $ipsender, $date, $topsub, $topinfo, $lactivity, $locked, $hidden) = mysql_fetch_row($result)){
$date2 = date ("d-m-Y G:i:s", $date);
$lactivity2 = date ("d-m-Y G:i:s", $lactivity);
$reactions = mysql_query("SELECT count(fid) FROM `fforum` WHERE `fid` = '$fid' && `fa_id` = '".$_SESSION['fa_id']."'") ;
$reactions2 = mysql_result($reactions, 0);
?>
echo "SESSIE 2: ".$_SESSION['fa_id'];
$i = 0;
if ($gorder == 2) {
$result = mysql_query("SELECT * FROM `topicsfforum` WHERE `fa_id` = '".$_SESSION['fa_id']."' ORDER by `date` DESC");
}
elseif ($gorder == 3) {
echo "SESSIE 3: ".$_SESSION['fa_id'];
$result = mysql_query("SELECT * FROM `topicsfforum` WHERE `fa_id` = '".$_SESSION['fa_id']."' ORDER by `lactivity` DESC");
}else{
echo "SESSIE 4: ".$_SESSION['fa_id'];
$result = mysql_query("SELECT * FROM `topicsfforum` WHERE `fa_id` = '".$_SESSION['fa_id']."' ORDER by `topsub` ASC");
}
echo "SESSIE 5: ".$_SESSION['fa_id'];
while (list($fid, $fa_id, $sender, $ipsender, $date, $topsub, $topinfo, $lactivity, $locked, $hidden) = mysql_fetch_row($result)){
$date2 = date ("d-m-Y G:i:s", $date);
$lactivity2 = date ("d-m-Y G:i:s", $lactivity);
$reactions = mysql_query("SELECT count(fid) FROM `fforum` WHERE `fid` = '$fid' && `fa_id` = '".$_SESSION['fa_id']."'") ;
$reactions2 = mysql_result($reactions, 0);
?>
<tr>
<td><div align="left"><a href="javascript:forum()"></a></div></td>
<td><div align="left"></div></td>
<td><div align="left"></div></td>
<td><div align="left"></div></td>
<td><div align="left"></div></td>
</tr>
<tr>
<td colspan="5"> </td>
</tr>
<tr>
<td colspan="5">Sort on : <a href="index.php?open=fforum&order=1">Topic Name</a> | <a href="index.php?open=fforum&order=2">Posting Date </a> | <a href="index.php?open=fforum&order=3">Last Activity</a></td>
</tr>
</table>
<a href="index.php?open=fforum&function=newtopic">Add New Topic</a> | <a href="index.php?open=fforum&function=searchtopic">Search for Topic</a>
<BR><BR><BR>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
if(isset($_GET['function'])) {
$function = htmlspecialchars($_GET['function']);
if($function == "newtopic") {
include('forums/family/newtopic.php');
}
elseif($function == "poll") {
include('forums/family/addpoll.php');
}
elseif($function == "searchtopic") {
include('forums/family/searchtopic.php');
}else{}
}
}else{
echo "<BR><div align=\"center\"><font color=\"red\"><strong>wat weergeven.</strong></font><div>";
}
?>
if(isset($_GET['function'])) {
$function = htmlspecialchars($_GET['function']);
if($function == "newtopic") {
include('forums/family/newtopic.php');
}
elseif($function == "poll") {
include('forums/family/addpoll.php');
}
elseif($function == "searchtopic") {
include('forums/family/searchtopic.php');
}else{}
}
}else{
echo "<BR><div align=\"center\"><font color=\"red\"><strong>wat weergeven.</strong></font><div>";
}
?>
Gewijzigd op 05/03/2006 16:39:00 door Sander
Niemand een idee?
maar dat eerste lijstje zorgt ervoor dat je iets de database instuurt, niet dat je een session aanmaakt,
als dat niet is waar de session zou moeten ontstaan, dan moet je dat deel van een ander script ook maar ff posten,
kun je btw ff die lange
window.open regel in twee of drie regels hakken, hij verpest de hele lay-out
want als je geen PHP 5 hebt is jou manier van de session inschrijven niet mogelijk, dan moet je als volgt te werk gaan:
Dat is het niet anders zou die hem niet 5x echoën en de 6de keer niet, zoals ik in het script doe om het te testen.
waarom zou je vijf keer het op willen roepen?
ik denk dat je in jou geval sneller met PHP kunt ORDnen:P
ipv 5 sql query's, belast je je db ook minder
Gijs:
welke PHP versie heb je?
want als je geen PHP 5 hebt is jou manier van de session inschrijven niet mogelijk...
want als je geen PHP 5 hebt is jou manier van de session inschrijven niet mogelijk...
Euhm, Gijs, het is sinds versie 4.1 (1999 ongeveer?) Die manier die jij voorstelde wordt ten alle tijden afgeraden tegenwoordig.
Jouw probleem komt denk ik door superglobals. Je gebruikt de sessie $fa_id maar in die list() zit ook een $fa_id. Die overschijven elkaar waarschijnlijk. Probeer het eens met een van beiden een andere naam.
Gewijzigd op 05/03/2006 17:02:00 door Jelmer -
ok zal ik proberen, ik ben hem ook aan het overzetten naar een andere server, want in deze server die ik gebruik zitten vaker rare kuren. Ik laat het weten.
Het is gelukt, het kwam omdat de naam van de sessie en de variable het zelfde waren. Wel een beetje vreemd!
Waarwschijnlijk omdat register_globals aan staat. Voor iedere $_SESSION[$naam] wordt dan een reverence gemaakt ${$naam}, en dus waneer je ${$naam} aanpast, pas je eigenlijk de waarden van $_SESSION[$naam] aan.