Problemer med SESSION
Når jeg trykker på et link der får en fil til at blive included ændre $_SESSION[username] sig - Hvis det har betydning ændre den sig til den første bruger i systemet.Menu:
<?
include("mysql.php");
$profilinfo = mysql_query("select id, hold from brugersystem_profiler WHERE username = '$_SESSION[username]'");
while($r=mysql_fetch_array($profilinfo)){
include("logout.php");
echo "Bruger: <b>$_SESSION[username]</b><br /><br />";
echo "<a href=\"?side=rediger_profil&username=$_SESSION[username]\" class=\"Link\">Rediger Profil</a><br />";
echo "<a href=\"?side=rediger_clan&hold=$r[hold]\" class=\"Link\">Rediger Clan</a><br />";
echo "<a href=\"?side=skriv_besked&username=$_SESSION[username]\" class=\"Link\">Skriv Besked</a><br /><br />";
}
$antalinput = mysql_query("select count(*) as antal from brugersystem_beskeder where modtager='$_SESSION[username]' AND ny='1'") or die(mysql_error());
while($row=mysql_fetch_array($antalinput)){
echo("Inbox: <a href=\"?side=inbox&username=$_SESSION[username]\" class=\"Link\">$row[antal]</a>");
}
?>
<br /><form action="<?php $PHP_SELF ?>" method="post">
<input type="submit" name="logout" value="Log Ud" class="Button">
--------------------
fejlen sker når jeg trykker på dette link:
echo "<a href=\"?side=skriv_besked&username=$_SESSION[username]\" class=\"Link\">Skriv Besked</a><br /><br />";
og dette bliver includet:
<?
if (isset($_SESSION[username])) {
if($_POST['send_besked'])
{
if($_POST[modtager] == $_SESSION[username]) {
echo "Du kan ikke sende en besked til dig selv";
} else {
include("mysql.php");
$afsender = addslashes($_SESSION[afsender]);
$besked = addslashes($_POST[besked]);
$emne = addslashes($_POST[emne]);
$sql = mysql_query("INSERT INTO brugersystem_beskeder SET modtager='$_POST[modtager]',
afsender='$_SESSION[username]',
besked='$_POST[besked]',
emne='$_POST[emne]',
dato=NOW()") or die(mysql_error());
if($sql) {
echo "<span>Beskeden er nu sendt !</span><br /><br />";
}
}
}
if ($_GET['username']) {
$skriv_besked = mysql_query("select * from brugersystem_profiler WHERE username ='$_SESSION[username]'");
while($r=mysql_fetch_array($skriv_besked)){
extract($r);
}
?>
<form action="?side=skriv_besked&username=<? echo "$_SESSION[username]"; ?>" method="post">
<table border="0" cellpadding="0" cellspacing="5">
<tr>
<td colspan="2" class="HeadlineFont"><? echo "$_SESSION[username]"; ?></td>
</tr>
<tr>
<td colspan="2"><hr /></td>
</tr>
<tr>
<td><b>Modtager:</b></td>
<td>
<select class="Input" name="modtager">
<?
include("../mysql.php");
$getinfo = mysql_query("select * from brugersystem_profiler order by username asc");
while($r=mysql_fetch_array($getinfo)){
extract($r);
echo "<option value=\"$username\">$username</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td><b>Emne:</b></td>
<td><input type="text" class="Input" name="emne" size="25"></td>
</tr>
<tr>
<td><b>Besked:</b></td>
<td><textarea class="Input" name="besked" rows="15" cols="55"></textarea></td>
</tr>
<tr> <td></td>
<td><input class="Button" type="submit" name="send_besked" value="Opdater"></td>
</tr>
</table>
</form>
<?
} else {
echo "Profil ikke fundet";
}
} else {
echo "Du har ikke rettighederne til denne side";
}
?>
Som sagt så ændre den hvad sessionen er sat til, jeg har prøvet at side og rode med det.
Det skal dog siges, at dette ikke sker når jeg kører det lokalt på min maskine, men først når jeg kører den via mit webhotel !
Håber i kan hjælpe