Fejl i sql?
HejJeg er i gang med at lave et brugersystem. Nu er jeg nået til en brugeropretningsside. Min kode er som følger:
"
<?
session_start();
header("Cache-control: private"); //IE 6 Fix
if(!$_SESSION['brugernavn']){
$msg = "Log ind nedenfor";
header("Location: logind.php?msg=".$msg);
}
if($_SESSION['user_level'] == 4){
echo "Du har været for dum, så du må ikke en skid! Så kan du lære det!!!";
exit();
}
require("../billeder/mysql/mysql-funktioner.php");
$personens_fornavn = $_POST['personens_fornavn'];
$personens_mellemnavn = $_POST['personens_mellemnavn'];
$personens_efternavn = $_POST['personens_efternavn'];
$personens_email = $_POST['personens_email'];
$personens_tlfnr = $_POST['personens_tlfnr'];
$personens_user_level = $_POST['personens_user_level'];
if($personens_user_level < $_SESSION['user_level']){
echo"Du har valgt et user level der er højere end dit eget!<br \> Dette tillades ikke!";
include("opret_bruger.php");
exit();
}
if(!$personens_fornavn || !$personens_efternavn || !$personens_email || $personens_tlfnr){
echo "Du mangler at udfylde alle felterne markeret med *!";
include("opret_bruger.php");
exit();
}
function makeRandomPassword() {
$salt = "abchefghjkmnpqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$i = 0;
while ($i <= 7) {
$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
$personens_password = makeRandomPassword();
$personens_brugernavn = makeRandomPassword();
aabn_forbindelse_og_vaelgdb();
$findes = mysql_query("SELECT * FROM brugere WHERE email='$personens_email'");
$sql = mysql_query("INSERT INTO brugere (brugernavn, fornavn, mellemnavn, efternavn, password, email, tlfnr, user_level, signup_date, oprettet_af) VALUES('$personens_brugernavn', '$personens_fornavn', '$personens_mellemnavn', '$personens_efternavn', '$personens_password', '$personens_email', '$personens_tlfnr', '$personens_user_level', now(), '$_SESSION['brugernavn']')");
luk_forbindelse();
if(mysql_num_rows($findes) > 0){
echo "Der er allerede oprettet en bruger med emailadressen ".$personens_email;
include("opret_bruger.php");
exit();
}
if($sql) {
echo "Der er blevet sendt et brugernavn og password til $personens_email";
} else {
echo "Der opstod en fejl - prøv igen! Hvis fejlen fortsætter kontakt da en admin.";
include("opret_bruger.php");
exit();
}
?>
"
Dette giver følgende fejl: " Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /hsphere/local/home/nicolai/sag.niconet.dk/system/opret_bruger_check.php on line 52 "
Linie 52 er: " $sql = mysql_query("INSERT INTO brugere (brugernavn, fornavn, mellemnavn, efternavn, password, email, tlfnr, user_level, signup_date, oprettet_af) VALUES('$personens_brugernavn', '$personens_fornavn', '$personens_mellemnavn', '$personens_efternavn', '$personens_password', '$personens_email', '$personens_tlfnr', '$personens_user_level', now(), '$_SESSION['brugernavn']')"); "
Jeg kan ikke finde ud af, hvad der er galt med den linie, så nu tilspørger jeg jer.
Håber I kan finde ud af det!
Med venlig hilsen
Nicolai
