2014-05-11 4 views
0

저는 Alex이고 PHP를 배우고 있습니다. .. file1.php와 file2.php라는 두 개의 파일이 있습니다. file1.php 안에 변수가 있는데 file2.php에서 참조하고 싶습니다. 어떻게 할 수 있습니까? 나는 대부분의 당신에게 어리석은 질문 인 것을 안다. 그러나 나는 이것에 초보자 다. 나는 배우려고 노력하고있다. 미리 감사드립니다. 제 코드를 알려 드리겠습니다.다른 .php 파일에서 변수를 가져 오는 PHP

는 File1.php

<?php 

if(isset($_POST['username']) && isset($_POST['password'])){ 
    $username = $_POST['username']; 
    $password = $_POST['password']; 
    $passwordmd5 = md5($password); 

    if(!empty($username) && !empty($password)){ 

     $query = "SELECT `id` FROM `users` WHERE `username` = '$username' AND `password` = '$passwordmd5'"; 

     if($queryrun = mysql_query($query)){ 
      $query_num_rows = mysql_num_rows($queryrun); 
      if($query_num_rows == 0){ 
       echo 'Invalid username and password'; 
      } else if($query_num_rows == 1){ 
       echo $user_id = mysql_result($queryrun, 0, 'id'); 
       $_SESSION['user_id']=$user_id; 
       header('Location: index.php' . $username); 
      } 
     } else { 
      echo 'Enter a username and a password'; 
     } 
    } 

?> 

File2.php 기본적으로

<?php 
     require 'core.php'; 
     require 'connectdb.php'; 

     if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])){ 
      echo '<a href = "logout.php"><input type = "submit" id = "logreg" value = "Logout" /></a>'; 
     }else{ 
      echo '<a href = "loginregister.php"><input type = "submit" id = "logreg" value = "Login/Register" /></a>'; 
     } 
    ?> 

는 File1.php는 웹 사이트에 대한 로그인 폼 내가 사용자 이름을 입력하고 내가 성공적으로 제출하면, 제출하고 로그인하면 "로그인/등록"에서 "환영"으로 바뀌고 싶습니다. 어떻게 할 수 있습니까? 필자가 File1.php에 입력 한 $ username 변수를 File2.php로 어떻게 전송할 수 있습니까? 예를 들어, Login/Register 단추를 누르고 사용자 이름으로 Alex를 입력하고 암호로 123을 입력 한 다음 Login 단추를 누릅니다. (file1.php에서 할 일) 사용자와 패스워드가 맞다고 생각해서, 나는 file2.php로 이동하고 Login/Register 버튼 대신에 새로운 버튼이나 div (무엇이든)가 나타나길 원한다. "Welcome, Alex"또는 "Welcome, -username-"텍스트가 있어야합니다. 어떻게해야합니까?

+2

Protip : 내가 너라면이 시간을 낭비하지 않을 것입니다. 더 이상 사용되지 않는 MySQL 기능과 손상된 암호 저장 시스템을 사용하여 화재로 놀고 있습니다. –

+0

@ Fred-ii- 자세히 설명해 주시겠습니까? – MrSilent

+1

['mysql_query'] (http://uk1.php.net/mysql_query) 함수 전체가 더 이상 사용되지 않습니다. 대신 ['PDO'] (http://uk1.php.net/manual/en/class.pdo.php)를 사용해야합니다. 'md5'는 암호로 안전하지 않습니다. PHP 5.5에서는 기본적으로 bcrypt 인 [암호 해시 api] (http://www.sitepoint.com/hashing-passwords-php-5-5-password-hashing-api/)가 있거나 적절한 암호 해싱 라이브러리. – Max

답변

2

file2.php 코드에 session_start를 포함시켜야합니다. file1.php가 첫 페이지가 아니라면 session_start를 시작 부분에 추가해야합니다.

<?php 
    session_start(); 
    require 'core.php'; 
    require 'connectdb.php'; 

    if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])){ 
     echo '<a href = "logout.php"><input type = "submit" id = "logreg" value = "Logout" /></a>'; 
    }else{ 
     echo '<a href = "loginregister.php"><input type = "submit" id = "logreg" value = "Login/Register" /></a>'; 
    } 
?> 
+0

내 질문에 대답하지 않습니다. 내 file1.php에서 $ username 변수를 가져 와서 file2.php로 전송하고 싶습니다. 예를 들어 .. 로그인/등록 버튼을 누르고 사용자 이름으로 Alex를 입력하고 비밀번호로 123을 입력하고 로그인 버튼을 누릅니다. (file1.php에서 할 일) 사용자와 패스워드가 맞다고 생각해서, 나는 file2.php로 이동하고 Login/Register 버튼 대신에 새로운 버튼이나 div (무엇이든)가 나타나길 원한다. "Welcome, Alex"또는 "Welcome, "텍스트를 사용하십시오. 어떻게해야합니까? – MrSilent

+2

File1.php $ _SESSION [ 'id'] = $ username; – meverhart913

+2

그런 다음 File2.php에 $ username = $ _SESSION [ 'id']; 줄을 추가하십시오. – meverhart913

관련 문제