Opret funktion i Login
Hej experter.Jeg har et login system, som skal have en opret bruger funktion.
Jeg er i gang med noget validering.
Men det er som om, at selvom valideringen ikke er korrekt så oprettet den en bruger alligevel.
I kan se det på: www.twimb.dk/pressrest/opretbruger.php
Og koden for opret.php er her:
<?php
include('connect_login.php');
function validering($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
$data = mysql_escape_string($data);
return $data;
}
$errbrugernavn = "";
$erremail = "";
$errtelefon = "";
$errnavn = "";
$errpassword = "";
$erradresse = "";
$errtelefon = "";
$errrptpwd = "";
if(isset($_POST['brugernavn']) && isset($_POST['password']) && isset($_POST['navn']) && isset($_POST['adresse']) && isset($_POST['telefon']) && isset($_POST['email']))
{
if(empty($_POST['brugernavn']))
{
echo "Du skal udfylde brugernavn.<br>";
}
if(empty($_POST['password']))
{
echo "Du skal udfylde password.<br>";
}
if(empty($_POST['navn']))
{
echo "Du skal udfylde navn.<br>";
}
if(empty($_POST['adresse']))
{
echo "Du skal udfylde adresse.<br>";
}
if(empty($_POST['telefon']))
{
echo "Du skal udfylde telefon.<br>";
}
if(empty($_POST['email']))
{
echo "Du skal udfylde email.<br>";
}
//Validering
if(preg_match("/^[0-9a-zA-Z]+$/", $_POST["brugernavn"]) === 0)
{
$errbrugernavn = "Brugernavn er ugyldigt.<br>";
}
if(preg_match("/^[a-zA-Z]\w+(\.\w+)*\@\w+(\.[0-9a-zA-Z]+)*\.[a-zA-Z]{2,4}$/", $_POST["email"]) === 0)
{
$erremail = "E-mail er ikke gyldig.<br>";
}
if(preg_match("/\d/", $_POST["telefon"]) === 0)
{
$errtelefon = "Det er vidst ikke dit telefon nummer.<br>";
}
if(preg_match("/^[A-Z][a-zA-Z -]+$/", $_POST["navn"]) === 0)
{
$errnavn = "Dit navn må kun indeholde bogstaver, mellemrum og bindestreg.<br> Det skal også starte med stort.<br>";
}
if(preg_match("#.*^(?=.{8,20})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$#", $_POST["password"]) === 0)
{
$errpassword = "Dit password skal indeholde: bogstaver, mindst 1 symbol, mindst 1 tegn og mindst 1 stort bogstav.<br>
Desuden skal dit password være mellem 8 og 20 tegn.";
}
if(preg_match("/^[0-9a-zA-Z -]+$/", $_POST["adresse"]) === 0)
{
$erradresse = "Adressen er ugyldig.<br> Bogstaver og tal er tilladt.";
}
if(preg_match("/^\d{2}-\d{2}-\d{2}-\d{2}$/", $_POST["telefon"]) === 0)
$errtelefon = "Dit telefon nummer skal matche 12-34-56-78.<br> Husk bindestreg.";
else
{
// Hent indtastede data fra formen
$brugernavn=validering($_POST['brugernavn']);
$password=validering($_POST['password']);
$navn=validering($_POST['navn']);
$adresse=validering($_POST['adresse']);
$telefon=validering($_POST['telefon']);
$email=validering($_POST['email']);
// Indsæt data i database
$password = md5($password);
$opretsql="INSERT INTO $tbl_name(brugernavn, password, navn, adresse, telefon, email)VALUES('$brugernavn', '$password', '$navn', '$adresse', '$telefon', '$email')";
if(mysql_query($opretsql))
echo "Du er oprettet som bruger. <br> Du kan nu logge ind.";
}
}
?>
<table width="450">
<tr>
<td style="font-size:9px;color:#039;"><?php if(isset($errbrugernavn)) echo $errbrugernavn; ?></td>
</tr>
<tr>
<td style="font-size:9px;color:#039;"><?php if(isset($errpassword)) echo $errpassword; ?></td>
</tr>
<tr>
<td style="font-size:9px;color:#039;"><?php if(isset($errrptpwd)) echo $errrptpwd; ?></td>
</tr>
<tr>
<td style="font-size:9px;color:#039;"><?php if(isset($errnavn)) echo $errnavn; ?></td>
</tr>
<tr>
<td style="font-size:9px;color:#039;"><?php if(isset($erradresse)) echo $erradresse; ?></td>
</tr>
<tr>
<td style="font-size:9px;color:#039;"><?php if(isset($errtelefon)) echo $errtelefon; ?></td>
</tr>
<tr>
<td style="font-size:9px;color:#039;"><?php if(isset($erremail)) echo $erremail; ?></td>
</tr>
</table>
<h2>Opret bruger</h2>
<form name="form1" method="post" action="opretbruger.php">
<table width="450">
<tr>
<td><h3>Brugeroplysninger</h3></td>
</tr>
<tr>
<td>Brugernavn: (*)</td>
</tr>
<tr>
<td><input name="brugernavn" type="text" id="name" style="width:60%;" value="<?php $_POST['brugernavn'] ?>"></td>
</tr>
<tr>
<td>Ønsket adgangskode: (*)</td>
</tr>
<tr>
<td><input name="password" type="password" id="password" style="width:60%;" value="<?php $_POST['password'] ?>"></td>
</tr>
<tr>
<td>Gentag adgangskode: (*)</td>
</tr>
<tr>
<td><input name="passwordrepeat" type="password" id="passwordrepeat" style="width:60%;" value="<?php $_POST['passwordrepeat'] ?>"></td>
</tr>
<tr>
<td><h3>Kontaktoplysninger</h3></td>
</tr>
<tr>
<td>Navn: (*)</td>
</tr>
<tr>
<td><input name="navn" type="text" id="navn" style="width:60%;" value="<?php $_POST['navn'] ?>" /></td>
</tr>
<tr>
<td>Adresse: (*)</td>
</tr>
<tr>
<td><input name="adresse" type="text" id="adresse" style="width:60%;" value="<?php $_POST['adresse'] ?>" /></td>
</tr>
<tr>
<td>Telefon: (*)</td>
</tr>
<tr>
<td><input name="telefon" type="text" id="telefon" style="width:60%;" value="<?php $_POST['telefon'] ?>" /></td>
</tr>
<tr>
<td>E-mail: (*)</td>
</tr>
<tr>
<td><input name="email" type="text" id="email" style="width:60%;" value="<?php $_POST['email'] ?>" /></td>
</tr>
<tr>
<td style="text-align:center;"><input type="submit" name="opret-bruger" value="Opret bruger" style="background-color:#fff;"></td>
</tr>
<tr>
<td>Felter markeret med * skal udfyldes.</td>
</tr>
</table>
</form>
