Boat Drinks  

Go Back   Boat Drinks > General > Computer and Consoles

Reply
 
Thread Tools Display Modes
Old 07-02-2009, 16:13   #1
Joe 90
Absinthe
 
Joe 90's Avatar
 
Join Date: Jan 2007
Location: Chester
Posts: 2,345
Default Any PHP coders around here?

I'm having issues with errors and i can't stand debugging PHP.

i've written a forum, got all the code, forms, scripts etc sorted. but obviously when you put it up it moans.

http://homepages.shu.ac.uk/~mwalker8/bbad/forum/

The registration works fine, login doesnt no idea why at the moment.

main problem though i guess;
Code:
Fatal error: Call to undefined function mysqli_connect()
so i'm using that standard sqli function like this;
Code:
$con = mysqli_connect($host,$user,$passwd) or die(mysql_error());
does anybody know exactly what this function does? its obviously in compatible with the uni server so i guess i need to write it out myself as it were.


also, theres that login that doesn't work...
so my code;
login form
Code:
<?php if (isset($login_error)) { ?>
There was an error: <?php echo $login_error; ?>, please try again.
<?php } ?>
<form action="login_submit.php" method="post">

<b>Username:</b> <input type="text" size="20" maxlength="20" name="username"
<?php if (isset($_POST['Username'])) { ?> value="<?php echo $_POST['Username']; ?>" <?php } ?>/><br />

<b>Password:</b> <input type="password" size="20" maxlength="10" name="Password" /><br />

<input type="submit" name="submit" value="Login" />
</form>
login script;
Code:
<?php

// Include start file
include 'start.php';

if (!isset($_POST['submit']))
{
     // Show the form
     include 'login.php';
     exit;
}
else
{
     // Try and login with the given Username & pass
     $result = user_login($_POST['Username'], $_POST['Password']);

     if ($result != 'Correct')
     {
          // Reshow the form with the error
          $login_error = $result;
          include 'login.php';
     }
     else
     {
          echo 'Thank you for logging in, please <a href="login.php">click here</a>.';
     }
}
?>
and those login functions;
Code:
function user_login($Username, $Password)
{
     // Try and get the rand from the database using the Username
     $query = "select rand from forum_Users where Username='$Username' limit 1";
     $result = mysql_query($query);
     $user = mysql_fetch_array($result);

     // Using the rand, encrypt the given Password to see if it
     // matches the one in the database
     $encrypted_pass = md5(md5($Password).$user['rand']);

     // Try and get the user using the Username & encrypted pass
     $query = "select UserID, Username from forum_Users where Username='$Username' and Password='$encrypted_pass'";
     $result = mysql_query($query);
     $user = mysql_fetch_array($result);
     $numrows = mysql_num_rows($result);

     // Now encrypt the data to be stored in the session
     $encrypted_id = md5($user['UserID']);
     $encrypted_name = md5($user['Username']);

     // Store the data in the session
     $_SESSION['UserID'] = $UserID;
     $_SESSION['Username'] = $Username;
     $_SESSION['encrypted_id'] = $encrypted_id;
     $_SESSION['encrypted_name'] = $encrypted_name;

    if ($numrows == 1)
    {
        return 'Correct';
    }
    else
    {
        return false;
    }
}

function user_logout()
{
     session_unset ();
     session_destroy ();
}

function is_authed()
{
     // Check if the encrypted Username is the same
     // as the unencrypted one, if it is, it hasn't been changed
     if (isset($_SESSION['Username']) && (md5($_SESSION['Username']) == $_SESSION['encrypted_name']))
     {
          return true;
     }
     else
     {
          return false;
     }
}
can anyone see an error? i can't figure it out
__________________
360 Blog | Join GiffGaff | Twitter
Joe 90 is offline   Reply With Quote
Old 07-02-2009, 16:17   #2
Mark
Screaming Orgasm
 
Join Date: Jul 2006
Location: Newbury
Posts: 15,194
Default

http://uk3.php.net/mysqli_connect

At a guess, your host doesn't have the required module built in to php. Putting the following in an empty file on your host:

Code:
<?php
phpinfo();
?>
And then opening that page in a web browser will tell you what you have.
Mark is offline   Reply With Quote
Old 07-02-2009, 16:19   #3
Joe 90
Absinthe
 
Joe 90's Avatar
 
Join Date: Jan 2007
Location: Chester
Posts: 2,345
Default

yeah i've stuck that in already...
http://homepages.shu.ac.uk/~mwalker8/bbad/

its on a uni server so its probably a very basic PHP install... and therefore no chance of getting additional libraries etc put on!
__________________
360 Blog | Join GiffGaff | Twitter
Joe 90 is offline   Reply With Quote
Old 07-02-2009, 16:23   #4
leowyatt
Chef extraordinaire
 
leowyatt's Avatar
 
Join Date: Jul 2006
Location: Infinite Loop
Posts: 11,143
Default

try mysql_connect instead of mysqli
__________________
"Dr Sheldon Cooper FTW!"
leowyatt is offline   Reply With Quote
Old 07-02-2009, 16:25   #5
Joe 90
Absinthe
 
Joe 90's Avatar
 
Join Date: Jan 2007
Location: Chester
Posts: 2,345
Default

ta. will give it a bash.

never actually looked through that php info page... i should really pay a bit more attention :/

not used to bein this new to stuff!
__________________
360 Blog | Join GiffGaff | Twitter
Joe 90 is offline   Reply With Quote
Old 07-02-2009, 16:27   #6
leowyatt
Chef extraordinaire
 
leowyatt's Avatar
 
Join Date: Jul 2006
Location: Infinite Loop
Posts: 11,143
Default

from my use of mysqli it's been a dirty quick method of connecting when not using our framework.
__________________
"Dr Sheldon Cooper FTW!"
leowyatt is offline   Reply With Quote
Old 07-02-2009, 16:33   #7
Joe 90
Absinthe
 
Joe 90's Avatar
 
Join Date: Jan 2007
Location: Chester
Posts: 2,345
Default

right, yeah that worked. but now all the other mysqli useage is causing problems!!

gonna have to lookup the correct syntax for the alternatives.

thanks leo

btw, do you know how to get Dreamweaver (CS4) to colour a .inc file as a php file

i edited extentions.txt last night to include on the php link the INC extention, but it didn't work
its so hard just looking at plain text.


___
got a bit further...
http://homepages.shu.ac.uk/~mwalker8/bbad/forum/

just gotta figure out how to pass this connection variable in the mysql_error func
__________________
360 Blog | Join GiffGaff | Twitter

Last edited by Joe 90; 07-02-2009 at 16:39.
Joe 90 is offline   Reply With Quote
Old 07-02-2009, 16:51   #8
leowyatt
Chef extraordinaire
 
leowyatt's Avatar
 
Join Date: Jul 2006
Location: Infinite Loop
Posts: 11,143
Default

We use Zend for all our php coding so afraid I can't help with Dreamweaver 4
__________________
"Dr Sheldon Cooper FTW!"
leowyatt is offline   Reply With Quote
Old 07-02-2009, 17:46   #9
Joe 90
Absinthe
 
Joe 90's Avatar
 
Join Date: Jan 2007
Location: Chester
Posts: 2,345
Default

np. i was using phpDesinger2008 but noticed that the quotes (double and single) weren't being saved as 'plain text' so things were breaking.
__________________
360 Blog | Join GiffGaff | Twitter
Joe 90 is offline   Reply With Quote
Old 07-02-2009, 20:12   #10
Mark
Screaming Orgasm
 
Join Date: Jul 2006
Location: Newbury
Posts: 15,194
Default

mysqli is the new MySQL interface, mysql the old. You can't easily mix and match, so I'm afraid you'll have to convert them all (or get your Uni to provide a more complete PHP installation).
Mark is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 06:03.


Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.