syntax error, unexpected $end
Er rimelig ny i PHP, men jeg er i gang med at lave mit eget lille login system, og tror efterhånden jeg har fået elimineret de værste fejl, men der er dog en der bliver ved med at irritere mig...Og nu er jeg så nået til det punkt hvor jeg nærmeste har opgivet at finde den selv... det drejer sig om en syntax error, unexpected $end i den allernederste linie i nedenstående kode...
Jeg ville sætte stor pris på hvis nogle gad hjælpe mig... Da det sikkert bare er et eller andet banalt jeg har overset...
Koden er som følger:
<?php
include_once('db_con.inc');
$encstr = '123321';
function user_register()
{
global $encstr;
if(strlen($_POST['user_name']) <=25 && strlen($_POST['password1'])<=25 && ($_POST['password1'] == $_POST['password2']) && strlen($_POST['email']) < 50 && validate_email($_POST['email']))
{
//Validere Username og Password
if (account_namevalid($_POST['user_name'])|| str($_POST['password1'] >= 6 ))
{
$user_name = strtolower($_POST['user_name']);
$user_name = trim($user_name);
$email = $_POST['email'];
//Tillad ikke dubletter.
$query = "SELECT user_id
FROM user
WHERE user_name = '$user_name'
AND email = '$email'";
$result = mysql_query($query);
if ($result && mysql_num_rows($result) > 0)
{
$feedback = 'FEJL! - Username eller Password eksistere allerede.';
return $feedback;
}
else
{
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$password = md5($_POST['password1']);
$userip = $_SERVER['REMOTE_ADDR'];
//Opret nyt Hash til indsættelse i databasen og bekraftigelses emailen.
$hash = md5($email.encstr);
$query = "INSERT INTO users (user_name, fornavn, efternavn, password, email, remote_addr, confirm_hash, is_confirmed, date_created)
VALUES ('$user_name', '$first_name', '$last_name','$password','$email','$user_ip','$hash','0', NOW())";
$result = mysql_query($query);
if(!$result)
{
$feedback = 'FEJL! - Database fejl!';
return $feedback;
}
else
{
//Send bekraftigelses email.
$encoded_email = urlencode($_POST['email']);
$mail_body = <<< EOMAILBODY
Tak fordi du valgte at registrere dig her.
Klik på linket for at bekræfte din registrering:
http://localhost/PHP/eks/confirm.php?hash=$hash&email=$encoded_email
Når du har set et bekræftigelsesvindue, vil du blive logget ind på
siden.
EOMAILBODY;
mail($email, 'Registration Bekraftigelse', $mail_body, 'From: noreply@eks.dk');
//Give a succesful registration messeage
$feedback = 'Du har registreret med succes. Du vil snart modtage en bekraftigelses email';
return $feedback;
}
}
}
else {
$feedback = 'FEJL! - Username eller password er ugyldigt!';
return $feedback;
}
}
else{
$feedback = 'FEJL! - Vær venlig at udfylde alle felterne korrekt!';
return $feedback;
}
}
function account_namevalid()
{
// Der skal være mindst en karakter
if(strspn(bekræftigelses_POST['user_name'], "abcdefghijlkmnopqrstuvwxyzæøåABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ1234567890-_") !=strlen($name))
{
return = false;
}
// min og max længde
if(strlen($_POST[user_name]) <5)
{
return false;
}
if(strlen($_POST[user_name])>25)
{
return false;
}
//"Ulovlige" navne
if (eregi('^((root)|(bin)|(daemon)|(adm)|(lp)|(sync)|(shutdown)|(halt)|(mail)|(news)|(uucp)|(operator)|(games)|(mysql)|(httpd)|(nobody)|(dummy)|(www)|(cvs)|(shell)|(ftp)|(irc)|(debian)|(ns)|(download)|(ingen)|(ingenting))$',$_POST[user_name]))
{
return false;
}
if(ergi("^(anoncvs_)", $_POST[user_name]))
{
return false;
}
return true;
}
function validate_email()
{
return (ereg('^[-!#$%\'*+\\./0-9=?A-Å^_`a-å{|}~]+'.'@'. '[-!#$%\'*+\\./0-9=?A-Å^_`a-å{|}~]+\.' . '[-!#$%\'*+\\./0-9=?A-Å^_`a-å{|}~]'));
}
function user_confirm()
{
//Denne funktion vil kun virke med superglobale arrys, da jeg ikke passer eller deklerer nogle globals
global $encstr;
//Tjek at der ikke er blevet pillet ved emailadressen.
$new_hash = md5($_GET[email].$encstr);
if($new_hash && ($new_hash == $_GET ['hash']))
{
$query = "SELECT user_name FROM users WHERE confirm_hash = '$new_hash'";
$result = mysql_query($query);
if(!$result || mysql_num_rows($result) < 1)
{
$feedback = 'FEJL! - Hash ikke fundet.';
return $feedback;
}
else
{
//Bekraft emailadressen og aktivere kontoen.
$email = $_GET[email];
$hash = $_GET[hash];
$query = "UPDATE users SET email='$email', is_confirmed='1' WHERE confirm_hash='$hash'";
$result = mysql_query($query);
return 1;
}
}
else
{
$feedback = 'FEJL! - Værdierne stemmer ikke overens!';
return $feedback;
}
}
?>