Ik vroeg me af als ik goed bezig was met deze memebersysteem?

Mvg ,

<?php include ("db.php"); ?>
<?php

function safe($value){
return mysql_real_escape_string($value);
}
?>
<?php

$username = safe($_POST["username"]);
$password = safe($_POST["password"]);
$email = safe($_POST["email"]);
$country = safe($_POST["country"]);
$date = safe (date("Y-n-j"));
$ip = safe ($_SERVER['REMOTE_ADDR']);



$query1 = "SELECT * FROM members WHERE username='".$username."'";
$result1 = mysql_query($query1) or die(mysql_error());

$query2 = "SELECT * FROM members WHERE email='".$email."'";
$result2 = mysql_query($query2) or die(mysql_error());

$query3 = "SELECT * FROM members WHERE country='".$country."'";
$result3 = mysql_query($query3) or die(mysql_error());

if(empty($username) OR empty($password) OR empty($email) OR empty($country)){

die ("you have not filled in everything");

}elseif(mysql_num_rows($result1) > 0){

die ("<font color=\"#cc9900\">Error: </font>Username name already exists !");

}elseif(mysql_num_rows($result2) > 0){

die ("<font color=\"#cc9900\">Error: </font>Email already exist !");

}elseif(mysql_num_rows($result3) > 0){

die ("<font color=\"#cc9900\">Error: </font>country already exist !");

}elseif(!preg_match("/^[-_0-9a-z]{2,}$/i", $username)) {

die ("Username may only exist -> (a-z, 0-9), underscore (_) or (-).");

}elseif(!preg_match("/^[-_0-9a-z]{2,}$/i", $email)) {

die ("email may only exist -> (a-z, 0-9), underscore (_) or (-).");


}elseif(!preg_match("/^[-_0-9a-z]{2,}$/i", $country)) {

die ("country name may only exist -> (a-z, 0-9), underscore (_) or (-).");


}else{

mysql_query("INSERT INTO members
(email, username, password, country, ip, date ) VALUES('$email', '$username', '$password', '$country', '$ip', '$date')")
or die(mysql_error());



print "welcome you can now log in";

}


?>
volgens mij heb ik dit script eerder gezien?

edit: geen onnodige $vars aanmaken
geen or die
mysql_real_escape_string pas in de query doen
geen 3 verschillende query's doen, is niet handig
geen inline css
r 35. waarom mag er maar 1 iemand uit een land komen?
Gebruik geen die() en probeer PHP van HTML te scheiden (zover mogelijk). Gebruik ook nooit de <font> tag, die is hopeloos verouderd.

Nog een tip: je kan ook een functie maken die alle waarden binnen $_POST escaped zodat je niet elke variabele apart hoeft te escapen (en je voorkomt dat je variabelen vergeet.

Edit: en "country name may only exist -> (...)" is niet goed Engels.

Reageren