Yes, your bad. Can't be giving beginners bad advice man, its just not cool. :queasy:
But regarding security, how does this look guys?
if(empty($_GET) && empty($_POST)) {
die('Please do not access this file directly.');
}
$dbcnx = mysql_connect("localhost","removed","removed") or die("Error Connecting to DB");
$db = mysql_select_db("prefix_dbname",$dbcnx) or die("Error Selecting Database");
if(isset($_GET['remove'])) {
$match = $_GET['remove'];
$query = mysql_query("SELECT * FROM entries WHERE email = '$match'");
if(mysql_num_rows($query) == true) {
$query .= mysql_query("DELETE FROM entries WHERE email = '$match'");
die ("<p>The email address <b>".mysql_real_escape_string($match)."</b> has been removed.</p>"
."<p><a href='/test/test.php'>OK</a></p>");
} else {
die ("<p><b>Error:</b> The email address <b>".mysql_real_escape_string($match)."</b> is not "
."in our DB, or has already been removed.</p><p><a href='/test/test.php'>OK</a></p>");
}
$result = mysql_query($query,$dbcnx) or die("Error in Query");
}
$fn = $_POST['FirstName'];
$ln = $_POST['LastName'];
$em = $_POST['email'];
if (preg_match("/^[a-zA-Z]/", $fn, $matches) && preg_match("/^[a-zA-Z]/", $ln, $matches) && preg_match("/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/", $em, $matches)) {
$query = mysql_query("SELECT * FROM entries WHERE email = '$em'");
if(mysql_num_rows($query) == false) {
$query = "INSERT INTO entries values('$fn', '$ln', '$em')";
$result = mysql_query($query,$dbcnx) or die("Error in Query");
} else {
die("<p>That email address already exists in the DB.</p><p><a href='/test/test.php'>OK</a></p>");
}
}
mysql_close($dbcnx);
// etc, etc...
Seems to be working just fine to me.