Hallo allemaal,
Ik ben op zoek naar een simpel, maar goed werkend scrptje om (html) te beveiligen met een login.
Denk dat bovenin de hml pag. iets moet komen van session(check) oid
Het inloggen kan dus alleen als je de correcte gebrukersnaam en ww uit de MySQL hebt ingevoerd
om php te draaien kan je niet zomaar net als je html bestanden openen vanaf een willekeurige locatie.. hier moet je een soort van 'webserver' zoals xampp installeren.
<?php
if (!session_is_registered('loginid') || !session_is_registered('username'))
{
// user is not logged in.
if (isset($_POST['cmdlogin']))
{
// retrieve the username and password sent from login form
// First we remove all HTML-tags and PHP-tags
// This step will make sure the script is not vurnable to sql injections.
$u = strip_tags($_POST['username']);
$p = strip_tags($_POST['password']);
//Now let us look for the user in the database.
$query = sprintf("SELECT loginid FROM login WHERE username = '%s' AND password = '%s' LIMIT 1;",
mysql_real_escape_string($u), mysql_real_escape_string($p));
$result = mysql_query($query);
// If the database returns a 0 as result we know the login information is incorrect.
// If the database returns a 1 as result we know the login was correct and we proceed.
// If the database returns a result > 1 there are multple users
// with the same username and password, so the login will fail.
if (mysql_num_rows($result) != 1)
{
// invalid login information
echo "Verkeerde lidcode of logincode ingevoerd!<br><br>";
echo "Gegevens vergeten? Neem even contact op met de webmaster.";
//show the loginform again.
include "loginform.php";
} else {
// Login was successfull
$row = mysql_fetch_array($result);
// Save the user ID for use later
$_SESSION['loginid'] = $row['loginid'];
// Save the username for use later
$_SESSION['username'] = $u;
// Now we show the userbox
show_userbox();
}
} else {
// User is not logged in and has not pressed the login button
// so we show him the loginform
include "loginform.php";
}
} else {
// The user is already loggedin, so we show the userbox.
show_userbox();
}
?>
Er stonden geen code-tags... Stond wel [ plaatscode=php]; deze dient echter om een link naar www.plaatscode.be te posten; niet om code in te voeren. Rond php-codes kan je [code ] en [/code] plaatsen om deze te laten weergeven in een code-blok.
Kan je trouwens eventjes vermelden WAT er niet werkt aan dit script? Welke foutmelding krijg je? ...?
Sorry, net nieuw op dit forum. Ik heb inmiddels een login script, die data uit mySQL "checked" , alles werkt, maar nu zou ik willen weten, hoe kan ik nu bepaalde pagina's een code meegeven.
Als ik bv
ik denk persoonlijk dat de TS nog geen php kennis heeft, ik zou aanraden om direct een kant en klaar login scriptje te zoeken of zelf php leren en er een te maken
Warning
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
Citaat:
Caution
If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().
Maw; session_is_registered('session') gebruik je beter niet meer en kan vervangen worden door isset($_SESSION['session']).
Wim
//edit:
Als je de functie "show_userbox();" probeert aan te roepen in je script; wordt deze uitgevoerd of niet?
Zo ja -> de sessions worden geregistreerd; de gebruiker is ingelogd
zo nee -> de gebruiker wordt nooit ingelogd, in dat geval zit er een fout in het script dat je eerder gaf.