Welcome Guest ( Log In | Register )



3 Pages V  < 1 2 3 >  
Reply to this topicStart new topic
> Writing And Testing My Own Login Script [solved]
Eggie
post Feb 21 2008, 09:23 PM
Post #11


Advanced Member
Group Icon

Group: [HOSTED]
Posts: 177
Joined: 19-January 08
From: Zagreb/Croatia
Member No.: 27,735



i tried the code but it didnt work...now i would like your code so i can try it
Go to the top of the page
 
+Quote Post
toby
post Feb 21 2008, 09:24 PM
Post #12


Super Member
Group Icon

Group: Members
Posts: 539
Joined: 29-September 06
Member No.: 16,228



Move html and printing php to the end, and check everything is a valid function.
Go to the top of the page
 
+Quote Post
Feelay
post Feb 21 2008, 09:32 PM
Post #13


Kinda N00B
Group Icon

Group: Members
Posts: 230
Joined: 13-January 08
From: Sweden
Member No.: 27,579



CODE
<?php
include("style.css");
include("config.php");
// username and password sent from signup form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
$_SESSION['login'];
header("location:login_success.php");
$_SESSION['views'] = $_POST['myusername'];
}
else {
echo "Wrong Username or Password";
}
?>


Try this. The part I changed was this:

CODE
session_register(myusername);
session_register(mypassword);


I erased them, and put $_SESSION['login'] Instead.
But now, you will have to change every place where you have:
CODE
session_register(myusername);
session_register(mypassword);

into
CODE
$_SESSION['login'];

even in the login succes and so on. and in your logout.php you will have to change it to:

CODE
<?php
session_start();
session_unset();
session_destroy();
?>


This is the way I do it. It should work.

Edit:

Between.. You should change this in your login_succes.php.

change from:

CODE
if(!session_is_registered(myusername)){
header("location:main_login.php");
}


to:

CODE
if(!isset($_SESSION['login'])){
header("location:main_login.php");
}


If think thats what you wanted or? if the user is not logged in, he will be redirected to main_login.php. if you want the difference, just remove the "!" before "isset". And you will have to write this "if(!isset($_SESSION['login'])){..." instead of "if(!session_is_registered(myusername)){..." in every file that you want to protect.

This post has been edited by Feelay: Feb 21 2008, 09:37 PM
Go to the top of the page
 
+Quote Post
Eggie
post Feb 21 2008, 09:36 PM
Post #14


Advanced Member
Group Icon

Group: [HOSTED]
Posts: 177
Joined: 19-January 08
From: Zagreb/Croatia
Member No.: 27,735



btw...how do you check if the session is registered??
that if the session is not registered that it just print out "Session is not registered"
Go to the top of the page
 
+Quote Post
Feelay
post Feb 21 2008, 09:41 PM
Post #15


Kinda N00B
Group Icon

Group: Members
Posts: 230
Joined: 13-January 08
From: Sweden
Member No.: 27,579



very simple wink.gif

CODE
<?php
if(isset($_SESSION['login'])){
echo "Welcome;) You are logged in";
}else{
echo "Welcome Guest! You are not logged in";
}
?>


And you can ofc do it the other way too wink.gif

CODE
<?php
if(!isset($_SESSION['login'])){
echo "Welcome Guest! You are not logged in";
}else{
echo "Welcome;) You are logged in!";
}
?>


in the last one, if you look carefullt, you will see that I inserted a "!" before i wrote "isset". "!" = not wich means:

QUOTE
If not isset session login, echo welcome guest. you are not loged in, else echo welcome, you are logged in.
in the first one, it would be:

QUOTE
if isset session login, echo welcome. you are logged in, else echo welcome guest. you are not logged in.


This post has been edited by Feelay: Feb 21 2008, 09:42 PM
Go to the top of the page
 
+Quote Post
Eggie
post Feb 21 2008, 09:51 PM
Post #16


Advanced Member
Group Icon

Group: [HOSTED]
Posts: 177
Joined: 19-January 08
From: Zagreb/Croatia
Member No.: 27,735



i dont know why but there is nothing in my $_SESSION['login']
CODE
<?php
include("style.css");
include("config.php");
// username and password sent from signup form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
$_SESSION['login'];
$_SESSION['views'] = $_POST['myusername'];
header("location:login_success.php");

}
else {
echo "Wrong Username or Password";
}
?>

since this is the code...something's wrong with rows

This post has been edited by Eggie: Feb 21 2008, 09:54 PM
Go to the top of the page
 
+Quote Post
mastercomputers
post Feb 22 2008, 01:49 AM
Post #17


PESTICIDAL MANIAC
Group Icon

Group: Members
Posts: 626
Joined: 1-September 04
From: Auckland, New Zealand
Member No.: 27



1:
You have <title>Race</title> before your PHP session/headers, this means the headers will already be sent and you were too late to start a session. Usually caching a page before it's sent can solve this, or just move the title below the PHP code.

2:
Including a CSS stylesheet, I don't know what's inside here, but if it's plain text use HTML to include the stylesheet or if it's PHP, give it a PHP extension, else it'll be treated just like plain text.

e.g. <link href="path/to/style.css" rel="stylesheet" type="text/css" />

3:
session_start() must appear before any other PHP operation unless page caching is done, but you should learn to always do it first.

4:
session_is_registered() takes a string, you are using a constant called myusername which may or may not be what you want, e.g. you might want to do if(!session_is_registered('myusername'))

5:
failed to check if $_GET['action'] is set before using it, you should do:

if(!empty($_GET['action']) && $_GET['action'] == 'race')

6:
failed to check if $_POST['bike'] exists, undefined variables can cause undesirable results, always insure they are set before using them.

if(!empty($_POST['bike'])) {
$asa = $_POST['bike'];
}
else {
echo '<p>You did not select a bike!</p><p>Click <a href="race.php">HERE</a> to go back</p>';
exit;
}

I know there will be more problems, but I don't have time to go through the whole thing at the moment so I'll leave it as this for now.


Cheers,

MC
Go to the top of the page
 
+Quote Post
yordan
post Feb 22 2008, 02:49 PM
Post #18


Way Out Of Control - You need a life :)
Group Icon

Group: [MODERATOR]
Posts: 2,183
Joined: 16-August 05
Member No.: 7,896
myCENTs:15.50



By the way, I changed the topic title, the old one ("Login") was not clear enough. The new title should be more representative of the problem statement and the solutions found. rolleyes.gif
Go to the top of the page
 
+Quote Post
Feelay
post Feb 23 2008, 05:06 PM
Post #19


Kinda N00B
Group Icon

Group: Members
Posts: 230
Joined: 13-January 08
From: Sweden
Member No.: 27,579



Sorry. My fault. Try this code:

CODE
<?php
include("style.css");
include("config.php");
// username and password sent from signup form
$myusername=$_POST['myusername'];
$myusername=mysql_real_escape_string($myusername);//I added this to make your script a little more safe
$mypassword=$_POST['mypassword'];

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
$_SESSION['login'] =$myusername; //I added "=$myusername, so that the session can recognize you"
$_SESSION['views'] = $_POST['myusername'];
header("location:login_success.php");

}
else {
echo "Wrong Username or Password";
}
?>


Try it. It Should Work.

//Feelay

This post has been edited by Feelay: Feb 23 2008, 05:07 PM
Go to the top of the page
 
+Quote Post
Eggie
post Feb 23 2008, 05:12 PM
Post #20


Advanced Member
Group Icon

Group: [HOSTED]
Posts: 177
Joined: 19-January 08
From: Zagreb/Croatia
Member No.: 27,735



hey man...sorry i already solved it and it works fine...smile.gif
sorry for not posting so you can mark it [SOLVED]
if you wanna see the game i'm making go to MY GAME
i will put it on this server when i finish it smile.gif
thanx for the help feelay
Go to the top of the page
 
+Quote Post

3 Pages V  < 1 2 3 >
Reply to this topicStart new topic

Collapse

> Similar Topics

Topics Topics
  1. Trainable Anti-spam Filter Script(3)
  2. Php Script To Download File From Another Site(9)
  3. How Do I Create And Write To Files?(4)
  4. Need Help With A PHP - MySQL Registration Script(13)
  5. What Would Make A Good Registration Script?(4)
  6. Auto Responder Script(6)
  7. Blog Script?(5)
  8. Installed A PR Checker Script - But Not Working Correctly(6)
  9. How To Delete File Using PHP Shell Script(3)
  10. Online Multiplayer Chess Script(2)
  11. Automated File Structure Creation Script(3)
  12. Authentication Script(1)
  13. Login Script(5)
  14. Please Help (php Join Script)(5)
  15. Automatic/remote Php Script Execution(9)
  1. Something Wrong With This Script?(9)
  2. Automated Product Suggestion Script(2)
  3. Run A Script When Expires A Session(6)
  4. Php Script Help(1)
  5. SQL Doesn't Connect In PHP Script(19)
  6. Warning: Mysql_result(): Supplied Argument Is Not A Valid Mysql Result Resource In ...(4)
  7. Password Recovery Script(6)
  8. Login Script(8)
  9. Free Forum Hosting Type Script Help!(2)
  10. Script Request(2)
  11. Make A Script Run Even If No User Is Online(6)
  12. Php Login Script(0)
  13. Myspacetv Download Php Script Help(6)


 



- Lo-Fi Version Time is now: 20th November 2008 - 05:37 PM