uitloggen
ottorocket - 21/08/2006 22:31
Onbekend
ik probeer nu een uitlog functie te maken, maar die werkt niet echt, ik dacht gewoon session_destroy() gebruiken, maar dat lukt niet echt, weet iemand wat ik wel moet gebruiken?
function add($user) {
$r = mysql_query("SELECT * FROM `users` WHERE `name` = '".$user."'");
if (mysql_num_rows($r) == 0) {
mysql_query("INSERT INTO `users` VALUES ('', '".$user."', '".mktime()."', '#000000 ');");
$r = mysql_query("SELECT * FROM `users` WHERE `name` = '".$user."'");
$a = mysql_fetch_array($r, MYSQL_ASSOC);
$_SESSION['userId'] = $a['id'];
$_SESSION['name'] = $user;
}
}
function uitloggen() {
session_destroy();
}
function add( $user ) {
$r = mysql_query ( "SELECT * FROM `users` WHERE `name` = '" . $user . "'" ) ;
mysql_query ( "INSERT INTO `users` VALUES ('', '" . $user . "', '" . mktime ( ) . "', '#000000 ');" ) ; $r = mysql_query ( "SELECT * FROM `users` WHERE `name` = '" . $user . "'" ) ; $_SESSION [ 'userId' ] = $a [ 'id' ] ;
$_SESSION [ 'name' ] = $user ;
}
}
function uitloggen( ) {
}
11 antwoorden
Gesponsorde links
Tuinstoel - 21/08/2006 22:34
PHP expert
session_start(); vergeten, verkeerde manier van oproepen? Het kan zoveel zijn als je niet duidelijk bent... Maar waarom doe je daarvoor in godsnaam een aparte functie, je schiet er echt geen ruk mee op, en ga nu niet vragen waarom want dan ben je niet echt al te slim bezig.
ottorocket - 21/08/2006 22:35
Onbekend
wrm ben ik niet slim bezig??
en session_start wordt wel gebruikt, dit is de chatbox van hier op sitemaster bij AJAX scripts, ik wou er een logout functie bij maken
Tuinstoel - 21/08/2006 22:37 (laatste wijziging 21/08/2006 22:37)
PHP expert
Je bent dom bezig omdat je slechts één enkele handeling in een functie zet, dus het is zo dubbelop om session_destroy() (wat immers een functie is) in een andere functie te zetten terwijl je ook gewoon session_destroy(); direct kunt gebruiken.
Edit:
Oja en dan nog een vraagje, hoe vraag jij je functies op?
ottorocket - 21/08/2006 22:42
Onbekend
ok bedankt, maar er moet nog vanalles bij, bv user uit db verwijderen
zo vraag ik hem op
<form><input type="submit" value="uitloggen" onClick="return uitloggen();"></form>
Tuinstoel - 21/08/2006 22:43
PHP expert
't Is geen javascript, do I have to say more?
ottorocket - 22/08/2006 10:43
Onbekend
ja, hoe moet ik het dan wel goed doen?
groenie - 22/08/2006 11:00
Nieuw lid
(ik denk dat je nu een verkeerde vraag gesteld hebt;-) ) waarschijnlijk ga je nu als antwoord krijgen: lees de tutorials;)
Rik - 22/08/2006 11:16 (laatste wijziging 22/08/2006 11:17)
Crew algemeen
Zo moet je die aanroepen:
In Server.php voeg je na dit
<?php
elseif ($_GET['type'] == 'msg') {
add($_SESSION['name']);
update($_SESSION['name']);
addMsgInDb($_SESSION['name'], strip_tags($_GET['msg']), '#000000', $type=$_GET['type']);
}
?>
<?php
elseif ( $_GET [ 'type' ] == 'msg' ) {
add( $_SESSION [ 'name' ] ) ;
update( $_SESSION [ 'name' ] ) ;
addMsgInDb
( $_SESSION [ 'name' ] , strip_tags ( $_GET [ 'msg' ] ) , '#000000' , $type = $_GET [ 'type' ] ) ; }
?>
Dit toe:
<?php
elseif ($_GET['type'] = 'logoff') {
session_destroy();
}
?>
<?php
elseif ( $_GET [ 'type' ] = 'logoff' ) {
}
?>
En in javasript in index.php maak je d'r een functie bij:
function uitloggen()
{
xmlHttpGo('', 'server.php?type=logoff')
}
function uitloggen( )
{
xmlHttpGo( '' , 'server.php?type=logoff' )
}
Zoiets zou moeten werken.
Edit:
Ik heb het niet getest dus fouten voorbehouden.
ottorocket - 22/08/2006 11:26
Onbekend
uitloggen werkt nu wel, maar als ik nu inlog krijg ik altijd dit bericht
Bob: No name set!
er is dus geen naam ingevuld
Rik - 22/08/2006 12:40
Crew algemeen
Dat kom door dit sukje:
<?php else {
echo '<b>Bob</b>: No name set!<br>';
}
?>
<?php else {
echo '<b>Bob</b>: No name set!<br>' ; }
?>
Helemaal onderaan bij server.php, anders moet je daar ff naar kijken hoe dat werkt.
ottorocket - 22/08/2006 16:52
Onbekend
maar volgens mij wordt die functie constant uitgevoerd, want als je inlogd met een naam, gaat die naam direct weg
Gesponsorde links
Dit onderwerp is gesloten .