edit: sorry in verkeerde categorie geplaatst! :|
Hoi ik heb het simpel inlogscriptje volgens de tutorial hier op phphulp gebruikt: http://www.phphulp.nl/php/tutorials/8/155/
Dat werkt met wat kleine aanpassingen prima. echter heb ik nu een gek probleempje en kom er niet achter wat nu de fout is.
Na het invullen van gebruikersnaam en password wordt op de pagina login_2.php gechecked of de gebruike en het ww kloppen. Zo niet krijgt men een melding. In onderstaand script wordt er dan eenregel tekst getoond met een link naar de pagina terug (java script).
Dit werkte eerst prima maar door wellicht iets te veel weggehaald te hebben in het script nu dus niet meer. De $text wordt wel getoond maar niet de java link terug?
Wie ziet de fout. Thanks. Is dit script overigens bij gebruik door slechts een enkele admin gebruiker veilig genoeg? Of moet er nog wat verbeterd worden? Ik heb de zelfde opzet aangehouden als in de tutto:
inlog pagina
verwerk de inlog in inlog_2.php
beveiliging op de beveiligde pagina
uitlog pagina
mysql db met wachtwoorden
<?php
ob_start();
?>
<?php session_start();?>
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
?>
<?php
if(!empty($_POST)){
include("connect.php");
$query = "SELECT * FROM users WHERE email='" . $_POST["email"] ."' AND wachtwoord='". $_POST["wachtwoord"] . "'";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0){
$user = $_POST["email"];
$wachtwoord = $_POST["wachtwoord"];
$_SESSION['user'] = $user;
$_SESSION['wachtwoord'] = $wachtwoord;
header("Location: admin_cms.php");
exit();
}
else {
// hier gaat denk ik iets fout?
$text = "U hebt geen goede combinatie van emailadres en wachtwoord gebruikt! <A onclick='javascript: window.back();'>Ga terug</A>";
die($text);
} }
else{
//pagina verkeerd aangeroepen
header("Location: login.php");
}?>
<?php
ob_end_flush();
?>
@Dennis Vraag ik mezelf ook wel eens af :) Maar het staat er zo omdat ik het script in een pagina gebruik en de betreffende items zover ik egrrep altijd als eerste op de pagina dienen te staan.
@Kevin
Het werkt nog niet helaas. Krijg nu de melding naam en wachtwoord niet goed
Waarom geef je het dan als het niet gebruikt moet worden?
Geef dan gewoon de correcte code.
En waarom nou weer ''. aan het begin van een echo.
De waarde van de post email in de variabele user kopieren. Hetzelfde met de variabele wachtwoord.
En een geheel onnodige variabele aanmaken genaamd text die je alleen met de die mee geeft... ???
Natuurlijk geen gebruikers gegevens mee geven in de session. Gewoon het user id, en hash code die ook wordt opgeslagen in de database. Hierdoor wordt het ook onmogelijk om op 2 plekken tegelijk ingelogd te zijn, omdat er maar 1 hash code is.
mijn db code:55b5761037b8c0d230b8
de code uit het script: 55b5761037b8c0d230b8fa02d81f8814
over de veiligheid van de code:
Is het dan niet handiger om iets beters te maken van dit script? Nu ben ik wel leuk bezig maar als het niet veilig is heb ik of een ander er niet veel aan? Zoals ik helemaal aan het begin aangegeven heb, heb ik dit opgebouwd aan de hand van de tutorial. Die is dan wellicht aan vervanging toe (delete)?
Heb inmiddels dit script in een site ingebouwd, jammer als nu alles weer helemaal opnieuw moet. :|