2013-07-30 1 views
5

시작하기 전에 이것은 배정입니다. 난 그냥 도움의 손길을 좀지도 후 :)PHP에서 활동 로그를 저장하고로드하는 가장 좋은 방법은 무엇입니까?

나는 사용자가 등록, 로그인 및 활동 예약 수있는 체육관 회원 웹 사이트를 개발하고 있습니다.

나는 활동 예약 시스템 외에도 모든 것이 작동하는데, 그게 내가 도움이 필요한 것입니다. 나는 각 활동 이름, 시간, 총 참석할 수있는 활동 로그를 담은 단일 txt 파일을 가지고있다. 나는 정확히 누가 참석하고 있는지에 대한 각 활동 라인의 끝에 추가하고 싶습니다. 따라서 사용자가 활동을 예약하도록 허용하여 사용자 이름을 활동에 추가합니다.

이 정확히 나는 현재 맨 오른쪽에있는 '예약'버튼 외에 내 activity.txt 파일 인쇄 (이 방법이다. 기본적으로

NumberOne  3  Wednesday 8am  (BOOK) 
NumberTwo  7  Thursday 10am  (BOOK) 
NumberThree  20  Monday 1pm   (BOOK) 
NumberFour  15  Tuesday 5pm   (BOOK) 

, 내가 함께지도를 필요는 '예약'버튼입니다. 에 '예약'버튼을 누르면 후에는 활동에의 사용자를 예약합니다

를이 내 activity.txt 파일이 현재의 모습이다.

NumberOne,3,Wednesday 8am 
NumberTwo,7,Thursday 10am 
NumberThree,20,Monday 1pm 
NumberFour,15,Tuesday 5pm 

그리고 이것이 내가 CURREN 코드입니다 그게 활동을 인쇄하고있다 :

function bookActivity() 
{ 
$fileContentsArray = file("activity.txt"); 
    echo "<table>"; 
    foreach($fileContentsArray as $one_persons_data) 
{ 
    echo '<tr>'; 
    $splitted = preg_split('/,/', $one_persons_data); 
    foreach ($splitted as $one) 
    { 
    echo "<td>$one</td>"; 
    } 
    echo '</tr>'; 
} 
echo "</table>"; 
} 

다음은 필자의 users.txt 파일입니다. 모든 비밀번호는 MD5에 저장됩니다.

jiten:3fc0a7acf087f549ac2b266baf94b8b1 
jb:3fc0a7acf087f549ac2b266baf94b8b1 
test:bed128365216c019988915ed3add75fb 
joeBlogg:bed128365216c019988915ed3add75fb 
userX:bed128365216c019988915ed3add75fb 
userY:bed128365216c019988915ed3add75fb 

모든 도움을 주실 수 있습니다. 이 작업을 수행하는 방법에 대해 매우 혼란스러워합니다.

+0

이 데이터베이스가 유용 이러한 경우 중 하나가 될 것입니다 사용자 이름, 코스 이름 (그것을 가지고하지 않음) : "registrations.txt을"

  • 등록을 (를 얻었다). – naththedeveloper

  • +0

    동의. 비록 우리는 txt 파일을 사용해야 만합니다 : ( – Fizzix

    +0

    무엇을하려고합니까? – Backtrack

    답변

    2

    대략적인 지침이 있습니다. (숙제이기 때문에 자세히 설명하지 않습니다.) 텍스트 파일과 다른 것을 사용할 수는 없지만 당신이 원하는대로.

    1. 적절한 플래그 file(...)을 사용하여 활동 TXT 파일을 파싱
    2. 키가 활동 "아이디"이다 어레이를 구축 세트 (NUMBERONE, NUMBERONE- NUMBERTWO 개 등) 및 값은 활동 정보를 포함하는 다른 배열이다. 여기에 편리하게 찾을 수 있습니다 explode().
    3. 각 활동에 대해 전용 파일을 만듭니다 (아직없는 경우). 이 파일에는 활동을 예약 한 등록 된 사용자의 이름이 들어 있습니다. 이 파일에는 한 줄에 하나의 이름을 쓰는 것이 좋습니다.

      • 확인 요청 활동 파일이 존재하는 경우 :
      • 누군가 언론은 "책 활동"버튼을, 다음 단계를 수행해야합니다

      • . 그렇지 않은 경우 빈을 작성하십시오.
      • 그렇지 않으면 예약의 목록을 표시하려면 예약
    4. 을 거부, 예약 사용자의 현재 수를 계산하고 덜 있다면

    5. 이 파일에 새로운 사용자를 추가 허용 된 최대와 비교 사용자는 단순히 각 활동 파일에서 파일 내용을 읽습니다. 이번에 유용한 implode()을 발견 할 수 있습니다.

    올바른 트랙을 찾는 데 도움이되기를 바랍니다. 마지막으로, 텍스트 파일은 이것을하기위한 것이 아닙니다. 작은 데이터베이스는 사용하기 쉽고 배우기는 더 재미 있고 미래를 위해 더 유용합니다.

    참고 :

    +0

    STT LCU에게 감사의 말씀을 전한다. 그리고 Martin Bean에게 감사의 말을 전한다. 아직도 PHP에 매우 익숙하지 않다. , 그래서 내가 할 수있는 최선을 구현하고 시도해야합니다. 그리고 내가 할 수 있다면. – Fizzix

    +0

    .txt 파일을 만드는 방법에 대해서는 확실하지 않지만, – Fizzix

    +0

    @ JadeMulholland는 제 편집을보고, 그것은 당신을 도울 것입니다. 또한 Google은 정말 친구입니다. "PHP 파일 쓰기";) –

    1

    몇 가지 :

    1. 이 로그 같은 소리하지 않는다; 파일 기반 데이터베이스처럼 들립니다.
    2. 허용되는 경우 .csv 파일 (.txt 아님)을 사용하고 fgetcsv()을 사용하여 구문 분석하십시오.
    3. 데이터베이스이기 때문에이 데이터베이스에 쓸 필요가 있습니다. 당신은 fputcsv()을 사용할 수 있습니다. 특정 질문 당

    (. FWIW, 당신의 .txt 인 파일이 이미 CSV 당신이 그냥 그런 식으로 치료하지 않는)

    : "도서"만에 코스 이름을 전달해야 클릭 현재 사용자를 해당 코스에 추가하는 스크립트입니다 (아직 등록하지 않은 경우). POST (HTML 양식) 또는 더 간단하게 GET (링크 및 쿼리 매개 변수)을 사용하여 코스 이름을 전달할 수 있습니다. 다음과 같을 수

    사용 링크 (GET) :

    $bookingUrl = "register.php?courseName=".urlencode($courseName); 
    

    형태 (POST) 사용은 다음과 같습니다

    <form action="register.php" method="POST"> 
         <input type="hidden" value="<?= $courseName; ?>" /> 
         <input type="submit" value="Book" /> 
        </form> 
    

    또 다른 대답은 물론 당 등록을 추적하기 위해 별도의 파일을 사용하여 언급 , 그러나 나는 그것이 필요하다고 생각하지 않는다. 그냥 하나만 사용하십시오.

    1. 가능한 코스, "courses.txt": 코스 이름, 코스 시간 (그것을 가지고)
    2. 사용자, "USERS.TXT을": 사용자 이름, 암호 그것은 당신이 정말 추적하고 생각하는 것이 도움이
    +0

    아, 흥미 롭습니다. csv와 txt의 차이점에 대해서는 확신하지 못했습니다. 매우 도움이됩니다. 고마워요 :) – Fizzix

    +0

    여러 txt 파일로 작업하는 방법을 알지 못하기 때문에이 방법을 사용하기로 결심했습니다. 도움 주셔서 감사합니다 댄. – Fizzix

    +0

    모든 "f"(파일) 함수를 살펴보고, 가장 중요한 것은 [fopen] (http://php.net/manual/en/function.fopen.php), [fclose] (http://php.net /manual/en/function.fclose.php), [fwrite] (http://php.net/manual/en/function.fwrite.php), fputcsv 및 fgetcsv. – danonanimal

    관련 문제