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> </td></tr>
<tr><td> </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"> </td>
<td width="150"><?include "inc_right_lanalas.php";?></td>
</tr>
</table>
</td>
</tr>
</table>
<?
include "inc_botten.php";
?>
</body>
</html>