aaronrb Posted March 27, 2006 Share Posted March 27, 2006 hey All, i have cheked out about 4tutorials on Http authentication including the one on php freaks, which was the first.i am having some problems with it, being that i put the username and password in and all it does is reopen the password box.i did think that maybe my host doesnt allow this, if that is possible, but then i thought again that it would display the losing box.here is my code. [!--quoteo--][div class=\'quotetop\']QUOTE[/div][div class=\'quotemain\'][!--quotec--]<?php $auth = false; // Assume user is not authenticated if (isset( $PHP_AUTH_USER ) && isset($PHP_AUTH_PW)) { // Connect to MySQL mysql_connect( 'db1.awardspace.co.uk', 'tkd1987_aaron', 'raymond' ) or die ( 'Unable to connect to server.' ); // Select database on MySQL server mysql_select_db( 'tkd1987_aaron' ) 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>'; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <meta name="generator" content="Adobe GoLive"> <title>Untitled Page</title> </head> <body bgcolor="#ffffff"> <p>Login Successful:</p> <p></p> <p></p> </body></html>[/quote] Link to comment https://forums.phpfreaks.com/topic/5957-http-authenication/ Share on other sites More sharing options...
toplay Posted March 27, 2006 Share Posted March 27, 2006 HTTP Basic authentication only will work if Apache is running as a module.Those variables will only work if you have register_globals on. It's best to keep it off and use $_SERVER['PHP_AUTH_USER'] and $_SERVER['PHP_AUTH_PW'] instead. See:[a href=\"http://us3.php.net/manual/en/features.http-auth.php\" target=\"_blank\"]http://us3.php.net/manual/en/features.http-auth.php[/a]How did you set the passwords to begin with? Link to comment https://forums.phpfreaks.com/topic/5957-http-authenication/#findComment-21325 Share on other sites More sharing options...
aaronrb Posted March 28, 2006 Author Share Posted March 28, 2006 ok, cool, but i havent got a clue whether apache is running or not, as i am using a free web host, and i cant find any info on that.as for username and password, they are in a mysql database. Link to comment https://forums.phpfreaks.com/topic/5957-http-authenication/#findComment-21483 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.