Nettstedskart  
Powered by PHP 5  
Besøkende online: 4
Modelloversikt
Gå til Renault modellprogram - Renault Laguna Clio Espace Megane Scenic Kangoo Modus Safrane Alpine Twingo Trafic og mange flere - nå kan du også legge inn din erfaring med din modell
Motordata
Renault motordata - Renault Laguna Clio Espace Kangoo VelSatis Alpine Twingo Avantime og mange flere
Reparasjonslogg
gå til Renault Reparasjonslogg
Wallpapers
se Renault wallpapers
Dementi
Siden er tilpasset:

:: Firefox 1.0.3 +
:: Firefox 2.0 +
:: Firefox 3.0 RC
:: Opera 7.50 +
:: I-Explorer 6
:: I-Explorer 7+
Renault.no
RenaultF1.com
17.04.2006 - av Admin Administrator vis utskriftsvennlig side og skriv ut artikkelen
Registrering og innlogging med PHP og MySql
Her skal vi lage en enkel medlemsfunksjon som inkluderer et registrerings-skjema, innlogging, glemt passord, endre epost/passord og hvordan du beskytter medlemssidene dine.
Du må ha PHP og MySql tilgjengelig hos din web host for å bruke denne medlemsfunksjonen.

Jeg forklarer ikke så mye underveis, men jeg mener at det skal være satt sammen slik at du finner logikken og dermed kan se hvordan det er bygd opp. Vi skal totalt lage 8 filer/sider som legges i en mappe/katalog du f.eks. kaller "brukere". I denne mappen oppretter du nok en mappe/katalog du kaller "innstillinger". Alle filene skal i bruker mappen bortsett fra konfigurasjon.php og brukersjekk.php som skal i mappen innstillinger.

Vi starter med konfigurasjons filen. Denne lagres i mappen "innstillinger". konfigurasjon.php må inkluderes øverst på alle sidene vi nå skal lage og MÅ endres slik at den inneholder dine egne data:

PHP - eksempel

<?php

// MySql database konfigurasjon
// endre følgende 4 linjer med dine data mellom " "
$dbhostname "mysql.dinhost.no";
$dbuser "db_brukernavn";
$dbpassword "db_passord";
$db "db_navn";

// koble til database
$tilkobling mysql_connect($dbhostname$dbuser,
$dbpassword) or die("Umulig å få kontakt med databasen
- sjekk konfigurasjonene"
);
$velg_db mysql_select_db($db) or die("Umulig å få
kontakt med gjeldende database - sjekk
konfigurasjonene"
);

// admin brukerdata, 
// registreres i databasen ved installasjon
// endre til ønsket brukernavn, passord og epost
$admin_brukernavn "admin";
$admin_passord "123456";
$admin_epost "webmaster@nettsted.net";

// nettsted info, endre til ønsket
$nettsted_navn "Mitt nettsted";
$nettsted_epost "info@nettsted.net";

// lukket eller åpen bruker-registrering
// sett til "0" og alle kan registrere seg uten
// bruk av kode
$lukket_registrering "1"// krever kode

// registreringskode hvis lukket registrering = "1"
$registrerings_kode "123456";

// bestem hvilket navn brukertabellen skal ha
$tabell_brukere "mine_brukere";
?>



Deretter lager vi en installasjonsfil som oppretter MySql data-tabellen og lagrer administrators brukerdata, alt basert på opplysningene du setter inn i konfigurasjonsfilen. Denne filen kaller vi installer.php og legges i katalogen brukere. Det er denne filen du må starte med når alt er lastet opp til ditt webhotell og du er klar til å starte:

PHP - eksempel

<?php

if(file_exists("innstillinger/konfigurasjon.php"))
{
require(
"innstillinger/konfigurasjon.php");
}
else
{
echo <<<__HTML_END

<span style="color:#ff0000"><b>Konfigurasjonsfilen
"innstillinger/konfigurasjon.php" finnes
ikke</b></span>

Legg filen "konfigurasjon.php" under en mappe som du
kaller "innstillinger", ett nivå over filene:

login.php, registrer.php og installer.php

Husk å endre nødvendige data i konfigurasjonsfilen før
du fortsetter!

<a href="installer.php">[ Prøv igjen ]</a>

__HTML_END;
exit();
}

// opprett tabell for brukere dersom den ikke finnes
if($_GET['install']=="1")
{
if(
mysql_num_rows(mysql_query("SHOW TABLES LIKE
'"
.$tabell_brukere."'"))==0)
{
$opprett mysql_query("CREATE TABLE `$tabell_brukere`
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`status` int(11) NOT NULL,
`login_key` varchar(32) NOT NULL,
`login_tid` varchar(25) NOT NULL,
`brukernavn` varchar(50) NOT NULL,
`epost` varchar(50) NOT NULL,
`passord` varchar(32) NOT NULL,
`dato_registrert` timestamp(8) NOT NULL,
`count` int(11) default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1"
);

if(
$opprett)
{
$admin_md_passord md5($admin_passord);
$opprett_ny mysql_query("insert into $tabell_brukere
(status, brukernavn, epost, passord, dato_registrert)
values ( 1, '
$admin_brukernavn', '$admin_epost',
'
$admin_md_passord', NOW())");

echo <<<__HTML_END

Databasetabellen <b>
$tabell_brukere</b> ble opprettet..

<span style="color:#ff0000"><b>Du må nå slette filen
"installer.php" fra systemet ditt!!!</b></span>

Administrator brukernavn: 
$admin_brukernavn

Administrator epost: 
$admin_epost

Administrator passord: 
$admin_passord

<a href="login.php">[ Logg inn ]</a>

<a href="registrer.php">[ Registrer flere brukere ]</a>

__HTML_END;
}
else
{
echo <<<__HTML_END

<span style="color:#ff0000"><b>Feil under oppretting av
databasetabell --> 
$tabell_brukere</b></span>

Sjekk at konfigurasjonene til databasen er korrekte og
prøv igjen

<a href="installer.php?install=1">[ REFRESH ]</a>

__HTML_END;
}
}
else
{
print 
"Tabellen $tabell_brukere finnes allerede...";
}
}
else
{
echo <<<__HTML_END

<u>Sjekk Database konfigurasjonene:</u>

Database: 
$db

Db Brukernavn: 
$dbuser

Db Passord: 
$dbpassword

Db HOST : 
$dbhostname

--> Nytt tabellnavn blir: 
$tabell_brukere


<u>Sjekk Admin konfigurasjonene (lagres i tabellen som
Admin bruker):</u>


Administrator brukernavn: 
$admin_brukernavn

Administrator epost: 
$admin_epost

Administrator passord: 
$admin_passord


<a href="installer.php?install=1">[ Installer ]</a>

__HTML_END;
}
?>



For at vi skal kunne registrere flere brukere eller at brukere skal kunne registrere seg selv, så lager vi registrer.php
Merk at det i konfigurasjonsfilen kan settes åpen eller lukket registrering. Ved lukket registrering så må man taste inn registreringskoden som står i konfigurasjonsfilen for å registrere nye brukere - dette betyr i praksis at kun du som administrator kan registrere nye brukere. Ved lukket registrering sendes ingen velkomst epost, ved åpen registrering mottar brukeren en enkel epost. Dette kan du selvfølgelig endre på som du selv ønsker

PHP - eksempel

<?php

require("innstillinger/konfigurasjon.php");

if(isset(
$_POST['ny']))
{
foreach( 
$_POST as $key => $value )
{
 ${
$key} = htmlspecialchars($valueENT_QUOTES);
}
if(
$lukket_registrering=="0")
{
$registrerings_kode "0000";
}
if(
$sikkerhetskode == $registrerings_kode)
{
if(!empty(
$nytt_brukernavn) && !empty($nytt_epost) &&
!empty(
$nytt_passord) && !empty($nytt_passord_2))
{
if(
eregi("^(a-z|A-Z|0-9)*[^<>#$%^&*()?+/\"']*$",
$nytt_brukernavn))
{
if(
eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-
z0-9-]+)*(\.[a-z]{2,3})$"
,$nytt_epost))
{
if(
$nytt_passord == $nytt_passord_2)
{
$sjekk_eksistens mysql_query("select brukernavn from
$tabell_brukere where brukernavn='$nytt_brukernavn' OR
epost='
$nytt_epost'");

if(
mysql_num_rows($sjekk_eksistens) == "0")
{
$nytt_md_passord md5($nytt_passord);

$opprett_ny mysql_query("insert into $tabell_brukere
(status, brukernavn, epost, passord, dato_registrert,
count) values ( 3, '
$nytt_brukernavn', '$nytt_epost',
'
$nytt_md_passord', NOW(), 0)");

if(
$opprett_ny)
{
print 
"Ny bruker <b>$nytt_brukernavn</b> ble registrert
!"
;

print 
"<a href=\"login.php\">Logg inn</a>";

if(
$lukket_registrering=="0")
{
$headers "From: $nettsted_navn
<
$nettsted_epost>\r\n";
$headers .= "Reply-To: $nettsted_navn
<
$nettsted_epost>\r\n";
$headers .= "Return-Path: $nettsted_navn
<
$nettsted_epost>\r\n";
$subject "Velkommen som bruker";
$msg "Hei,\r\nVelkommen som registrert bruker på
$nettsted_navn.\r\nDitt brukernavn hos oss er:
$nytt_brukernavn\r\nDitt passord er:
$nytt_passord\r\n\r\nVennlig hilsen $nettsted_navn";

if(
ini_get('safe_mode'))
{
$send_mail mail($nytt_epost$subject$msg,
$headers);
}
else
{
$send_mail mail($nytt_epost$subject$msg,
$headers"-f" $nettsted_epost);
}
}

}
else
{
print 
"Kunne ikke oppdatere database, prøv igjen";
}
}
else
{
print 
"Dette brukernavnet og/eller epost adressen kan
ikke registreres"
;
}
}
else
{
print 
"Passordene du oppgav stemmer ikke overens med
hverandre"
;
}
}
else
{
print 
"Epost adressen er ikke gyldig";
}
}
else
{
print 
"Brukernavnet inneholder ugyldige tegn, kun
bokstaver og tall er tillatt"
;
}
}
else
{
print 
"Alle feltene er ikke fylt inn";
}
}
else
{
print 
"Sikkerhetskoden er ikke korrekt";
}
}

print 
"<form action=\"registrer.php\"
method=\"post\">"
;

if(
$lukket_registrering=="0")
{
print 
"<input type=\"hidden\" name=\"sikkerhetskode\"
value=\"0000\" />"
;
}
else
{
echo <<<__HTML_END

Registreringskode

<input type="text" name="sikkerhetskode" value=""
size="30" />

__HTML_END;
}

echo <<<__HTML_END

Ønsket Brukernavn

<input type="text" name="nytt_brukernavn"
value="
$nytt_brukernavn" size="30" />

Din Epost

<input type="text" name="nytt_epost"
value="
$nytt_epost" size="30" />

Ønsket Passord

<input type="password" name="nytt_passord" value=""
size="30" />

Gjenta Passord

<input type="password" name="nytt_passord_2" value=""
size="30" />

<input type="submit" name="ny" value="Registrer ny
bruker" />
</form>

__HTML_END;

?>



Så selve login filen, login.php:

PHP - eksempel

<?php

if($_GET['loggut']=="1")
{
session_start();
session_destroy();
header("Location: medlem.php");
exit();
}
else
{
session_start();
}

require(
"innstillinger/konfigurasjon.php");

if(
file_exists("installer.php"))
{
echo <<<__HTML_END

<span style="color:#ff0000"><b>Du må slette
installasjonsfilen fra systemet ditt før du kan
fortsette !!!</b></span>

__HTML_END;

exit();
}

if(!empty(
$_SESSION['b_brukernavn']) &&
!empty(
$_SESSION['b_login_key']))
{
$b_brukernavn $_SESSION['b_brukernavn'];
$b_login_key $_SESSION['b_login_key'];

$sql mysql_query("select * from $tabell_brukere where
brukernavn = '
$b_brukernavn' AND login_key =
'
$b_login_key' AND status <> '0'");

$antall_funnet mysql_num_rows($sql);

if(
$antall_funnet==1)
{
header("Location: medlem.php");
exit();
}
}

if(isset(
$_POST[logginn]))
{
foreach( 
$_POST as $key => $value )
{
 ${
$key} = htmlspecialchars($valueENT_QUOTES);
}
if(!empty(
$brukernavn) && !empty($passord))
{
$md_passord md5($passord);

$sjekk_bruker mysql_query("select id from
$tabell_brukere where passord='$md_passord' and
brukernavn='
$brukernavn'");
$funnet=mysql_num_rows($sjekk_bruker);

if(
$funnet<>1)
{
sleep(3);
print 
"Beklager, gyldig bruker ble ikke funnet";
}
else
{
function 
tilfeldig_key($lengde)
{
$utvalg =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr
stuvwxyz"
;
for(
$i=0;$i<$lengde;$i++)
{
$streng .= $utvalg{rand(0,35)};
}
return 
$streng;
}
$tidspunkt date("d-m-Y H:i:s");
$login_session_kode date("YmdHis").tilfeldig_key(15);
$login_session_md_kode md5($login_session_kode);

$oppdater_db mysql_query("update $tabell_brukere set
login_key='
$login_session_md_kode',
login_tid='
$tidspunkt', count=count+1 where
brukernavn='
$brukernavn' AND passord='$md_passord'");

if(
$oppdater_db)
{
$_SESSION['b_brukernavn']= $brukernavn;
$_SESSION['b_login_key']= $login_session_md_kode;

header("Location: medlem.php");
print 
"Innlogging vellykket, <a href='$brukerside'>Gå
videre til medlemsområdet --></a>"
;
exit();
}
else
{
print 
"Innlogging ikke mulig, prøv igjen";
}
}
}
else
{
print 
"Både brukernavn og passord må fylles ut";
}
}

// start logg inn skjema
echo <<<__HTML_END

<form action="login.php" method="post">

Brukernavn

<input type="text" name="brukernavn"
value="
$brukernavn" size="30" />

Passord

<input type="password" name="passord" value=""
size="30" />

<input type="submit" name="logginn" value="Logg inn" />

</form>

<a href="glemt_pass.php">Glemt passord ?</a>

__HTML_END;
?>



Så må vi ha en fil som sikrer medlems-sidene dine. Denne legges også i mappen "innstillinger" sammen med konfigurasjon.php, og denne kalles for brukersjekk.php og inluderes på toppen av samtlige sider du vil beskytte:

PHP - eksempel

<?php

session_start
();

if(!empty(
$_SESSION['b_brukernavn']) &&
!empty(
$_SESSION['b_login_key']))
{
$b_brukernavn $_SESSION['b_brukernavn'];
$b_login_key $_SESSION['b_login_key'];

$sql mysql_query("select * from $tabell_brukere where
brukernavn = '
$b_brukernavn' AND login_key =
'
$b_login_key' AND status <> '0'");
$antall_funnet mysql_num_rows($sql);

if(
$antall_funnet<>1// ingen unik bruker funnet
{
sleep(3);
echo <<<__HTML_END

<span style="color:#ff0000"><b>Beklager, du har ingen
adgang til denne siden</b></span>

__HTML_END;

exit();
}
else
{
// gyldig bruker funnet, adgang ok
$row mysql_fetch_array($sql);
$bruker_id $row['id'];
$brukernavn $row['brukernavn'];
$login_tid $row['login_tid'];
$status $row['status'];
$epost $row['epost'];
if(
$status=="1")
{
  
$brukerstatus "Administrator";
}
elseif(
$status=="2")
{
  
$brukerstatus "Superbruker";
}
elseif(
$status=="3")
{
  
$brukerstatus "Normalbruker";
}
elseif(
$status=="0")
{
  die(
"Din brukerprofil er deaktivert");
}
}
}
else 
// ingen session registrert
{
sleep(3);
echo <<<__HTML_END

<span style="color:#ff0000"><b>Beklager, kun innloggede
brukere har adgang til denne siden</b></span>

<a href="login.php">Logg inn</a>

__HTML_END;

exit();
}

?>



Så en eksempelside medlem.php. Denne er beskyttet og kan kun leses av innloggede brukere:

PHP - eksempel

<?php

session_start
();

require(
"innstillinger/konfigurasjon.php");
require(
"innstillinger/brukersjekk.php");

/*
########################################

Denne siden er beskyttet og vises kun
for innloggede brukere.

Alle sider som ønskes beskyttet må ha
session_start(); på toppen, og
inkludere filen brukersjekk.php

VIKTIG: php start-tag <? MÅ stå helt
øverst til venstre i scriptet, ingen linjer
eller space først. Hvis ikke får du feilmelding
på session_start() og evt. header location

Dette gjelder ALLE script, ikke bare denne
siden!!!

########################################
*/

// her kan vi hente igjen variabler som
// hentes i filen brukersjekk.php, dette
// er et eksempel:

echo <<<__HTML_END

Hei 
$brukernavn, du har status: $brukerstatus

Din registrerte epost adresse er: 
$epost

<a href="endre.php">Endre brukerdata ?</a>

<a href="login.php?loggut=1">Logge av ?</a>

Du logget inn: 
$login_tid , din bruker-id er:
$bruker_id

__HTML_END;
?>



For at brukerne selv skal kunne endre epost og passord, lager vi filen endre.php:

PHP - eksempel

<?php

session_start
();

require(
"innstillinger/konfigurasjon.php");
require(
"innstillinger/brukersjekk.php");

if(isset(
$_POST['endre_epost']))
{
foreach( 
$_POST as $key => $value )
{
 ${
$key} = htmlspecialchars($valueENT_QUOTES);
}
if(!empty(
$nytt_epost) && !empty($passord))
{
if(
eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-
z0-9-]+)*(\.[a-z]{2,3})$"
,$nytt_epost))
{
$sql_sjekk mysql_query("select * from $tabell_brukere
where epost = '
$nytt_epost'");
$antall_funnet_sjekk mysql_num_rows($sql_sjekk);
if(
$antall_funnet_sjekk==0)
{
$md_passord md5($passord);

$sql mysql_query("select * from $tabell_brukere where
brukernavn = '
$brukernavn' AND passord = '$md_passord'
AND status <> '0'"
);
$antall_funnet mysql_num_rows($sql);
if(
$antall_funnet==1)
{
$sql_oppdater mysql_query("update $tabell_brukere set
epost = '
$nytt_epost' where brukernavn = '$brukernavn'
AND passord = '
$md_passord'");
if(
$sql_oppdater)
{
$headers "From: $nettsted_navn
<
$nettsted_epost>\r\n";
$headers .= "Reply-To: $nettsted_navn
<
$nettsted_epost>\r\n";
$headers .= "Return-Path: $nettsted_navn
<
$nettsted_epost>\r\n";
$subject "Epost endret";
$msg "Hei,\r\nTil orientering, du har endret epost
adresse på 
$nettsted_navn.\r\n\r\nDen nye epost
adressen er: 
$nytt_epost\r\n\r\nVennlig hilsen
$nettsted_navn";

if(
ini_get('safe_mode'))
{
$send_mail mail($nytt_epost$subject$msg,
$headers);
}
else
{
$send_mail mail($nytt_epost$subject$msg,
$headers"-f" $nettsted_epost);
}
if(
$send_mail)
{
print 
"Din nye epost adresse er nå lagret";

print 
"En bekreftelse er nå send til deg via epost til
din nye epost adresse 
$nytt_epost";

print 
"<a href=\"medlem.php\"><< Gå til
medlemssiden</a>"
;

exit();
}
else
{
print 
"Beklager, en feil oppstod - vennligst prøv
igjen"
;
}
}
else
{
print 
"Beklager, en feil oppstod - vennligst prøv
igjen"
;
}
}
else
{
print 
"Beklager, vi fant ingen gyldig bruker med dette
brukernavn og/eller passord"
;
}
}
else
{
print 
"Beklager, denne epost adressen kan ikke
registreres"
;
}
}
else
{
print 
"Epost adressen inneholder ugyldige tegn";
}
}
else
{
print 
"Både passord og Epost må fylles ut";
}
}

elseif(isset(
$_POST['endre_passord']))
{
foreach( 
$_POST as $key => $value )
{
 ${
$key} = htmlspecialchars($valueENT_QUOTES);
}
if(!empty(
$passord) && !empty($nytt_passord))
{
$md_passord md5($passord);
$nytt_md_passord md5($nytt_passord);

$sql mysql_query("select * from $tabell_brukere where
brukernavn = '
$brukernavn' AND passord = '$md_passord'
AND status <> '0'"
);
$antall_funnet mysql_num_rows($sql);
if(
$antall_funnet==1)
{
$sql_oppdater mysql_query("update $tabell_brukere set
passord = '
$nytt_md_passord' where brukernavn =
'
$brukernavn' AND passord = '$md_passord'");
if(
$sql_oppdater)
{
$headers "From: $nettsted_navn
<
$nettsted_epost>\r\n";
$headers .= "Reply-To: $nettsted_navn
<
$nettsted_epost>\r\n";
$headers .= "Return-Path: $nettsted_navn
<
$nettsted_epost>\r\n";
$subject "Passord endret";
$msg "Hei,\r\nTil orientering, du har endret passord
på 
$nettsted_navn.\r\n\r\nDet nye passordet er:
$nytt_passord\r\n\r\nVennlig hilsen $nettsted_navn";

if(
ini_get('safe_mode'))
{
$send_mail mail($epost$subject$msg$headers);
}
else
{
$send_mail mail($epost$subject$msg$headers,
"-f" $nettsted_epost);
}
if(
$send_mail)
{
print 
"Ditt nye passord er nå lagret";

print 
"En bekreftelse er nå send til deg via epost til
din epost adresse 
$epost";

print 
"<a href=\"medlem.php\"><< Gå til
medlemssiden</a>"
;

exit();
}
else
{
print 
"Beklager, en feil oppstod - vennligst prøv
igjen"
;
}
}
else
{
print 
"Beklager, en feil oppstod - vennligst prøv
igjen"
;
}
}
else
{
print 
"Beklager, vi fant ingen gyldig bruker med dette
brukernavn og/eller passord"
;
}
}
else
{
print 
"Både gammelt og nytt passord må fylles ut";
}
}

echo <<<__HTML_END

<b>Endre Epost adresse:</b>

<form action="endre.php" method="post">

Passord

<input type="password" name="passord" value=""
size="30" />

Ny Epost

<input type="text" name="nytt_epost"
value="
$nytt_epost" size="30" />

<input type="submit" name="endre_epost" value="Lagre ny
epost" />
</form>

<b>Endre Passord:</b>

<form action="endre.php" method="post">

Gjeldende Passord

<input type="password" name="passord" value=""
size="30" />

Nytt passord

<input type="password" name="nytt_passord" value=""
size="30" />

<input type="submit" name="endre_passord" value="Lagre
nytt passord" />
</form>

__HTML_END;
?>



Da gjenstår en fil, glemt_pass.php:

PHP - eksempel

<?php

session_start
();

require(
"innstillinger/konfigurasjon.php");

if(!empty(
$_SESSION['b_brukernavn']) &&
!empty(
$_SESSION['b_login_key']))
{
$b_brukernavn $_SESSION['b_brukernavn'];
$b_login_key $_SESSION['b_login_key'];

$sql mysql_query("select * from $tabell_brukere where
brukernavn = '
$b_brukernavn' AND login_key =
'
$b_login_key' AND status <> '0'");
$antall_funnet mysql_num_rows($sql);

if(
$antall_funnet==1)
{
header("Location: medlem.php");
exit();
}
}

if(isset(
$_POST['glemt']))
{
foreach( 
$_POST as $key => $value )
{
 ${
$key} = htmlspecialchars($valueENT_QUOTES);
}
if(!empty(
$brukernavn) && !empty($epost))
{
if(
eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-
z0-9-]+)*(\.[a-z]{2,3})$"
,$epost))
{
$sql mysql_query("select * from $tabell_brukere where
brukernavn = '
$brukernavn' AND epost = '$epost' AND
status <> '0'"
);
$antall_funnet mysql_num_rows($sql);
if(
$antall_funnet==1)
{
function 
tilfeldigstreng($lengde)
{
$utvalg =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr
stuvwxyz"
;
for(
$i=0;$i<$lengde;$i++)
{
$streng .= $utvalg{rand(0,35)};
}
return 
$streng;
}
$nytt_pass tilfeldigstreng(8);
$nytt_md_pass md5($nytt_pass);

$sql_oppdater mysql_query("update $tabell_brukere set
passord = '
$nytt_md_pass' where brukernavn =
'
$brukernavn' AND epost = '$epost'");
if(
$sql_oppdater)
{
$headers "From: $nettsted_navn
<
$nettsted_epost>\r\n";
$headers .= "Reply-To: $nettsted_navn
<
$nettsted_epost>\r\n";
$headers .= "Return-Path: $nettsted_navn
<
$nettsted_epost>\r\n";
$subject "Nytt Passord";
$msg "Hei,\r\ndu har rekvirert nytt passord på
$nettsted_navn\r\n\r\nNytt midlertidig passord:
$nytt_pass\r\n\r\nDu bør endre til nytt passord straks
etter at du har logget deg inn på våre
nettsider.\r\n\r\nVennlig hilsen 
$nettsted_navn";

if(
ini_get('safe_mode'))
{
$send_mail mail($epost$subject$msg$headers);
}
else
{
$send_mail mail($epost$subject$msg$headers,
"-f" $nettsted_epost);
}
if(
$send_mail)
{
print 
"Ditt nye midlertidige passord er nå send til deg
via epost."
;

print 
"Vennligst endre til ønsket passord etter at du
har logget deg inn."
;

print 
"<a href=\"login.php\"><< Gå til login</a>";

exit();
}
else
{
print 
"Beklager, en feil oppstod - vennligst prøv
igjen"
;
}
}
else
{
print 
"Beklager, en feil oppstod - vennligst prøv
igjen"
;
}
}
else
{
print 
"Beklager, vi fant ingen gyldig bruker med dette
brukernavn og/eller epost adresse"
;
}
}
else
{
print 
"Epost adressen inneholder ugyldige tegn";
}
}
else
{
print 
"Både brukernavn og passord må fylles ut";
}
}

echo <<<__HTML_END

<form action="glemt_pass.php" method="post">

Brukernavn

<input type="text" name="brukernavn"
value="
$brukernavn" size="30" />

Epost

<input type="text" name="epost" value="
$epost"
size="30" />

<input type="submit" name="glemt" value="Send nytt
passord" />

</form>

<a href="login.php"><< Tilbake til login</a>

__HTML_END;
?>



Det er ikke tatt med noen visuell utforming i denne artikkelen da det fort blir mye kode og uoversiktelig som eksempel, du må derfor selv legge inn css eller tabeller samt linjeskift (br) hvor du måtte ønske dette.

Merk også et dette er kun enkel beskyttelse av medlemssider og er ikke garantert ugjennomtrengelig. Alt etter innstillingene hos din web host, vil innloggingen utløpe etter en viss tid med inaktivitet fordi vi her holder brukeren innlogget ved hjelp av Sessions.
For varige eller lengre innlogginger, kan det brukes Cookies som lagres i brukerens nettleser. En session lagres på serveren og slettes ved inaktivitet eller dersom nettleseren lukkes.


« tilbake Vurder artikkelen - Tips en venn
Åpnet for kommentarer
Av: Tom
Merk at denne veiviseren bruker noen funksjoner som ikke lenger støttes av php 5.3 og nyere, som f.eks. eregi()
Slå opp funksjonene på http://www.php.net for veiviser til nye funksjoner.

Kommenter denne artikkelen
Flere

- Registrering og innlogging med
- Lag ditt eget kontaktskjema me
- PHP switch
- Hva er PHP ?
    Noen tilfeldige

- Megane blir komplett
- Laguna Black Edition - Clio GT
- Nissan-bygget UK-Renault?
- Kvalifisering, San Marino
- Kan Volvo selge en stor Renaul
- Renault øker, takket være døtr
- Grand Espace som antiterror hj
- Renault WRC
- Kan dette bli fremtidens Espac
- Renault Mégane Sport Tourer: F
- Renault Mégane R26.R
- Renault Sport også som sykkel
- Tredje strake seier for Renaul
- Renault Clio 4
- Øivind Fagerli's Maxi 5
Annonse


Artikkelsøk
 nyheter/artikler
 
 
Din innlogging
 Velg område
 
 Brukernavn
 
 Passord
 
 
  ny Bruker ?
Siste Nyheter
:. Renault Clio 4
:. Espace IV Phase 4,
:. Ny Espace
:. Renault Pulse
:. Laguna Nervasport
:. Flere Nyheter
Siste Artikler
:. Dacia Dokker og Dok
:. 100 år i Norge
:. Renault/Logan rundt
:. Renault Twingo
:. Fransk bildag 2006
:. Flere Artikler
RenaultBiler.no
Denne siden oppleves best med Firefox Nettleser

Ansvarlig for RenaultBiler.no: Tom Stallvik, Hosvegen 10, 7670 Inderøy
>> Kontakt <<
Denne siden oppleves best med Firefox Nettleser
Motorisert av © \ sec