Parse Error?

+4 Brandon Bennett · November 5, 2014
I'm having some trouble and i'm not sure what a parse error is. 

I keep getting this error: 

"Parse error: syntax error, unexpected 'return' (T_RETURN) in /functions/users.php on line 14" and I'm not sure what i'm missing.

Here is the code i'm using:

<?php
function user_data($user_id){ 
$data = array();

}

function logged_in() {
return (isset($_SESSION['user_id'])) ? true : false;
}

function user_exists() {
$username = sanitize($username);
$query = mysql_query("SELECT COUNT ('user_id') FROM `users` WHERE `username` = '$username'")
return (mysql_result($query, 0) ==1) ? true : false;
}

function user_active() {
$username = sanitize($username);
$query = mysql_query("SELECT COUNT ('user_id') FROM `users` WHERE `username` = '$username' AND `active` = 1")
return (mysql_result($query, 0) ===1) ? true : false;
}

function user_id_from_username($username) {
$username = sanitize($username);
return mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `username` = '$username'"), 0 'user_id');
}

function login($username, $password) {
$user_id = user_id_from_username($username);

$username = sanitize($username);
$password = md5($password);

return (mysql_result(mysql_query("SELECT COUNT('user_id') FROM `users` WHERE `username` = '$username' AND `password` = '$password'"), 0) ==1) ? $user_id : false;
}
?>

Please let me know if there is anything that i can do to fix this. 

Thank you!

Post a Reply

Replies

- page 3
Oldest  Newest  Rating
0 Ron Butcher · November 18, 2014
That is the correct thing you should see if you leave either the password or username blank. 

 As long as the script completes, you will always see the works to here-5.  As long as your errors printed below that it looks like you are good to go.
0 Brandon Bennett · November 19, 2014
okay, so i thought i typed more (brain glitch) when i forget a user or password the first bit of code runs well, but when i do the other combos [i.e. wrong user name, wrong password, not activated] it doesn't run the script past that. 

And i must have done something good when resetting back to my code, i got a new error 

"Warning: mysqli_query() expects at least 2 parameters, 1 given in core/functions/users.php on line 12"

Does that mean i need to pass the username and password through the function?
0 Brandon Bennett · November 19, 2014
function user_exists($username) {
$username = sanitize($username);
$query = mysqli_query("SELECT COUNT(user_id) FROM `users` WHERE `username` = '$username'") or die(mysql_error());
return (mysqli_result($query, 0) ==1) ? true : false;


Thats the bit in question apparently, more specifically: 


$query = mysqli_query("SELECT COUNT(user_id) FROM `users` WHERE `username` = '$username'") or die(mysql_error());
0 Brandon Bennett · November 6, 2014
Oh my gosh, haha that is killer! thank you so much for helping me!
0 Ron Butcher · November 19, 2014
mysqli needs your connect information passed as well as the query.

$link = mysqli_connect("host", "login_name", "login_password", "database");
$query = mysqli_query($link, "SELECT COUNT(user_id) FROM `users` WHERE `username`='$username'") or die(mysqli_error($link));

I like using the OOP mysqli myself
$mysqli = new mysqli("host", "login_name", login_passord", "database");
$query = $mysqli->query("SELECT COUNT(user_id) FROM `users` WHERE `username` = '$username'") or die($mysqli->error);
-1 Code Demon · November 20, 2014
Why do you need to check if the whole $_POST array is empty

if (empty($_POST) === false) {


Isn't the following code enough?
if (empty($username) === true || empty($password) === true) {

Anyway, my take on this that the $errors array is empty. That is why it doesn't display anything.
Also, make sure that the username and password is really posted.
One more thing stay away from mysql functions use mysqli instead.

PHP

126,649 followers
About

Server-side, HTML embedded scripting language used to create dynamic Web pages.

Links
Moderators