Nja det ser ganska fel ut. Har hjälpt dig lite nu för att se hur det kan se ut men du måste fixa egna funktioner själv eller använda de som finns. Sen behöver du inte kommentera varje variable eller rad...
<?php
$con = mysql_connect("hemligt","hemligt","hemligt");
if(!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("hemligt", $con);
//IfSetOr
function ifsetor(&$variable, $default = null)
{
if(isset($variable)) $tmp = $variable;
else $tmp = $default;
return $tmp;
}
//Validate String
function validate_string($string, $tags = "", $html = true, $mysql = true)
{
$string = trim($string);
if($tags)
{
if($tags == "all") $string = strip_tags($string);
else $string = strip_tags($string,$tags);
}
if(!$html) $string = htmlspecialchars($string);
if($mysql)
{
if(get_magic_quotes_gpc())
{
$string = stripslashes($string);
}
return mysql_real_escape_string($string);
}
return $string;
}
//exempel funktion för att förklara ett giltigt namn.
function validate_name($name)
{
$e = "";
if(strlen($name) < 2)
{
$e .= "A";
}
if(strlen($name) > 15)
{
$e .= "B";
}
if(!preg_match("/^[-A-Öa-ö]+$/i",$name))
{
$e .= "C";
}
return $e;
}
if(isset($_POST['uppgifter']))
{
$namn = ifsetor($_POST['namn'],"");
$namn = validate_string($namn);
//exempel funktion
$error_namn = validate_name($namn);
$personnummer = ifsetor($_POST['personnummer'],"");
$personnumer = validate_string($personnummer);
$adress = ifsetor($_POST['adress'],"");
$adress = validate_string($adress);
$postnummer = ifsetor($_POST['postnummer'],"");
$postnummer = validate_string($postnummer);
//sen behöver du inte använda validate string alltid. Om du vet att det bara ska vara ett nummer så kan du använda funktioner som (int), is_numeric
$ort = ifsetor($_POST['ort'],"");
$ort = validate_string($ort);
$land = ifsetor($_POST['land'],"");
$land = validate_string($land);
$alder = ifsetor($_POST['alder'],"");
$alder = validate_string($alder);
$email = ifsetor($_POST['email'],"");
$email = validate_string($email);
$mobil = ifsetor($_POST['mobil'],"");
$mobil = validate_string($mobil);
$datum = ifsetor($_POST['datum'],"");
$datum = validate_string($datum);
$betalsatt = ifsetor($_POST['betalsatt'],"");
$betalsatt = validate_string($betallsatt);
$storlek = ifsetor($_POST['name'],"");
$storlek = validate_string($storlek);
$output_text = "";
if($error_namn == "") //<- && $error_personnummer == ""...
{
mysql_query("INSERT INTO hemligt (`namn`,`personnummer`,`adress`, `postnummer`, `ort`, `land`, `mobil`, `datum`, `betalsatt`, `storlek`, )
VALUES ('$namn', '$personnummer', '$adress', '$ort', '$land', '$email', '$mobil', '$betalsatt', '$storlek')");
}
else
{
$output_text .= "<ul>";
if(strstr($error_namn,"A")) $output_text .= "<li>Namnet är för kort.</li>";
if(strstr($error_namn,"B")) $output_text .= "<li>Namnet är för långt.</li>";
if(strstr($error_namn,"C")) $output_text .= "<li>Namnet använder ogilitiga tecken.</li>";
$output_text .= "</ul>";
print $output_text;
}
}
else
{
//skickar dig till formen där du ska skriver in uppgifterna
header("Location: uppgifter_skriv.php");
}
?>
Jag brukar bara använda engelska ord när jag skriver i PHP så det har blivit lite blandat i din kod.
Sen kan du änven seperera funktionerna i en egen fil och använda require("adressen"); för använda dem.