Current location: Hot Scripts Forums » Programming Languages » PHP » Quick Question for you php guru's


Quick Question for you php guru's

Reply
  #1 (permalink)  
Old 04-07-04, 07:06 PM
Tokahashi Tokahashi is offline
Newbie Coder
 
Join Date: Apr 2004
Location: Chesterfield
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
Quick Question for you php guru's

Hey guys i have a few questions for you php guru's


first let me show you my script that i made from a tutorial i found online..

Database
PHP Code:

CREATE TABLE users (

     
username varchar (30),
     
password varchar (52),
     
email varchar (522)); 
database.php
PHP Code:

<?


/**
 * Connect to the mysql database.
 */
$conn mysql_connect("localhost""your_username""your_password") or die(mysql_error());
mysql_select_db('your_database'$conn) or die(mysql_error());

?>
register.php
PHP Code:

<?

session_start
(); 
include(
"database.php");

/**
 * Returns true if the username has been taken
 * by another user, false otherwise.
 */
function usernameTaken($username){
   global 
$conn;
   if(!
get_magic_quotes_gpc()){
      
$username addslashes($username);
   }
   
$q "select username from users where username = '$username'";
   
$result mysql_query($q,$conn);
   return (
mysql_numrows($result) > 0);
}

/**
 * Inserts the given (username, password) pair
 * into the database. Returns true on success,
 * false otherwise.
 */
function addNewUser($username$password$email){
   global 
$conn;
   
$q "INSERT INTO users VALUES ('$username', '$password', '$email')";
   return 
mysql_query($q,$conn);
}

/**
 * Displays the appropriate message to the user
 * after the registration attempt. It displays a 
 * success or failure status depending on a
 * session variable set during registration.
 */
function displayStatus(){
   
$uname $_SESSION['reguname'];
   if(
$_SESSION['regresult']){
?>

<h1>Registered!</h1>
<p>Thank you <b><? echo $uname?></b>, your information has been added to the database, you may now <a href="main.php" title="Login">log in</a>.</p>

<?
   
}
   else{
?>

<h1>Registration Failed</h1>
<p>We're sorry, but an error has occurred and your registration for the username <b><? echo $uname?></b>, could not be completed.<br>
Please try again at a later time.</p>

<?
   
}
   unset(
$_SESSION['reguname']);
   unset(
$_SESSION['registered']);
   unset(
$_SESSION['regresult']);
}

if(isset(
$_SESSION['registered'])){
/**
 * This is the page that will be displayed after the
 * registration has been attempted.
 */
?>

<html>
<title>Registration Page</title>
<body>

<? displayStatus(); ?>

</body>
</html>

<?
   
return;
}

/**
 * Determines whether or not to show to sign-up form
 * based on whether the form has been submitted, if it
 * has, check the database for consistency and create
 * the new account.
 */
if(isset($_POST['subjoin'])){
   
/* Make sure all fields were entered */
   
if(!$_POST['user'] || !$_POST['pass']){
      die(
'You didn\'t fill in a required field.');
   }

   
/* Spruce up username, check length */
   
$_POST['user'] = trim($_POST['user']);
   if(
strlen($_POST['user']) > 30){
      die(
"Sorry, the username is longer than 30 characters, please shorten it.");
   }

   
/* Check if username is already in use */
   
if(usernameTaken($_POST['user'])){
      
$use $_POST['user'];
      die(
"Sorry, the username: <strong>$use</strong> is already taken, please pick another one.");
   }

   
/* Add the new account to the database */
   
$md5pass md5($_POST['pass']);
   
$email $_POST['email'];
   
$_SESSION['reguname'] = $_POST['user'];
   
$_SESSION['regresult'] = addNewUser($_POST['user'], $md5pass$email);
   
$_SESSION['registered'] = true;
   
header("Location: ".getenv('http_referer'));
   return;
}
else{
/**
 * This is the page with the sign-up form, the names
 * of the input fields are important and should not
 * be changed.
 */
?>

<html>
<title>Registration Page</title>
<body>
<h1>Register</h1>
<form action="<? echo $HTTP_SERVER_VARS['PHP_SELF']; ?>" method="post">
<table align="left" border="0" cellspacing="0" cellpadding="3">
<tr><td>Username:</td><td><input type="text" name="user" maxlength="30"></td></tr>
<tr><td>Password:</td><td><input type="password" name="pass" maxlength="30"></td></tr>
<tr><td>Email:</td><td><input type="text" name="email" maxlength="40"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" name="subjoin" value="Join!"></td></tr>
</table>
</form>
</body>
</html>


<?
}
?>
login.php
PHP Code:

<?


/**
 * Checks whether or not the given username is in the
 * database, if so it checks if the given password is
 * the same password in the database for that user.
 * If the user doesn't exist or if the passwords don't
 * match up, it returns an error code (1 or 2). 
 * On success it returns 0.
 */
function confirmUser($username$password){
   global 
$conn;
   
/* Add slashes if necessary (for query) */
   
if(!get_magic_quotes_gpc()) {
    
$username addslashes($username);
   }

   
/* Verify that user is in database */
   
$q "select password from users where username = '$username'";
   
$result mysql_query($q,$conn);
   if(!
$result || (mysql_numrows($result) < 1)){
      return 
1//Indicates username failure
   
}

   
/* Retrieve password from result, strip slashes */
   
$dbarray mysql_fetch_array($result);
   
$dbarray['password']  = stripslashes($dbarray['password']);
   
$password stripslashes($password);

   
/* Validate that password is correct */
   
if($password == $dbarray['password']){
      return 
0//Success! Username and password confirmed
   
}
   else{
      return 
2//Indicates password failure
   
}
}

/**
 * checkLogin - Checks if the user has already previously
 * logged in, and a session with the user has already been
 * established. Also checks to see if user has been remembered.
 * If so, the database is queried to make sure of the user's 
 * authenticity. Returns true if the user has logged in.
 */
function checkLogin(){
   
/* Check if user has been remembered */
   
if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookpass'])){
      
$_SESSION['username'] = $_COOKIE['cookname'];
      
$_SESSION['password'] = $_COOKIE['cookpass'];
   }

   
/* Username and password have been set */
   
if(isset($_SESSION['username']) && isset($_SESSION['password'])){
      
/* Confirm that username and password are valid */
      
if(confirmUser($_SESSION['username'], $_SESSION['password']) != 0){
         
/* Variables are incorrect, user not logged in */
         
unset($_SESSION['username']);
         unset(
$_SESSION['password']);
         return 
false;
      }
      return 
true;
   }
   
/* User not logged in */
   
else{
      return 
false;
   }
}

/**
 * Determines whether or not to display the login
 * form or to show the user that he is logged in
 * based on if the session variables are set.
 */
function displayLogin(){
   global 
$logged_in;
   if(
$logged_in){
      echo 
"<h1>Logged In!</h1>";
      echo 
"Welcome <b>$_SESSION[username]</b>, you are logged in. <a href=\"logout.php\">Logout</a>";
      echo 
"<br><br><br><br>";
      echo 
"Go to <a href=\"http://www.narutoflare.com\">Main Page</a>";
      }
   else{
?>

<h1>Login</h1>
<form action="" method="post">
<table align="left" border="0" cellspacing="0" cellpadding="3">
<tr><td>Username:</td><td><input type="text" name="user" maxlength="30"></td></tr>
<tr><td>Password:</td><td><input type="password" name="pass" maxlength="30"></td></tr>
<tr><td colspan="2" align="left"><input type="checkbox" name="remember">
<font size="2">Remember me next time</td></tr>
<tr><td colspan="2" align="right"><input type="submit" name="sublogin" value="Login"></td></tr>
<tr>
  <td colspan="2" align="left"><a href="register.php">Register Here</a></td>
</tr>
</table>
</form>

<?
   
}
}


/**
 * Checks to see if the user has submitted his
 * username and password through the login form,
 * if so, checks authenticity in database and
 * creates session.
 */
if(isset($_POST['sublogin'])){
   
/* Check that all fields were typed in */
   
if(!$_POST['user'] || !$_POST['pass']){
      die(
'You didn\'t fill in a required field.');
   }
   
/* Spruce up username, check length */
   
$_POST['user'] = trim($_POST['user']);
   if(
strlen($_POST['user']) > 30){
      die(
"Sorry, the username is longer than 30 characters, please shorten it.");
   }

   
/* Checks that username is in database and password is correct */
   
$md5pass md5($_POST['pass']);
   
$result confirmUser($_POST['user'], $md5pass);

   
/* Check error codes */
   
if($result == 1){
      die(
'That username doesn\'t exist in our database.');
   }
   else if(
$result == 2){
      die(
'Incorrect password, please try again.');
   }

   
/* Username and password correct, register session variables */
   
$_POST['user'] = stripslashes($_POST['user']);
   
$_SESSION['username'] = $_POST['user'];
   
$_SESSION['password'] = $md5pass;

   
/**
    * This is the cool part: the user has requested that we remember that
    * he's logged in, so we set two cookies. One to hold his username,
    * and one to hold his md5 encrypted password. We set them both to
    * expire in 100 days. Now, next time he comes to our site, we will
    * log him in automatically.
    */
   
if(isset($_POST['remember'])){
      
setcookie("cookname"$_SESSION['username'], time()+60*60*24*100"/");
      
setcookie("cookpass"$_SESSION['password'], time()+60*60*24*100"/");
   }

   
/* Quick self-redirect to avoid resending data on refresh */
   
header("Location: ".getenv('http_referer'));
   return;
}

/* Sets the value of the logged_in variable, which can be used in your code */
$logged_in checkLogin();

?>
login includes a remember feature which uses cookies...

logout
PHP Code:

<?

session_start
(); 
include(
"database.php");
include(
"login.php");

/**
 * Delete cookies - the time must be in the past,
 * so just negate what you added when creating the
 * cookie.
 */
if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookpass'])){
   
setcookie("cookname"""time()-60*60*24*100"/");
   
setcookie("cookpass"""time()-60*60*24*100"/");
}

?>

<html>
<title>Logging Out</title>
<body>

<?

if(!$logged_in){
   echo 
"<h1>Error!</h1>\n";
   echo 
"You are not currently logged in, logout failed. Back to <a href=\"main.php\">main</a>";
}
else{
   
/* Kill session variables */
   
unset($_SESSION['username']);
   unset(
$_SESSION['password']);
   
$_SESSION = array(); // reset session array
   
session_destroy();   // destroy session.

   
echo "<h1>Logged Out</h1>\n";
   echo 
"You have successfully <b>logged out</b>. Back to <a href=\"main.php\">main</a>";
}

?>

</body>
</html>
main.php
PHP Code:

<? 

/* Include Files *********************/
session_start(); 
include(
"database.php");
include(
"login.php");
/*************************************/
?>

<html>
<title>Jpmaster77's Login Script</title>
<body>

<? displayLogin(); ?>

</body>
</html>
info.php
PHP Code:

<? 

/* Include Files *********************/
session_start(); 
include(
"database.php");
include(
"login.php");
/*************************************/
?>

<html>
<title>Jpmaster77's Login Script</title>
<body>

<? 
if($logged_in){
   echo 
'Logged in as '.$_SESSION['username'].', <a href="logout.php">logout</a>';
}else{
   echo 
'Not logged in.';
}
?>

</body>
</html>
i want to have a download section that only my members would have access to, on this download page they will have access to manga's, full episodes, pictures, etc but with an anti leech coding into it so only members can download and they would have to go to the root to get access to the file..
this is what i have so far..

download.php
PHP Code:

<? 

/* Include Files *********************/
session_start(); 
include(
"database.php");
include(
"login.php");
/*************************************/
?>

<html>
<title>Tokahashi's Login Script</title>
<body>

<? 
if($logged_in){
   echo 
'Logged in as '.$_SESSION['username'].', <br>
<a href="logout.php">logout</a>'
;
}else{
   echo 
'Sorry only members can view this page, please go back';
}
?>

</body>
</html>
I also need help with making a memberlist page, and a profile page where users can edit there profile..
with the files names of memberlist.php, profile.php, and editprofile.php
thanks if you guys no any codes for the pages i want.. well please post.. thank you
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiShare on FacebookShare on Stumble UponShare on Twitter
Reply With Quote
  #2 (permalink)  
Old 04-08-04, 02:08 PM
Tokahashi Tokahashi is offline
Newbie Coder
 
Join Date: Apr 2004
Location: Chesterfield
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
nevermind, i found waht i needed thanks for nothing@! yea f all of you!

hehe just kidding.. i just decided to pick up my php book my dad gave me, but who would have known it was going to be in the index! lol
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiShare on FacebookShare on Stumble UponShare on Twitter
Reply With Quote
  #3 (permalink)  
Old 04-08-04, 06:48 PM
optix's Avatar
optix optix is offline
Newbie Coder
 
Join Date: Jul 2003
Posts: 75
Thanks: 0
Thanked 0 Times in 0 Posts
Talking

Hey glad to hear you solved it on your own. Nice!

Just to help the community out, why not post the answer or method to which you solved the problem for others to link to?
__________________
[B] ModernConspiracy.com - Conspiracy Theory Forums (Talk Conspiracy)
DIYAutoForum.com - DIY Auto Forum
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiShare on FacebookShare on Stumble UponShare on Twitter
Reply With Quote
  #4 (permalink)  
Old 04-09-04, 01:00 PM
Tokahashi Tokahashi is offline
Newbie Coder
 
Join Date: Apr 2004
Location: Chesterfield
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
when i get home ill post what i used to create.. my memberlist.php
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiShare on FacebookShare on Stumble UponShare on Twitter
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
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 Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
question about updating a page or database for an, php and mysql updating mikewooten PHP 1 02-12-04 01:11 AM
Question about dreamweaver and php? chinablack1480 PHP 0 12-07-03 11:16 PM
any php gurus out there i need some help funkeq PHP 2 10-20-03 05:02 PM
PHP header question khadlock PHP 2 09-23-03 09:17 AM
hehehe wierd question in php TheGreatOne PHP 7 06-11-03 12:30 AM


All times are GMT -5. The time now is 01:11 PM.
vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.