webForumDet fria alternativet

Enkelt inloggningsscript med registrering

2 svar · 149 visningar · startad av Hazze

HazzeMedlem sedan jan. 20001 891 inlägg
#1

Jag söker ett enkelt inloggningsscript till ett litet lokalt "community-projekt". Först registerar sig besökaren och väljer ett användarnamn och ett lösenord samt fyller även i sin epostadress. Tre formulärfält alltså.

Besökaren får sedan ett bekräftande email och kan sedan börja logga in på den "hemliga sidan". Fungerar detta utan en databas? Har letat en del men har inte hittat något passande...

------------------
jag kom, jag såg, jag rockade loss...

demo
#2

Gjorde något liknande när jag byggde en chat enbart på skoj. Om du vill prova så tryck på "Jag vill oxå registrera" nick.

http://www.webstugan.pp.nu/chat/index.html

Här kommer lite inspirationskod på hur du eventuellt skulle kunna ha en registreringsfunktion som sänder ett bekräftar-epost med namn och lösenord.

######################################
# Uppgifter att justera och förändra #
######################################

# Sökvägen till textfilen, skall förslagsvis bör ligga i samma mapp som scripten
$nick="nickname.txt";      

#Sökvägen till hemsidan
$hemsida="http://www.webstugan.pp.nu/chat/index.html";    

#Sökvägen till e-postprogrammet
$mailprog="/usr/sbin/sendmail -t"; 

#Chattansvarigs e-postadress
$avsandare="test\@test.test";
  

print "Content-type: text/html\n\n";

######################################
# Tar emot uppgifter från formuläret #
######################################
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);

foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$INFO{$name} = $value;
}

###########################
# Rensar olämpliga tecken #
###########################
$INFO{'nickname'}=~/[;<>\*\&#0124;´&\$!#\(\)\[\]\{\}:'"]/;
$INFO{'losen'}=~/[;<>\*\&#0124;´&\$!#\(\)\[\]\{\}:'"]/;
$INFO{'epost'}=~/[;<>\*\&#0124;´&\$!#\(\)\[\]\{\}:'"]/;

##################
# Är allt ifyllt #
##################
if($INFO{'nickname'} eq "" &#0124;&#0124; $INFO{'losen'} eq ""){
print "<p><b><center><h2>Nickname eller lösenord saknas.<br>Backa med din läsare och kompletera med saknad uppgift.</B></h2></center>";
exit;
};

#############################################################################
# Kontrollerar så att inget använder ::: som skrivs in i filen mellan datat #
#############################################################################
if($INFO{'nickname'}=~/::::/i &#0124;&#0124; $INFO{'losen'}=~/::::/i &#0124;&#0124; $INFO{'epost'}=~/::::/i){
print "<p><b><center><h2>Någon uppgift innehåller flera \":\" .<br>Ta bort dessa tecken och försök igen.</B></h2></center>";
exit;
}

##########################################################
# Kontrollerar så att inte nickname redan är registrerat #
##########################################################
Open (FILE,"$nick");

while ($rad=<FILE> ){
if ($rad=~/$INFO{'nickname'}/gi){
print "<p><b><center><h2>Dra på trissor :-( <br>Ditt valda nickname är redan registrerat.<br>Backa med din läsare och välj ett nytt nickname.</B></h2></center>";
exit;
}
}
close (FILE);

###############################################
# Registrerar nickname och lösenord i textfil #
###############################################

open (FILE,">>$nick");
print FILE "$INFO{'nickname'}::::$INFO{'losen'}::::$INFO{'epost'}\n";
close (FILE);

print "<p><b><center><h2>$avsandare Ditt nickname har blivit registrerat.</B></h2><p><b><h3>Nickname: $INFO{'nickname'}<br>Lösenord: $INFO{'losen'}<p></h3>Dessa uppgifter är viktiga för att du skall kunna använda ditt nickname.<br>Skriv ned dessa uppgifter på en lapp, eller försök att memorera dem.<br>Om du fyllde i din e-post, så får du dessa uppgifter sända till din e-postadress.<p>Lycka till!";

###### Meddelar mottagaren om att den har ett vykort att hämta ######
##################################################################

open (MAIL, "&#0124;$mailprog");
print MAIL "To: $INFO{'epost'}\n";
print MAIL "From: $avsandare\n";
print MAIL "Subject: Ditt nickname är registrerat\n\n";
print MAIL "Hejsan $INFO{'nickname'}!\n\n";
print MAIL "Ditt nickname har blivit registrerat. \n\n";
print MAIL "Nickname: $INFO{'nickname'}\n";
print MAIL "Lösenord: $INFO{'losen'}\n\n";
print MAIL "Var rädd om dessa uppgifter och skriv gärna ned dem på en lapp.\n\n";
print MAIL "Lycka till med chattandet! $hemsida\n\n";
close (MAIL);

//Demo

------------------
Den som vandrar ödmjukhetens väg drabbas inte av trafikstockningar.

[Redigerat av demo den 03 feb 2001]

HazzeMedlem sedan jan. 20001 891 inlägg
#3

Stort tack Demo!

------------------
jag kom, jag såg, jag rockade loss...

Genererad på 373 ms · cache AV · v20260730165559-full.f96bc7eb