opretbruger problem - mystisk fejl
Hei til alle.Jeg har været i gang i et godt stk tid nu med den her kode til en opret bruger - den er pakket ind i en function.
når jeg forsøger at indtaste oplysningerne i min formular og trkker på submit knapper så kommer denne fejl "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by, postnr, email, sex, password) values ('Daniel Clausen','viborg','8800','dac_' at line 1"
Min kode ser sådan her ud.
function opretbruger($db){
echo "
<form method='post' action='".$_SERVER['PHP_SELF']."?page=71'>
<br /><input name='navn' type='text' placeholder='Fulde Navn' size='29' value='' />*<br /><br />
<input name='by' type='text' placeholder='Din by' size='16' value='' />*
<input name='postnr' type='text' placeholder='Postnr' value='' size='4' />*<br /><br />
<input name='email' type='text' placeholder='E-Mail (Brugernavn)' size='29' value='' />*<br /><br />
<input name='opret_form_password1' type='password' placeholder='Password' size='29' value='' />*<br /><br />
<input name='opret_form_password2' type='password' placeholder='Gentag Password' size='29' value='' />*<br /><br />
Køn:
<select name='sex'>*
<option value='F'>Female</option>
<option value='M'>Male</option>
</select><br /><br />
<input name='opret_bruger_button' type='submit' placeholder='nada' size='18' value='Opret Bruger' /><br />
</form>
";
echo "<br />Alle med (*) skal udfyldes!.<br /><br />";
if(isset($_SESSION['opret_eRR'])){
echo implode("<br />",$_SESSION['opret_eRR']);
unset($_SESSION['opret_eRR']);
}
if(isset($_POST['opret_bruger_button'])){
$_SESSION['opret_eRR'] = array();
if(empty($_POST['navn'])){
$_SESSION['opret_eRR'][] = "<br />Du mangler at udfylde Navn.<br />";
}
if(empty($_POST['by'])){
$_SESSION['opret_eRR'][] = "Du mangler at udfylde By.<br />";
}
if(empty($_POST['postnr'])){
$_SESSION['opret_eRR'][] = "Du mangler at udfylde postnr.<br />";
}
if(empty($_POST['email'])){
$_SESSION['opret_eRR'][] = "Du mangler at udfylde Email.<br />";
}
if(empty($_POST['sex'])){
$_SESSION['opret_eRR'][] = "<br />Er du mand eller dame ?.<br />";
}
if(empty($_POST['opret_form_password1'])){
$_SESSION['opret_eRR'][] = "Du mangler at udfylde Password.<br />";
}
if(empty($_POST['opret_form_password2'])){
$_SESSION['opret_eRR'][] = "Du mangler at udfylde Gentaget Password.<br />";
}
if((!empty($_POST['opret_form_password1']) && !empty($_POST['opret_form_password2'])) && ($_POST['opret_form_password1'] <> $_POST['opret_form_password2'])){
$_SESSION['opret_eRR'][] = "Dit password og gentaget password er ikke ens.<br />";
}
if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
$_SESSION['opret_eRR'][] = "E-Mailen er ikke gyldig.<br />";
}
echo "<pre>";
print_r($_SESSION['opret_eRR']);
echo "</pre>";
unset($_SESSION['opret_eRR']);
$email = $_POST['email'];
$sql = "select * from user where email = '".$email."'";
$sqlQuery = mysqli_query($db,$sql);
$intQuery = mysqli_num_rows($sqlQuery);
if($intQuery == true){
$_SESSION['opret_eRR'][] = "Bruger eksisterer allerede i systemet.";
}
if(!empty($_SESSION['opret_eRR'])){
header('location:?page=71');
}
$user_name = $_POST['navn'];
$user_by = $_POST['by'];
$user_postnr = $_POST['postnr'];
$user_email = $_POST['email'];
$user_sex = $_POST['sex'];
$user_password = sha1($_POST['opret_form_password1']);
$sql = "insert into user (navn, by, postnr, email, sex, password) values ('".$user_name."','".$user_by."','".$user_postnr."','".$user_email."','".$user_sex."','".$user_password."')";
$sqlQuery = mysqli_query($db,$sql);
if(!$sqlQuery){
echo "Fejl i forespørgsel: ".mysqli_error($db);
}else{
echo "indhold gemt";
}
}
}
og min database ser sådan her ud.
===Database golfen
== Struktur-dump for tabellen user
|------
|Feltnavn|Datatype|Nulværdi|Standardværdi
|------
|//**id**//|int(11)|Nej|
|navn|varchar(255)|Nej|
|by|varchar(255)|Nej|
|postnr|int(11)|Nej|
|email|varchar(255)|Nej|
|sex|varchar(255)|Nej|
|password|varchar(255)|Nej|
|date|timestamp|Nej|CURRENT_TIMESTAMP
== Data dump for tabellen user
håber nogen kan se hvad jeg gør forkert på forhånd TAK!