|
|
|
|
![]() ![]() |
Feb 21 2008, 09:23 PM
Post
#11
|
|
|
Advanced Member 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
|
|
|
|
Feb 21 2008, 09:24 PM
Post
#12
|
|
|
Super Member 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.
|
|
|
|
Feb 21 2008, 09:32 PM
Post
#13
|
|
|
Kinda N00B 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 |
|
|
|
Feb 21 2008, 09:36 PM
Post
#14
|
|
|
Advanced Member 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" |
|
|
|
Feb 21 2008, 09:41 PM
Post
#15
|
|
|
Kinda N00B Group: Members Posts: 230 Joined: 13-January 08 From: Sweden Member No.: 27,579 |
very simple
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 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 |
|
|
|
Feb 21 2008, 09:51 PM
Post
#16
|
|
|
Advanced Member 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 |
|
|
|
Feb 22 2008, 01:49 AM
Post
#17
|
|
|
PESTICIDAL MANIAC 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 |
|
|
|
Feb 22 2008, 02:49 PM
Post
#18
|
|
|
Way Out Of Control - You need a life :) 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.
|
|
|
|
Feb 23 2008, 05:06 PM
Post
#19
|
|
|
Kinda N00B 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 |
|
|
|
Feb 23 2008, 05:12 PM
Post
#20
|
|
|
Advanced Member 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...
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 thanx for the help feelay |
|
|
|
![]() ![]() |
Similar Topics
|
Lo-Fi Version | Time is now: 20th November 2008 - 05:37 PM |