webForumDet fria alternativet

Kontroll av registrering

2 svar · 738 visningar · startad av Blockqoute

BlockqouteMedlem sedan dec. 200380 inlägg
#1

Jag håller på att skapa ett registreringsformulär och behöver hjälp med två kontroller av inmatade fält.

Den första: De som vill bli medlemmar på sidan skall redan finnas registrerad i en databas, så det enda nya som skall in i databasen är användarnamn samt lösenord. Men användaren måste även fylla i sitt sedan tidigare tilldelade medlemsnummer samt den e-post man fyllde i vid anmälan. Kontrollen jag vill skapa är alltså en kontroll av att medlemsnumret existerar samt att den e-post som fylls i hör till det ifyllda medlemsnumret. Jag har skapar en kontroll redan, men den fungerar inte som den ska. Den fungerar bra då det bara finns en användare i databasen, men så fort det blir två eller fler så krånglar den. Jag har markerat denna i koden nedan:

Den andra: Jag har försökt skapa en kontroll så att det användarnamn som den nya registrering har inte redan finns i databasen. Känns som en ganska enkel kontroll, men jag lyckas inte få till det.

Finns det någon som kan hjälpa mig med detta?

<?include "connect.php";

if(isset($_POST['registrera'])){
  $sql="SELECT medlemsnummer, epost FROM medlem";
	$result=mysql_query($sql);
	while($rad=mysql_fetch_array($result)){
	 
	#########################################################################################################################    
			//Här är mitt försök till kontroll om medlemsnumret finns och om eposten stämmer.
			
			if(($rad['medlemsnummer'] == ($_POST['medlemsnummer'])) && ($rad['epost'] == ($_POST['epost']))){
			
	#########################################################################################################################		
			
			  $kodat_losenord=md5($_POST['losenord']);
				
			  $kod=md5(uniqid(rand()));
			
			  $sql3="INSERT INTO tillfallig_medlem(kod, anvandarnamn, losenord) VALUES ('$kod', '{$_POST['anvandarnamn']}', '$kodat_losenord')";
			  $result3=mysql_query($sql3);
			
			  if(result3){
			    $till=$_POST['epost'];
				  $amne="Konfirmations e-post";
				  $huvud="Bokia.se";
				
				  $meddelande="Detta är din konfirmationslänk \r\n";
  			  $meddelande.="Klicka på denna länk för att aktivera ditt konto \r\n";
				  $meddelande.="http://www.danzayengols.com/exjobb/konfirm.php?nyckel=$kod";

				  $skickat_epost = mail($till,$amne,$meddelande,$huvud);
			  }
			  else{
				  $felepost = "Din e-post hittades inte i vår databas";
			  }
			
			  if($skickat_epost){
			    $skickatkonfirm = "Din konfirmationslänk har skickats till din e-post.";
			  }
			  else{
			    $ejskickatkonfirm = "Kan inte skicka konfirmationslänk till din e-psot";
			  }

		  }
		  else{
		    $felmeddelande = "Medlemsnummer eller e-post finns inte, försök igen.";
		  }
	}
}

?>
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Bokia - Registrera ett Låna & Läs medlemskap</title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link href="css/style.css" rel="stylesheet" type="text/css">

<script language="JavaScript" type="text/JavaScript">

function FormKontroll(mittForm){

  var illigalatecken = /\W/; 	 //tillåter bokstäver, siffror och understräck	

	if(mittForm.medlemsnummer.value == ""){
	alert("Medlemsnummer måste fyllas i");
	mittForm.medlemsnummer.focus();
	return false;
	}
	
	if(mittForm.anvandarnamn.value == ""){
	alert("Användarnamn måste fyllas i");
	mittForm.anvandarnamn.focus();
	return false;
	}
	
	if((mittForm.anvandarnamn.value.length < 5) || (mittForm.anvandarnamn.value.length > 30)){
	alert("Användarnamn måste vara mellan 5 och 30 tecken ");
	mittForm.anvandarnamn.focus();
	return false;
	}
	
	if(illigalatecken.test(mittForm.anvandarnamn.value)){
	alert("Användarnamnet innehåller otillåtna tecken");
	mittForm.anvandarnamn.focus();
	return false;
	}	
	
	if(mittForm.losenord.value == "") {
	alert("Lösenord måste fyllas i");
	mittForm.losenord.focus();
	return false;
	}
	
	if((mittForm.losenord.value.length < 5) || (mittForm.losenord.value.length > 30)){
	alert("Lösenordet måste vara mellan 5 och 30 tecken ");
	mittForm.losenord.focus();
	return false;
	}
	
	if(illigalatecken.test(mittForm.losenord.value)){
	alert("Lösenordet innehåller otillåtna tecken");
	mittForm.losenord.focus();
	return false;
	}
	
	if(mittForm.losenordett.value == "") {
	alert("Lösenordet måste bekräftas");
	mittForm.losenordett.focus();
	return false;
	}
	
	if((mittForm.losenord.value) != (mittForm.losenordett.value)) {
	alert("Lösenorden är inte lika");
	mittForm.losenordett.focus();
	return false;
	}
	
	if(mittForm.epost.value == "") {
	alert("E-post adress måste fyllas i");
	mittForm.epost.focus();
	return false;
	}
}
	
</script>

</head>

<body>

<div align="center">
<?
include "inc_huvud.php";
include "inc_meny.php";
include "inc_meny2.php";
?>

<table width="735" cellspacing="0" cellpadding="0" border="0" class="main"><tr><td valign="top">
			

			 <table width="100%" height="500" border="0" cellpadding="0" cellspacing="0"><tr valign="top"><td>
       <h1>Registrera Låna & Läs medlemskap</h1>
			 <table width="490" border="1"><tr><td>
			 För att registrera en användare på Bokia.se måste du ha ditt Låna & Läs medlemsnummer tillgängligt samt den e-post 
			 du registrerade när du blev medlem. 
			 </td></tr>
			 <form name="registrera" id="registrera" method="post" action="registrera.php" onsubmit="return FormKontroll(this);">
			 <table width="490" border="0">
			 <tr><td width="120">
			 Medlemsnummer: </td><td><input type="text" id="medlemsnummer" name="medlemsnummer" maxlength="8" size="30"></td></tr>
			 <tr><td>
			 Användarnamn: </td><td><input type="text" id="anvandarnamn" name="anvandarnamn" maxlength="255" size="30"></td></tr>
			 <tr><td>
			 Lösenord: </td><td><input type="password" id="losenord" name="losenord" maxlength="20" size="30"></td></tr>
			 <tr><td>
			 Bekräfta lösenord: </td><td><input type="password" id="losenordett" name="losenordett" maxlength="20" size="30"></td></tr>
			 <tr><td>
			 E-post: </td><td><input type="text" id="epost" name="epost" maxlength="255" size="30"></td></tr>
			 <tr><td>&nbsp;</td></tr>
			 <tr><td>&nbsp;</td>
			 <td>
			 <input type="submit" name="registrera" value="Registrera" style="font-family: Verdana; color: #000000; font-size: 9px; background-color: #E1E1E1; border: 3px outset #8B8B8B">
			 <input type="reset" name="rensa" value="Rensa" style="font-family: Verdana; color: #000000; font-size: 9px; background-color: #E1E1E1; border: 3px outset #8B8B8B"> 
			 </td></tr>
			 </table> 
			 </form> 
			 
			 <?
			 if(isset($_POST['registrera'])){
			 echo "<font color='red'>" . $felmeddelande . $felmeddelande2 . $felepost . $skickatkonfirm . $ejskickatkonfirm . $anvnamnfinns . "</font>";
			 }
			 ?> 
			 </td>
			 
<td width="10" class="dots_bg">&nbsp;</td>
<td width="150"><?include "inc_right_lanalas.php";?></td>
       </tr>
       </table>
</td>
</tr>
</table>

<?
include "inc_botten.php";
?>

</body>
</html>
BlockqouteMedlem sedan dec. 200380 inlägg
#2

Nu har jag löst detta själv iaf.

jonkenMedlem sedan mars 20074 inlägg
#3

Det är bra att berätta hur man gjorde och kanske t om sätta [SOLVED] i ämnesraden.
På så sätt kan andra ta del av hur det gjordes och hitta en källa som funkar.
Det underlättar väldigt mycket för andra medlemmar.

Mvh
Jonas

135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)