Het lukt me niet om een uitlog button toe te voegen.

Hoe moet ik dit toepassen in dit script?


<?php
session_start(); //Zorg dat deze weer bovenin staat!

if ((($_POST['naam'] == "") && ($_POST['wachtwoord'] == "")) OR $_SESSION['login']) {
$_SESSION['login'] = TRUE;
//Als het wachtwoord goed is laat dan de resultaten zien


	$query = 'SELECT * FROM partnernaam ORDER BY achternaam';
	$result = mysql_query($query) or die ("Sorry maar ik kan de partnernaam niet weergeven");
	
	while($row = mysql_fetch_object($result)){
	?>
<table width="450" border="0" align="center" cellpadding="0" cellspacing="0">
	<tr>
		<td><?php echo ''.$row->naam_id.'&nbsp;'.$row->voornaam.'&nbsp;'.$row->achternaam.''; ?></td>
	</tr>
	<tr>
		<td>
		<?php
	$querygegevens = 
	'SELECT
	pn.*,
	pg.*
	FROM partnernaam AS pn
	JOIN
	partnergegevens AS pg
	ON pn.naam_id = pg.naam_id
	GROUP BY pg.naam_id
	ORDER BY pn.achternaam';
	$resultgegevens = mysql_query($querygegevens) or die ("Sorry maar ik kan de partnergegevens niet weergeven");
	
	while($rowgegevens = mysql_fetch_object($resultgegevens)){
	?>
	<table width="450" border="0" align="center" cellpadding="0" cellspacing="0">
        	<tr>
        		<td><?php echo $rowgegevens->websitenaam ; ?></td>
        		<td><?php echo '<a href="'.$rowgegevens->url.'" target="_blank">'.$rowgegevens->url.'</a>' ; ?></td>
        		</tr>
        	<tr>
        		<td><?php echo '<a href="mailto:'.$rowgegevens->email.'" target="_blank">'.$rowgegevens->email.'</a>' ; ?></td>
        		<td><?php echo '<a href="'.$rowgegevens->url_terug.'" target="_blank">'.$rowgegevens->url_terug.'</a>' ; ?></td>
        		</tr>
        	<tr>
        		<td><?php echo 'Toegevoegd:&nbsp;'.$rowgegevens->datum ; ?></td>
        		<td><?php echo 'Ingeschreven nieuwsbrief:&nbsp;'.$rowgegevens->nieuwsbrief ; ?></td>
        		</tr>
        	<tr>
        		<td><?php echo 'Categorie:&nbsp;'.$rowgegevens->cat_id ; ?></td>
        		<td><?php echo 'SubCategorie:&nbsp;'.$rowgegevens->sub_id ; ?></td>
        		</tr>
        	</table>
			<?php
			} //einde binnenste while lus
			?></td>
	</tr>
</table>
<?php
} //einde buitenste while lus
}else{

?>
<form name="form1" id="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" >
	<table width="350" height="150" border="0" align="center" cellpadding="4" cellspacing="0" class="tabellogin">
    	<tr bgcolor="#CCCCCC">
    		<td height="15" colspan="2"><h1>Login Scherm Admin </h1></td>
   		</tr>
    	<tr>
    		<td><strong>Naam:</strong></td>
    		<td><input name="naam" type="text" size="20" maxlength="20" /></td>
   		</tr>
    	<tr>
    		<td><strong>Wachtwoord:</strong></td>
    		<td><input name="wachtwoord" type="password" size="20" maxlength="10" /></td>
   		</tr>
		<tr align="center">
    		<td colspan="2"><input name="submit" type="submit" value="Inloggen" /></td>
   		</tr>
   	</table>
</form>
<?php
}
?>
Ik heb het allebei geprobeerd maar er is niets veranderd.
Ik geloof dat hij het nu doet, ik had iets niet buiten de if geplaatst.

<?php
session_start(); //Zorg dat deze weer bovenin staat!
error_reporting(E_ALL);

$_SESSION = array();

if(isset($_GET['uitloggen']) && isset($_SESSION['login'])){

session_destroy();//vernietig sessie
}elseif ((($_POST['naam'] == "") && ($_POST['wachtwoord'] == "")) OR $_SESSION['login']) {
$_SESSION['login'] = TRUE;
//Als het wachtwoord goed is laat dan de resultaten zien

echo '<a href="?uitloggen" name="uitloggen">Log Uit</a><br />';
?>
Nou logt ie altijd uit volgens mij. Je maakt de sessie al leeg voordat je weet of er wel moet worden uitgelogd.
Uhm, is dit niet goed dan?

Als ik nu inlog zie ik de gegevens.
Als ik dan uitlog door op de link te klikken kom ik hier terecht: http://www.kijk-vergelijk.nl/?uitloggen

Als ik dan weer op het puntje (nu admin) klik moet ik weer opnieuw inloggen. Dus volgens mij werkt het nu goed.
Ja, maar log nu eens in en blijf je dan ook ingelogd totdat jij op die link klikt?
Elsy schreef op 18.02.2007 16:02
Uhm, is dit niet goed dan?
Maar blijf je ook ingelogd als je naar een andere pagina gaat of bijvoorbeeld de pagina refresht?
@SanThe
Ik blijf ingelogd totdat ik uitlog dmv de link

@Blanche
Als ik refresh blijf ik ingelogd maar als ik op een andere link in het menu klik dan moet ik opnieuw inloggen.

Dit wordt natuurlijk een probleem als ik meerdere partners erin heb staan en dus met paginanummering ga werken.
Dus toch maar in de if() zetten.
Waar ik hem ook neer zet in de if of ifelse, het werkt niet meer.

Als ik op een andere link in het menu klik ben ik nog wel ingelogd.
Maar het uitloggen werkt niet meer, ik blijf ingelogd.

<?php
session_start(); //Zorg dat deze weer bovenin staat!

if(isset($_GET['uitloggen']) && isset($_SESSION['login'])){
$_SESSION = array();
session_destroy();//vernietig sessie

}elseif ((($_POST['naam'] == "") && ($_POST['wachtwoord'] == "")) OR $_SESSION['login']) {
$_SESSION['login'] = TRUE;

//Als het wachtwoord goed is laat dan de resultaten zien

echo '<a href="?uitloggen" name="uitloggen">Log Uit</a><br />';
?>
Waar staat die code? In de index?

Reageren