leuk
leku dat je dit wil
1 ten eerste zet je codes ff in de php tag van helpmij op deze mannier
PHP:
<?php
session_start();
// 1. Verbinding maken
$conn=mysql_connect('localhost', 'databasenaam', 'password');
// 2. Database kiezen
mysql_select_db('databasenaam') or die(mysql_error());
if(isset($_POST["loginnaam"]))
{
// TODO: Zoek loginnaam+wachtwoord op in database-tabel
$query = " SELECT count(*) x
FROM gebruikers
WHERE naam = '$_POST[loginnaam]'
AND wachtwoord = '$_POST[wachtwoord]' ";
$result=mysql_query($query);
$record = mysql_fetch_assoc($result);
// Indien wachtwoord OK:
if($record["x"] >= 1)
$_SESSION["ingelogd"] = 1;
header("Location: pagina.php");
die();
}
?>
<html>
<body>
<form method="post">
Naam: <input type="text" id="loginnaam" name="loginnaam" /><br />
Wachtwoord: <input type="password" id="wachtwoord" name="wachtwoord"/><br />
<input type="submit" value"inloggen" />
</form>
</body>
</html>
1 alle belangrijkste is zet nooit je je gegevens van je database in je pagina doe dit op deze manier
1.1 pak een nieuwe pagina blanco
1.2 vul in
PHP:
<?php
$dbhost = 'localhost';
$dbuser = 'gebruiker';
$dbpass = 'wachtwoord';
$dbname = 'welke datse hij conectie mee moet maken ';
$conn_db_flash = mysql_pconnect($dbhost, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($dbname);
?>
1.3 sla dit op als connect.php zet dit wel in een map private
1.4 vul de volgende informatie in je pagina
PHP:
<?php
include ('private/connect.php');
?>
maar omdat het login moet zijn zal ik volgende informatie nog ff verder op rij zetten ivm dat jou script niet echt water dicht is
pak er nieuwe pagina bij een html pagina
PHP:
<?php
// hier staat zoon include file met zelfde informatie
require_once('private/connect.php');
session_start();
if(isset($_GET['logout'])){
$_SESSION['CPANEL_ID'] = NULL;
// hier staat na in loggen waar de persoon na door gestuurd moet worden
header("Location: main.php");
exit();
}
if($_SERVER['REQUEST_METHOD'] == "POST" && $_POST['submit'] > NULL){
$fld_usr = strtolower($_POST['_username']);
//sha1 is extra beveiling boven op de md5
$fld_pass = (sha1 (md5(strtolower($_POST['_password']))));
// mooiste is als je aparte tabel maakr met users
$qy_rs_login = mysql_query("SELECT * FROM tbl_users WHERE name='".mysql_real_escape_string($fld_usr)."' AND password='".mysql_real_escape_string($fld_pass)."'", $conn_db_flash) or die(mysql_error());
$row_rs_login = mysql_fetch_assoc($qy_rs_login);
if($row_rs_login){
$_SESSION['CPANEL_ID'] = $row_rs_login['id'];
header("Location: main.php");
exit();
}else{
$error = 1;
}
mysql_free_result($qy_rs_login);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
// hier kun je style kwijt
<link href="css/index.css" rel="stylesheet" type="text/css"
<title>Login</title>
/head>
<body>
<div id="index">
<div id="stylized" class="myform">
<form id="frm_login" name="frm_login" action="/" method="POST">
<h1> login system</h1>
<p>login systeem</p>
<label>Gebruikersnaam
<span class="small">Naam</span>
</label>
<input id="_username" name="_username" type="text" />
<label>Paswoord
<span class="small">Min. size 6 chars</span>
</label>
<input id="_password" name="_password" type="password" />
<button id="submit" name="submit" type="submit" value="Login">login</button>
</form>
</div>
</div>
</body>
</html>
nu heb een complete inlog pagina
op elke pagina die beveilingt moet worden moet deze tekst als eerste staan
PHP:
<?php require_once('private/connect.php');?>
<?php
session_start();
if(isset($_SESSION['CPANEL_ID'])){
$usr_id = $_SESSION['CPANEL_ID'];
$qy_rs_login = mysql_query("SELECT name FROM tbl_users WHERE id='".mysql_real_escape_string($usr_id)."'", $conn_db_flash) or die(mysql_error());
$row_rs_login = mysql_fetch_assoc($qy_rs_login);
if($row_rs_login == NULL){
header("Location: /");
exit();
}
mysql_free_result($qy_rs_login);
}else{
header("Location: /");
exit();
}
define('DEBUG_MODE',true); // true == aan, false == uit
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
?>
als je dat doet zijn je pagina's gebeveiligt
simpel
nu alleen een registratie formulier
helaas heb ik deze niet uitgebreid deze zijn wel te viden op internet
en aan te passe zal voor jou de geen die ik heb hier droppen
PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
//ook hier maken weer gebruik van een css file
<link href="css/nieuwgebruiker.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
// hier weer die include file
include ('private/connect.php');
?>
<div id="main">
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if ($_POST['password'] == $_POST['rpassword']){
if ($_POST['email'] == $_POST['remail']){
mysql_query ("INSERT INTO tbl_users (id, name, email, password) VALUES (
'',
'".mysql_real_escape_string($_POST['name'])."',
'".mysql_real_escape_string($_POST['email'])."',
'".mysql_real_escape_string(sha1(md5($_POST['password'])))."')");
$bericht = "Nieuwe administrator aangemaakt!";
} else {
$bericht = "De email adressen zijn niet hetzelfde!";
}
} else {
$bericht = "Wachtwoorden komen niet overeen!";
}
}
?>
<form method="post">
<table id="nieuw">
<tr>
<th>Nieuwe administrator aanmaken</th>
</tr>
<tr>
<td>Gebruikersnaam</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>Wachtwoord</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>Herhaal Wachtwoord</td>
<td><input type="password" name="rpassword" /></td>
</tr>
<tr>
<td>Volledige naam:</td>
<td><input type="text" name="fullname" /></td>
</tr>
<tr>
<td>Email Adres</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td>Bevestig Email Adres:</td>
<td><input type="text" name="remail" /></td>
</tr>
<tr>
<th><input type="submit" value="Maak nieuwe gebruiker" /></th>
</tr>
</table>
</form>
</div>
</body>
</html>
deze paginqa is niet beveiligt zo dat mensne zich kunnen registeren alleen worden geen mails verzonden met activatsie links
die staan er zat van op internet
om direct gebruik te kunnen maken van dit script zonder iets aan te passen
zijn de volgende dingen nodigen
tabel met de naam tbl_users
waarin de row's
id
name
email password staan
volende wat je moet hebben is dat connect.php
heb hier boven al aangeven hoe je dat voor elkaar moet boxen
en walla je hebt een inlog script en registratie forumlier