Ik wil een script dat als je ingelogd bent er gelijk een nieuwe pagina wordt geopend. Maar het blijkt dat sessies verdwijnen als je met javascript een nieuwe venster opent....


Iemand een ideetje?


//Edit
Waarom staat ie in de koffie hoek -_-?
Lees is 2 posts hierboven.....


Das niet het hele script namelijk....
Master-Disaster schreef op 02.10.2004 19:13
Lees is 2 posts hierboven.....


Das niet het hele script namelijk....


zet er dan niet "dis mijn script" boven, maar "dit is een deel ervan" ofzo ...

Edit: ik zie trouwens nergens staan dat je dit vermeldt hebt...
Edit 2: idd veel beter :)
Ja, en als ik er gewoon inga, doet ie het ook (dus niet met nieuwe pagina)

Maar als ik erheen ga met <a href=fs target=_BLANK> doet ie het ook niet...


Als je er gewoon ingaat.. Hoe bedoel je?

Edit: nvm, ik moet dringend gaan slapen, ik zie maar de helft... anyway, normaal leven sessies door, tot ze vervallen, of tot je session_destroy(); gebruikt :)
Dit zijn mijn scripts:



---- Index.php
<?
session_start();
include("config.php");
?>


<FORM METHOD="POST" ACTION="login.php">
<table>

<tr>
<td colspan="2" align=CENTER><font size="2"><b>Login</b></font><br><br></td>
</tr>

<tr>
<td>Username:</td><td><INPUT TYPE="text" NAME="username"></td>
</tr>

<tr>
<td>Password:</td><td><INPUT TYPE="password" name="password"></td>
</tr>

<tr>
<td colspan="2" align=CENTER><br><INPUT TYPE="submit" value="Login"></td>
</tr>

</table>
</FORM>




---- Login.php
<?
session_start();
include("config.php");

$post_username = $_POST['username'];
$post_password = md5($_POST['password']);

echo "<font size=\"2\"><b>Login</b></font><br><br>";

if($_POST['username'] == "" OR $_POST['password'] == "")
{
echo "Je moet alles invullen...";
}
elseif($_POST['username'] != "" AND $_POST['password'] != "")
{
$start_login = mysql_query("SELECT * FROM gebruikers WHERE username = '".$post_username."' AND password = '".$post_password."'") or die(mysql_error());
if(mysql_num_rows($start_login) == 0)
{
echo "Ongeldige gebruikersnaam of wachtwoord.";
}
else
{
while($obj = mysql_fetch_object($start_login))
{
$username = $obj->username;
$rank = $obj->rank;
}

$_SESSION['username'] = $username;
$_SESSION['rank'] = $rank;
echo "<b>Succesvol ingelogd als ".$rank.".</b>";

if($rank == "admin")
{
?>
<script language="javascript">
window.open('./admin/index.php','Admin','scrollbars=yes,toolbar=no,location=no,resizable=yes');
</script>
<?
}
elseif($rank == "user")
{
?>
<script language="javascript">
window.open('./user/index.php','Admin','scrollbars=yes,toolbar=no,location=no,resizable=yes');
</script>
<?
}
}
}
else
{
echo "Hmm... Error!";
}

?>



---- Andere index.php
<?
session_start();
include("../config.php");

$username = $_SESSION['username'];
$rank = $_SESSION['rank'];

if($username == "")
{
echo $_SESSION['username']."<br>".$_SESSION['rank']."<br><br>";
echo "ERROR: NIET INGELOGD!!";
}
elseif($rank != "admin")
{
echo "ERROR: GEEN TOEGANG!!";
}
else
{
?>
hoi
<?
}
?>



Dat was het...
Door bvb met je javascript index.php?user=Usernaam te openen, dan in je nieuwe index een verbinding leggen, en kijken of hij degelijk admin is ... is maar een idee :)

Normaal werken je sessies daar ook, maar je script lijkt in orde, dus geen idee hoe dit kan...

Edit: de bovenstaande manier is totaal niet veilig, want als je dan zelf naar de link zou gaan, kan je een user aanpassen, omdat deze in GET zit...

Reageren