Hoe van inlogformulier een registratieformulier maken?

Status
Niet open voor verdere reacties.

joeyjanssen1987

Gebruiker
Lid geworden
10 sep 2008
Berichten
14
Hallo,

Ik kom er niet uit. Hoe maak ik van het inlogformulier dat ik heb een registratieformulier? Met onderstaande code kan ik inloggen. Nu moet er alleen nog voor worden gezorgd dat er ook geregistreerd kan worden. Kan iemand mij helpen aub? Het hoeft niet met emailcheck erbij te zijn. Dus alleen gebruikersnaam en wachtwoord invoeren die geregistreerd worden. Hieronder de code van het inlogformulier:

<?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>
 
Laatst bewerkt:
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
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan