Hello. I have installed PHP4 and MySQL (.dmg) on Mac OSX v3 client. Everything is up and running. I have created tables in my DB, established user privileges, etc through the 'terminal' app. I have turned on web sharing through the 'preferences' panel and dragged my .php files to the 'sites' folder.
Accessing localhost/127.0.0.1 I see the .php files - simple scipts work.

The problem is connecting to my DB and being able to execute a simple query on any of my tables. Below is an authentication script I found. I want to match username/password entries. Unfortunately I cannot even establish a connection to my DB, the $PHP_AUTH_USER AND _PW don't seem to do anything and I keep getting the 401 error. What can I do to get at my tables? (I apologize about the long email, but if anyone has some advice please let me know) Do the .dmg files set up PHP as a standalone/cgi instead of an apache module?

-----

<?php


$auth = false; // Assume user is not authenticated


if (isset( $PHP_AUTH_USER ) && isset($PHP_AUTH_PW)) {


// Connect to MySQL


mysql_connect( 'hostname', 'username', 'password' )
or die ( 'Unable to connect to server.' );


// Select database on MySQL server


mysql_select_db( 'your_db' )
or die ( 'Unable to select database.' );


// Formulate the query


$sql = "SELECT * FROM users WHERE
username = '$PHP_AUTH_USER' AND
password = '$PHP_AUTH_PW'";


// Execute the query and put results in $result


$result = mysql_query( $sql )
or die ( 'Unable to execute query.' );


// Get number of rows in $result.


$num = mysql_numrows( $result );


if ( $num != 0 ) {


// A matching row was found - the user is authenticated.


$auth = true;


}


}


if ( ! $auth ) {


header( 'WWW-Authenticate: Basic realm="Private"' );
header( 'HTTP/1.0 401 Unauthorized' );
echo 'Authorization Required.';
exit;


} else {


echo '<P>You are authorized!</P>';
}


?>


html >>


<form action='post' methos="xxx.php"
<input type="text" name="username" value="" />
<input type="password" name="password" value="" />
.....submit button
</form>

Recommended Answers

All 2 Replies

Try replacing $PHP_AUTH_USER and $PHP_AUTH_PW with $_SERVER and $_SERVER respectively.

I will give it try thanks. I will log in tomorrow to let you know if it worked.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.