Archief - PHP: Prob met login scriptje

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

3razor

Legacy Member
Hellow,

ik ben reeds een tijdje bezig met een site voor clan en nu ben ik aan gekomen aan het script voor een admin die moet kunnen inloggen en zo enkele simpele aanpassingen moet kunnen doen zoals de uitslag van een gespeelde war toe te voegen aan de pagina WARS, eventueel een nieuwe member kan toevoegen maar die member toevoegen is bijkomstig.

nu heb ik een vraag ivm met mijn huidig script, het script werkt met sessions ... maar ik zou graag een 'log uit'-knop hebben en ook wel eens willen weten hoe ik dan simpel kan zorgen dat er een speciale pagina geladen wordt waar dan de nodige invoervakjes zijn om zo een uitslag toe te voegen ...

ik hoop dat er hier iemand, die er meer van kent dan ik, mij verder kan helpen...

zie hieronder mijn huidig inlogscriptje;

PHP:
<? ob_start();
   session_start();
 ?>
<html>
<head>
<title>Inloggen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<? 
include('config.php');

### begin controle ###
if ($_SESSION['Naam'] == $DataNaam && $_SESSION['Paswoord'] == md5($DataPaswoord)){echo"Je bent ingelogd.";}
elseif (isset($_COOKIE['Onthoud_cookie']))
{
list($CookieNaam ,$CookiePaswoord) = split("-", $_COOKIE['Onthoud_cookie']);
if ($CookieNaam == $DataNaam && $CookiePaswoord == md5($DataPaswoord))
{
$_SESSION['Naam'] = $DataNaam;
$_SESSION['Paswoord'] = md5($DataPaswoord);

header("Location: ".$_SERVER['PHP_SELF']."");

}
}
### einde controle ###
else{
if (isset($_POST['Submit']))
{

### Begin gegevens trimmen en coderen voor gebruike ###
$Naam = trim($_POST['Naam']);
$Paswoord = trim($_POST['Paswoord']);
### Einde gegevens trimmen en coderen voor gebruike ###

### Begin kijken of alles is ingevult ###
if ($Naam ==""){echo"Je moet een <B>naam</B> invullen";}
elseif ($Paswoord ==""){echo"Je moet een <B>paswoord</B> invullen";}
### Einde kijken of alles is ingevult ###

### Begin vergelijken ###
elseif ($Naam != $DataNaam || md5($Paswoord) != md5($DataPaswoord))
{
echo"Je paswoord of naam zijn foutief ingevult";
## begin in het logbestand schrijven ##
$dir = fopen ($Logbestand, "a");
fwrite ($dir, "".$error."");
fclose ($dir);
## einde in het logbestand schrijven ##
}
### Einde vergelijken ###

### Begin inloggen ###
else{

$_SESSION['Naam'] = $Naam;
$_SESSION['Paswoord'] = md5($Paswoord);

$dir2 = fopen ($Logbestand, "a");
fwrite ($dir2, "".$message."");
fclose ($dir2);

## begin cookie zetten ##
if ($_POST['Onthoud'] == 1){setcookie("Onthoud_cookie",$Naam."-".md5($Paswoord), time()+3600*24*31*12); 
}
## einde cookie zetten ## 

header("Location: ".$_SERVER['REQUEST_URI']."");
}
### Einde inloggen ### 
}
?>


<table border="0">
<form action="<? echo"".$_SERVER['PHP_SELF']."";?>" method="post" name="Inloggen">
<tr><td>Naam:</td><td><input name="Naam" type="text" maxlength="40"></td></tr>
<tr><td>Paswoord:</td><td><input name="Paswoord" type="password" maxlength="20"></td></tr>
<tr><td>&nbsp;</td><td><input name="Onthoud" type="checkbox" value="1"> Ingelogd blijven</td></tr>
<tr><td>&nbsp;</td><td><input name="Submit" type="submit" value="Log in"></td></tr>
</form>
</table>
<? } ?>
</body>
</html>

config.php: creeert eveneens een log-file, handig voor me :D

PHP:
<? 
### Naam en paswoord ###
$DataNaam="username";
$DataPaswoord="password";

### hoe moet het logbestand heten "met .txt" ###

$Logbestand="log.txt";

### error message ###


### begin Datum en tijd ###
$datum = date("j F Y"); 
$dagvanweek = date("l");  
$arraydag = array("Zondag", "Maandag", 
"Dinsdag", "Woensdag", "Donderdag",  
"Vrijdag", "Zaterdag"); 
$dagvanweek = $arraydag[date("w")]; 
$arraymaand = array("Januari", "Februari", 
"Maart", "April", "Mei",  
"Juni", "Juli", "Augustus", "September", 
"Oktober", "November", "December"); 
$datum = date("j ") . $arraymaand
[date("n") - 1] . date(" Y"); 

$tijd = date("H:i:s"); 

### einde datum en tijd ### 

### error message ###

$error="Iemand van ".$_SERVER['REMOTE_ADDR']." heeft zich foutief aangemeld op $datum, $tijd \n";

### log-in message ###

$message="$Naam heeft zich succesvol ingelogd via ".$_SERVER['REMOTE_ADDR']." op $datum, $tijd. onthouden = $Onthoud  \n"

?>

Ik hoop dus dat iemand me verder kan helpen

Alvast bedankt

Greetz

Bunz

Legacy Member
session_destroy() zou u moeten verder helpen, de tweede vraag is me te onduidelijk gesteld.

tikketim

Legacy Member
ik denk dat hij bedoeld hoe je een pagina moet includen ?

3razor

Legacy Member
ik had idd de session_destroy() al gevonden met bijhorende haakjes en andere leestekens maar ik vroeg me af waar ik het moest plaatsen in de code en hoe ik het moest laten aanspreken door een button (die button mag slechts verschijnen als de persoon in kwestie ingelogged is

is dit mss iets duidelijker :D

3razor

Legacy Member
killgore zei:
lees een php tutorial, wij zijn hier geen php klas.

manman moei je eens niet kerel ... waarvoor bestaat er anders een forum ... ik zou een deftig antwoord of een beetje hulp meer apprecieren dan zo'n reply hoor ... :s

tikketim

Legacy Member
mja hij heeft gelijk , over dit onderwerp staan er massa's tutorials op het net ..
moest je met een tutorial bezig zijn en je krijgt het nog niet aan de praat kan je mss nog eens terugkomen ..

killgore

Legacy Member
3razor zei:
manman moei je eens niet kerel ... waarvoor bestaat er anders een forum ... ik zou een deftig antwoord of een beetje hulp meer apprecieren dan zo'n reply hoor ... :s
om hulp te bieden als je vastzit ergens

niet om je php te leren

3razor

Legacy Member
dat is het net, ik zit vast,... ik weet niet waar ik die logout moet tussenschuiven, daarom dat ik hier ben ... ik zit al uren te googlen enzo en vind nog steeds niets die me verder helpt ... daarom dat ik hier eens kom vragen of iemand weet waar ik die code kan tussenzetten ...

tikketim

Legacy Member
maak gewoon een nieuwe pagina aan waat het volgende instaat :

<?php
session_destroy();
?>

killgore

Legacy Member
Meestal doe je zoiets:

if(isset($_SESSION["logged_in"]) && $_SESSION["logged_in"] === true)
{
//code voor log-out link
}

en dan die log out zoals tikketim zei

eventueel kan je via redirects em nog mooi terug laten gaan naar de pagina die de persoon in kwestie aan het bekijken was ;).

3razor

Legacy Member
zover was ik eigenlijk ook al maar ik vraag me dus eigenlijk gewoon af waar ik het moet tussenzetten om te zorgen dat die knop met code enkel zichtbaar wordt als je ingelogged bent en omgekeerd als je terug uitlogged dat de andere tabel met logon gegevens terug verschijnt ...

-----/Edit----

Tis ok bedankt voor de hulp
ik heb een andere oplossing voor mijn vraag :p gewoon een redirect naar andere adminpagina waar dan een knop staat om uit te loggen

... srry voor de 'ambetante' vragen :p

Thx :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan