syntax fejl i php kode
Jeg har en registreringsform som driver mig "nuts"Jeg bliver ved med at få denne fejlmeddelelse, og kan bare ikke finde fejlen. Kan nogen hjælpe?
Error : 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 '' at line 2
(bruger phpMyAdmin 2.9.2-Debian-1.one.com1)
<?php
$dbhost = 'localhost';
$dbuser = 'bruger';
$dbpass = 'pass';
$dbname = 'dbnavn';
// make a connection to mysql here
@$conn = mysql_connect ($dbhost, $dbuser, $dbpass);
@$conn = mysql_select_db ($dbname);
if(!$conn){
die( "Beklager... kan ikke forbinde til databasen i øjeblikket.");
}
// Fejlgenerering
function errors($error){
if (!empty($error))
{
$i = 0;
while ($i < count($error)){
echo "<p><span class=\"warning\">".$error[$i]."</span></p>\n";
$i ++;}
}
}
//Kør denne kode hvis formen er udfyldt
if (isset($_POST['submit']))
{
// Tjek for tomme felter
$priv_fnavn = trim($_POST['priv_fnavn']);
if (strlen($priv_fnavn) < 2) {
$error[] = 'Fornavn skal være mellem 2 og 20 tegn.';
}
if (strlen($priv_fnavn) > 20) {
$error[] = 'Fornavn skal være mellem 2 og 20 tegn.';
}
// Tjek for tomme felter
$priv_enavn = trim($_POST['priv_enavn']);
if (strlen($priv_enavn) < 3) {
$error[] = 'Efternavn skal være mellem 3 og 20 tegn.';
}
if (strlen($priv_enavn) > 20) {
$error[] = 'Efternavn skal være mellem 3 og 20 tegn.';
}
// Tjek for tomme felter
$priv_adresse = trim($_POST['priv_adresse']);
if (strlen($priv_adresse) < 3) {
$error[] = 'Adressen skal være mellem 3 og 20 tegn.';
}
if (strlen($priv_adresse) > 20) {
$error[] = 'Adressen skal være mellem 3 og 20 tegn.';
}
//Tjek for tomme felter
$priv_zip = trim($_POST['priv_zip']);
if (strlen($priv_zip) < 4) {
$error[] = 'Postnummer skal være på 4 tal.';
}
if (strlen($priv_zip) > 20) {
$error[] = 'Potnummer skal væer på 4 tal.';
}
// Tjek for tomme felter
$priv_by = trim($_POST['priv_by']);
if (strlen($priv_by) < 2) {
$error[] = 'Bynavn skal være mellem 2 og 20 tegn.';
}
if (strlen($priv_by) > 20) {
$error[] = 'Bynavn skal være mellem 2 og 20 tegn.';
}
// Tjek for gyldig mail
$priv_mail = $_POST['priv_mail'];
$pattern = '/^[^@]+@[^\s\r\n\'";,@%]+$/';
if (!preg_match($pattern, trim($priv_mail))) {
$error[] = 'Indtast venligst en gyldig mailadresse';
}
// Tjek om mail er i brug
if (!get_magic_quotes_gpc()) {
$_POST[] = addslashes($_POST['priv_mail']);
}
$emailcheck = $_POST['Priv_mail'];
$emailcheck1 = mysql_query("SELECT priv_mail FROM priv_kontakt WHERE priv_mail = '$emailcheck'")
or die(mysql_error());
$emailcheck2 = mysql_num_rows($emailcheck1);
//Giv fejl hvis mail eksistere
if ($emailcheck2 != 0) {
$error[]
= 'Beklager, mailadressen <b>'.$_POST['priv_mail'].'</b> er
allerede i brug. Vælg venligst en anden mailadresse.';
}
// Tjek for tomme felter
$priv_tlf = trim($_POST['priv_tlf']);
if (strlen($priv_tlf) < 8) {
$error[] = 'Telefonnummer skal være på 8 tal.';
}
if (strlen($priv_tlf) > 8) {
$error[] = 'Telefonnummer skal være på 8 tegn.';
}
// Tjek for tomme felter
$password = trim($_POST['password']);
if (strlen($password) < 5) {
$error[] = 'Kodeord skal være mellem 5 og 10 tegn.';
}
if (strlen($password) > 10) {
$error[] = 'Kodeord skal være mellem 5 og 10 tegn.';
}
//
$password2 = trim($_POST['password2']);
if (strlen($password2) < 5) {
$error[] = 'Gentag Kodeord skal være mellem 5 og 10 tegn.';
}
if (strlen($password2) > 10) {
$error[] = 'Gentag Kodeord skal være mellem 5 og 10 tegn.';
}
// Tjek om begge password passer sammen
if ($_POST['password'] != $_POST['password2']) {
$error[] = 'Kodeord passer ikke sammen.';
}
// Hvis alt er ok fortsættes
if (!$error ) {
//Tilføj variabler fra data i formen
$priv_fnavn = $_POST['priv_fnavn'];
$priv_enavn = $_POST['priv_enavn'];
$priv_adresse = $_POST['priv_adresse'];
$priv_zip = $_POST['priv_zip'];
$priv_by = $_POST['priv_by'];
$priv_mail = $_POST['priv_mail'];
$priv_tlf = $_POST['priv_tlf'];
$password = $_POST['password'];
// Første bogstav stort resten små
$priv_fnavn = ucfirst(strtolower($priv_fnavn));
$priv_enavn = ucfirst(strtolower($priv_enavn));
if(!get_magic_quotes_gpc())
{
$priv_fnavn = addslashes($priv_fnavn);
$priv_enavn = addslashes($priv_enavn);
$priv_adresse = addslashes($priv_adresse);
$priv_zip = addslashes($priv_zip);
$priv_by = addslashes($priv_by);
$priv_mail = addslashes($priv_mail);
$priv_tlf = addslashes($priv_tlf);
$password = addslashes($password);
}
// Forhindre skadelig kode og sql injection
$priv_fnavn = mysql_real_escape_string($priv_fnavn);
$priv_enavn = mysql_real_escape_string($priv_enavn);
$priv_adresse = mysql_real_escape_string($priv_adresse);
$priv_zip = mysql_real_escape_string($priv_zip);
$priv_by = mysql_real_escape_string($priv_by);
$priv_mail = mysql_real_escape_string($priv_mail);
$priv_tlf = mysql_real_escape_string($priv_tlf);
$password = mysql_real_escape_string($password);
// Fjern al kode fra data
$priv_fnavn = strip_tags($priv_fnavn);
$priv_enavn = strip_tags($priv_enavn);
$priv_adresse = strip_tags($priv_adresse);
$priv_zip = strip_tags($priv_zip);
$priv_by = strip_tags($priv_by);
$priv_mail = strip_tags($priv_mail);
$priv_tlf = strip_tags($priv_tlf);
$password = strip_tags($password);
//RFørste bogstav stort resten små
$priv_fnavn = ucwords(strtolower($priv_fnavn));
$priv_enavn = ucwords(strtolower($priv_enavn));
$priv_adresse = ucwords(strtolower($priv_adresse));
$priv_by = ucwords(strtolower($priv_by));
$priv_mail = strtolower($priv_mail);
// Sæt i databasen
$insert1 = "INSERT INTO priv_kontakt (priv_fnavn, priv_enavn, priv_adresse, priv_zip, priv_by, priv_mail, priv_tlf, password)
VALUES ('$priv_fnavn', '$priv_enavn', '$priv_adresse', '$priv_zip', '$priv_by', '$priv_mail', '$priv_tlf', md5('$password')";
$result1 = mysql_query($insert1) or die('Error : ' . mysql_error());
//send email
$to = "$priv_mail";
$subject = "XXXXXXX.dk...Kontakt info";
$body
= "Kære $priv_fnavn
Tak for din tilmelding hos XXXXXX.dk.
Her er dine data.
Navn: $priv_fnavn $priv_enavn
Adresse: $priv_adresse
Postnr: $priv_zip
By: $priv_by
Tlf.nr: $priv_tlf
Kodeord: $priv_pass
Denne mail er sendt til dig for at verificerer,
at det er dig, og ikke en anden person, som har oprettet
kontaktinformationer hos xxxxxx.dk.
Klik venligst på nedenstående link for at komme videre
med oprettelse af dit projekt.
http://www.xxxxxx.dk/xxxx/layout.php
Med venlig hilsen
xxxxxx.dk\n\n";
if(mail($to, $subject, $body)){}
echo "<h2>Kontaktinfo</h2>";
echo "<p>Tak... <b>$priv_fnavn</b> Du er blevet registreret, og kan nu gå videre.</p>";
} // slut validering
} // slut hvis sendt
// Vis fejl
errors($error);
?>
