Jump to content


Photo

dbConnect


  • Please log in to reply
9 replies to this topic

#1 rscott7706

rscott7706
  • Members
  • PipPipPip
  • Advanced Member
  • 88 posts
  • LocationLakeside CA

Posted 23 May 2006 - 04:12 PM

OK folks, I am trying hard not to bother you all with every glitch I hit.

It is up to me to learn this stuff and solve my own problems. But, sometimes
the wind don't blow, and the grass don't grow... (line from Little Big Man - old movie).

I have worked on a problem for hours now, and think it may not be me, but the difference
between PHP4 (which my server is running) and the coding I have (PHP5)... I THINK!! Not sure.

The crash is at line 39 - dbConnect("egcaorga_mgt");

Messge:
Fatal error: Call to undefined function: dbconnect() in
/home/egcaorga/public_html/new_site/accesscontrol/accesscontrol.php on line 39

This seems to be a PHP 5 command. Am I going in the right direction? If so, is there an
equivalent PHP 4 command?

Here is the code:

<?php // accesscontrol.php
include_once 'common.php';
include_once 'db.php';

session_start();

$uid = isset($_POST['uid']) ? $_POST['uid'] : $_SESSION['uid'];
$pwd = isset($_POST['pwd']) ? $_POST['pwd'] : $_SESSION['pwd'];

if(!isset($uid)) {
?>
<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> Please Log In for Access </title>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1> Login Required </h1>
<p>You must log in to access this area of the site. If you are
not a registered user, <a href="signup.php">click here</a>
to sign up for instant access!</p>
<p><form method="post" action="<?=$_SERVER['PHP_SELF']?>">
User ID: <input type="text" name="uid" size="8" /><br />
Password: <input type="password" name="pwd" SIZE="8" /><br />
<input type="submit" value="Log in" />
</form></p>
</body>
</html>
<?php
exit;
}

$_SESSION['uid'] = $uid;
$_SESSION['pwd'] = $pwd;

dbConnect("egcaorga_mgt");
$sql = "SELECT * FROM user WHERE
userid = '$uid' AND password = PASSWORD('$pwd')";
$result = mysql_query($sql);
if (!$result) {
error('A database error occurred while checking your '.
'login details.\\nIf this error persists, please '.
'contact admin@egca.org.');
}

if (mysql_num_rows($result) == 0) {
unset($_SESSION['uid']);
unset($_SESSION['pwd']);
?>
<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> Access Denied </title>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1> Access Denied </h1>
<p>Your user ID or password is incorrect, or you are not a
registered user on this site. To try logging in again, click
<a href="<?=$_SERVER['PHP_SELF']?>">here</a>. To register for instant
access, click <a href="signup.php">here</a>.</p>
</body>
</html>
<?php
exit;
}

$username = mysql_result($result,0,'fullname');
?>

Thanks in advance...

[img src=\"style_emoticons/[#EMO_DIR#]/unsure.gif\" style=\"vertical-align:middle\" emoid=\":unsure:\" border=\"0\" alt=\"unsure.gif\" /]


#2 ryanlwh

ryanlwh
  • Staff Alumni
  • Advanced Member
  • 511 posts

Posted 23 May 2006 - 05:16 PM

it sounds like a funtion defined in the included "db.php". can you show us db.php?
Please use EDIT * 100...
Please use
or [php] * 1000...

PLEASE READ THE POSTED SOLUTIONS CAREFULLY * 1000000...

#3 rscott7706

rscott7706
  • Members
  • PipPipPip
  • Advanced Member
  • 88 posts
  • LocationLakeside CA

Posted 23 May 2006 - 05:23 PM

[!--quoteo(post=376398:date=May 23 2006, 10:16 AM:name=ryanlwh)--][div class=\'quotetop\']QUOTE(ryanlwh @ May 23 2006, 10:16 AM) View Post[/div][div class=\'quotemain\'][!--quotec--]
it sounds like a funtion defined in the included "db.php". can you show us db.php?
[/quote]

Sure - with password deleted of course...

<?php // db.php

mysql_connect("localhost","egcaorga_rscott","");
mysql_select_db("egcaorga_mgt");
?>

#4 ryanlwh

ryanlwh
  • Staff Alumni
  • Advanced Member
  • 511 posts

Posted 23 May 2006 - 05:32 PM

well, in this case dbConnect is not even needed...
Please use EDIT * 100...
Please use
or [php] * 1000...

PLEASE READ THE POSTED SOLUTIONS CAREFULLY * 1000000...

#5 wildteen88

wildteen88
  • Staff Alumni
  • Advanced Member
  • 10,482 posts
  • LocationUK, Bournemouth

Posted 23 May 2006 - 05:44 PM

Umm, dbConnect is a non-existant defined function within PHP. But is more likely to be a user definied function instead. From looking at your code dbConnect isn't needed at all. So remove it from your code and you should be fine. Unless its defined in common.php as thats another file you are including.

#6 rscott7706

rscott7706
  • Members
  • PipPipPip
  • Advanced Member
  • 88 posts
  • LocationLakeside CA

Posted 23 May 2006 - 05:47 PM

[!--quoteo(post=376407:date=May 23 2006, 10:32 AM:name=ryanlwh)--][div class=\'quotetop\']QUOTE(ryanlwh @ May 23 2006, 10:32 AM) View Post[/div][div class=\'quotemain\'][!--quotec--]
well, in this case dbConnect is not even needed...
[/quote]

I would tend to agree with you, but it is specifically in the script. Look at it here:

[a href=\"http://www.sitepoint.com/article/users-php-sessions-mysql/5\" target=\"_blank\"]http://www.sitepoint.com/article/users-php-sessions-mysql/5[/a]

I previously thought that may be the problem before and took it out,
but it crashed worse (if there is a "worse"). I also tried coding it with my database
logon stuff in this file instead of the include db.php - no change - same error code.

I am dumfounded that all these scripts that are supposed to be simple and
straighforward seem to crash.

I tried Crayon Violent's one at:
[a href=\"http://www.phpfreaks.com/forums/index.php?showtopic=92613&st=0&p=370773&#entry370773\" target=\"_blank\"]http://www.phpfreaks.com/forums/index.php?...73&#entry370773[/a]

It gives me a:

Warning: session_start(): Cannot send session cache limiter - headers already sent
(output started at /home/egcaorga/public_html/new_site/accesscontrol/access/authenticate.php:9) in /home/egcaorga/public_html/new_site/accesscontrol/access/authenticate.php on line 10
Err:Query

#7 wildteen88

wildteen88
  • Staff Alumni
  • Advanced Member
  • 10,482 posts
  • LocationUK, Bournemouth

Posted 23 May 2006 - 05:57 PM

Looks like you may have missread the tutorial. Look on this page [a href=\"http://www.sitepoint.com/article/users-php-sessions-mysql/3\" target=\"_blank\"]here[/a] at the first block of PHP code. Notice they have defined their own function called dbConnect in db.php

If you copy the code they have used for db.php into your db.php all should be fine.

About the session error make sure you have place your code in the correct place and that you have followed the tutorial correctly too by reading through the tutorial again. Chances are you may have made a mistake somewhere along the line.

#8 rscott7706

rscott7706
  • Members
  • PipPipPip
  • Advanced Member
  • 88 posts
  • LocationLakeside CA

Posted 23 May 2006 - 06:33 PM

Crud man... The db.php was an iteration I put up trying to make it work.

Then I posted here mistakenly - not remembering I had changed the original.

I went back to the original and it still crashes. I think I am just not analytical enough
for this php stuff.

I know I have looked it over several times, and everthing is (to my knowledge) exactly
as it should be. But I know there is something I am missing. But I tire of myself and lack
of skills here.

Thnks for your help and patience with me...

#9 DapperDanMan

DapperDanMan
  • Members
  • PipPip
  • Member
  • 17 posts

Posted 25 May 2006 - 04:00 AM

Okay, I admit up front, I am new to php. But I swear I see some mistakes in the code?
[!--quoteo--][div class=\'quotetop\']QUOTE[/div][div class=\'quotemain\'][!--quotec--]<?php // accesscontrol.php
include_once 'common.php';
include_once 'db.php';

session_start();[/quote]

I have always seen the include function with '(' and ')' around the included file. Is this something you don't need? Also, I have always placed my "session_start()" at the very top of the code. Now, the manual says if you are doing sessions with cookies it has to be this way, but could this be another problem perhaps?
Please enlighten me, because I am very curious about these two things that I see.

Thank you,

DapperDanMan
[a href="http://www.brierrowstudio.com" target="_blank"]http://www.brierrowstudio.com[/a]

#10 wildteen88

wildteen88
  • Staff Alumni
  • Advanced Member
  • 10,482 posts
  • LocationUK, Bournemouth

Posted 25 May 2006 - 12:54 PM

[!--quoteo(post=376885:date=May 25 2006, 05:00 AM:name=DapperDanMan)--][div class=\'quotetop\']QUOTE(DapperDanMan @ May 25 2006, 05:00 AM) View Post[/div][div class=\'quotemain\'][!--quotec--]
Okay, I admit up front, I am new to php. But I swear I see some mistakes in the code?
I have always seen the include function with '(' and ')' around the included file. Is this something you don't need? Also, I have always placed my "session_start()" at the very top of the code. Now, the manual says if you are doing sessions with cookies it has to be this way, but could this be another problem perhaps?
Please enlighten me, because I am very curious about these two things that I see.

Thank you,

DapperDanMan
[/quote]
when using inlcude or require you dont have to use the parentheses () around the file you are including, either of the following will work:
include("filename.php");

include 'filename.php';

include "filename.php";

You can place session_start() whereever you want, BUT you must now have any output (text/html) to the browser before the use of session start(). For example this will cause an error:
<html>
... html here ...
<body>
<?php
session_start();

//rest of PHP here
But this wont:
<?php
session_start();
?><html>
... html here ...
<body>
<?php

//rest of PHP here





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users