07-02-2009, 16:13 | #1 |
Absinthe
Join Date: Jan 2007
Location: Chester
Posts: 2,345
|
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() Code:
$con = mysqli_connect($host,$user,$passwd) or die(mysql_error()); 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> 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>.'; } } ?> 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; } } |
07-02-2009, 16:17 | #2 |
Screaming Orgasm
Join Date: Jul 2006
Location: Newbury
Posts: 15,194
|
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(); ?> |
07-02-2009, 16:19 | #3 |
Absinthe
Join Date: Jan 2007
Location: Chester
Posts: 2,345
|
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! |
07-02-2009, 16:23 | #4 |
Chef extraordinaire
Join Date: Jul 2006
Location: Infinite Loop
Posts: 11,143
|
try mysql_connect instead of mysqli
__________________
"Dr Sheldon Cooper FTW!" |
07-02-2009, 16:25 | #5 |
Absinthe
Join Date: Jan 2007
Location: Chester
Posts: 2,345
|
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! |
07-02-2009, 16:27 | #6 |
Chef extraordinaire
Join Date: Jul 2006
Location: Infinite Loop
Posts: 11,143
|
from my use of mysqli it's been a dirty quick method of connecting when not using our framework.
__________________
"Dr Sheldon Cooper FTW!" |
07-02-2009, 16:33 | #7 |
Absinthe
Join Date: Jan 2007
Location: Chester
Posts: 2,345
|
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 Last edited by Joe 90; 07-02-2009 at 16:39. |
07-02-2009, 16:51 | #8 |
Chef extraordinaire
Join Date: Jul 2006
Location: Infinite Loop
Posts: 11,143
|
We use Zend for all our php coding so afraid I can't help with Dreamweaver 4
__________________
"Dr Sheldon Cooper FTW!" |
07-02-2009, 17:46 | #9 |
Absinthe
Join Date: Jan 2007
Location: Chester
Posts: 2,345
|
np. i was using phpDesinger2008 but noticed that the quotes (double and single) weren't being saved as 'plain text' so things were breaking.
|
07-02-2009, 20:12 | #10 |
Screaming Orgasm
Join Date: Jul 2006
Location: Newbury
Posts: 15,194
|
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).
|
Thread Tools | |
Display Modes | |
|
|