2012-02-06 7 views
0

로그인을 확인하고 사용자를 성공 페이지로 리디렉션하는 여러 파일의 PHP 코드를 사용하고 있습니다. 페이지에서 사용자를 환영하고 개인 서비스 페이지로 리디렉션하는 링크를 제공하고 싶습니다. 변수를 사용하여 PHP 하이퍼 링크 만들기

잘 작동 나는 그것으로 아무런 문제가 없다는 것을 확인 코드

<?php 
$host="host"; // Host name 
$username="admin"; // Mysql username 
$password="********"; // Mysql password 
$db_name="users"; // Database name 
$tbl_name="members"; // Table name 

// Connect to server and select databse. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// username and password sent from form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 

// To protect MySQL injection (more detail about MySQL injection) 
$myusername = stripslashes($myusername); 
$mypassword = stripslashes($mypassword); 
$myusername = mysql_real_escape_string($myusername); 
$mypassword = mysql_real_escape_string($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 

// Check if Remember Me is Checked 
if (isset($_POST['remember'])) { 
    $remember = $_POST['remember']; 
    if ($remember == 'rememberme') { 
     $remember = 'checked'; 
    } 
} 
if($remember='checked' && $count==1){ 
    setcookie("extendloginwwd", "$myusername", time()+50400); 
    // Register $myusername, $mypassword and redirect to file 
"http://mydomain.co.cc/php/login_success.php" 
    $_SESSION['username'] = "myusername"; 
    $_SESSION['password'] = "mypassword"; 
    header("location:http://mydomain.co.cc/php/login_success.php"); 
} 
elseif($count==1){ 
    // Register $myusername, $mypassword and redirect to file 
"http://mydomain.co.cc/php/login_success.php" 
    $_SESSION['username'] = "myusername"; 
    $_SESSION['password'] = "mypassword"; 
    header("location:http://mydomain.co.cc/php/login_success.php"); 
} 
else { 
    echo "Wrong Username or Password"; 
} 
?> 

입니다. login_success.php 파일은 문제 해결 자입니다.

<?php 
session_start(); 
?> 
<!Doctype HTML> 
<html> 
    <head> 
     <title>Login Success</title> 
     <link rel="stylesheet" type="text/CSS" href="http://mydomain.co.cc/common.css"> 
     <?php 
      $user=$username; 
      $userdir="http://wolffwebdesign.co.cc/$user"; 
     ?> 
    </head> 
    <body> 
     <h1>Login Successfull!</h1> 
     <p>Welcome <?php echo "$user"?>! Click <?php echo "<a href=$userdir>here</a>";?> to visit your service page to see how we are doing! 
    </body> 
</html> 

$ myusername = "john"이라고 가정 해 봅시다. 페이지에 다음과 같이 표시하고 싶습니다.

Welcome John! here을 클릭하여 서비스 페이지를 방문하여 Google의 업무 방식을 확인하십시오.

주의는 사용자 이름을 말한다 또한 링크는 존이

가 대신 내가 좋아하는 뭔가를 얻을 mydomain.co.cc/에 이르게 :

에 오신 것을 환영합니다! 클릭 here 서비스 페이지를 방문하십시오!

사용자 이름이 표시되지 않고 링크가 내 홈페이지로 연결됩니다.

제공되는 도움에 감사드립니다.

+0

여기서'$ user' 변수는 어디에서 오는 것이 좋을까요? – deceze

+1

관심이 없으므로 왜 user/pw 변수에'stripslashes'와'mysql_real_escape_string'을 모두 사용하고 있습니까? 마지막 하나만 사용하면 충분합니다. 이 경우 사용자가 비밀번호에 슬래시가 있으면 로그인 할 수 없게됩니다. – Oldskool

+0

@deceze 그건 오타 였어. 내가 고쳐 줬어. – jwolff52

답변

0

네가 이것을 $username=$user처럼 넣었으므로 아무데도 $ user를 초기화하지 않기 때문에 가능합니다. $ user를 초기화하려면 $user=$username을해야하지만 $ username은 실제로 mysql 데이터베이스의 사용자 이름입니다. PHP에서

$ 변수는 $user = $_SESSION['username']

+0

이제 고칠 수있는 부분이 고쳐졌습니다. 감사합니다. myusername! 대신에, 위의 환영 존을 사용한 경우에! – jwolff52

+0

당신을 환영합니다! – Mike

0

에게 당신은 저장해야 할

더 나은 (= 의미 후이 취할 수있는 값입니다) = $ 값 (= 의미하기 전에이 값을 가져옵니다) SQL 쿼리로 가져온 모든 데이터를 보유하고있는 세션의 모든 사용자 데이터 ($ _SESSION [ 'user']). 그래서 사용자 이름, (실제) 이름 등. 환영 페이지에서 예를 들어 텍스트를 개인화 할 수 있습니다. "Welcom"

+0

다음과 같이'{"; elseif (isset ($ _ COOKIE [ "loginwwd"])) \t $ name = "환영". $ _COOKIE [ "user"]. "!
"; else \t $ name = // 양식 ?>'나중에 환영 메시지/로그인 양식을 원하는 코드에서' '를 사용했습니다. ? – jwolff52

관련 문제