2012-12-02 2 views
1

저는 PHP에 익숙하지 않으므로이 스크립트를 작성하기 위해 YouTube 튜토리얼을 사용했지만 업 로더가 사라져 버린 것처럼 보입니다. 로그인 양식이 정상적으로 작동하지만 등록 양식에서 문제가있는 부분이 있습니다.

오류 메시지를 제거하기 위해 모든 HTML과 코드를 모두 제거했지만 찾을 수없는 것 같습니다. 오류는 항상 스크립트가 끝날 때 발생합니다. 당신이 } 누락 것을

어떤 제안 (예 : 메모장 ++ 등) 구문 강조와 코드 편집기를 사용하여

 <?php 

     if ($_POST['registerbtn']) { 
    //makes sure email, username is valid 
    $getuser = $_POST['user']; 
    $getemail = $_POST['email']; 
    $getpass = $_POST['pass']; 
    $getretypepass = $_POST['retypepass']; 

    if (!isset($getuser)) 
    { 
     $error = "user not set "; 
    } 

    if ($getuser) { 
     if($getemail) { 
      if($getpass) { 
       if ($getretypepass) { 
     require("connection.php"); 

          $query = mysql_query("SELECT * FROM   users WHERE username ='$getuser'"); 
          $numrows = mysql_num_rows($query); 
          if ($numrows == 0) { 
          $query = mysql_query("SELECT * FROM users WHERE email ='$getemail'"); 
          $numrows = mysql_num_rows($query); 
          if ($numrows == 0) { 

           $password = md5(md5("19Dvdnj".$password."jndfFf20")); 
           $date = date("F d, Y"); 
           $code = md5(rand()); 

           mysql_query("INSERT INTO users VALUES ('', '$getuser', '$password', '$getmail', '0', '$code', '$date')"); 

           $query = mysql_query("SELECT * FROM users WHERE username='$getuser'"); 
           $numrows =mysql_num_rows($query); 
           if ($numrows == 1) { 

           $site ="http://www.inn.leedsmet.ac.uk/~c3314283/iis/register.php"; 
           $webmaster = "[email protected]"; 
           $headers = "From: $webmaster"; 
           $subject ="Activate your Account"; 
           $message = "Thanks for registering. Click below to activate your account.\n"; 
           $message .= "$site/activate.php?user=$getuser&code=$code"; 
           $message .= "You must activate your account to login"; 

           if (mail($getmail, $subject, $message, $headers)){ 
            $errormsg = "You have been registered you must activate your account sent from the the activation link sent to<b>$getemail</b>"; 
            $getuser = ""; 
            $getemail = ""; 
           } 



          mysql_close(); 





     $form ="<form action='register.php' method='post'> 
     <table> 
     <tr> 
    <td></td> 
    <td><font color='red'>$errormsg</font></td> 
     </tr> 

<tr> 
    <td>Username:</td> 
    <td><input type='text' name='user' value ='$getuser'/></td> 
</tr> 
    <tr> 
     <td>Email:</td> 
     <td><input type='text' name='email' value ='$getemail'/></td> 
    </tr> 
     <tr> 
    <td>Password:</td> 
    <td><input type='password' name='pass' value =''/></td> 
     </tr>  
    <tr> 
    <td>Retype:</td> 
    <td><input type='password' name='retypepass' value =''/></td> 
     </tr> 
    <tr> 
    <td></td> 
    <td><input type='submit' name='registerbtn' value ='Register'/></td> 
     </tr> 
     </table> 
     </form>"; 
     { 
     echo $form; 
     } 
     ?> 

답변

1

명확하게 표시됩니다.

2

코드 자동 완성 (자동 들여 쓰기)을 시도하십시오. 이를 허용하는 편집기가 없으면 Sublime Text 또는 Notepad++과 같은 편집기를 가져 오십시오. :-) 비슷한 상황에서 많은 시간을 절약 할 수 있습니다. 그런 상황에서 문제를 찾아내는 대신 자동 성형 문제가 당신을 응시 할 것입니다. 이 일어난 정말 잘못된 경우 뭔가가있는 경우 :-)

난 당신이 누락 생각하는 것은 주변의 여섯 폐쇄 분명히

{ 
    echo $form; 
} 

} (내가 제대로 닫히지 않은 if의 수를 계산 확실하지) 중괄호 코드를 치유하기 위해 그곳에 }을 넣는 것 이상을 수행 할 수도 있습니다.

복사물 & 붙여 넣기 문제 일 수 있습니다. 어쩌면 당신이 언급 한 Youtube 튜토리얼에서 찾은 코드의 마지막 몇 줄을 복사하지 않았을 수도 있습니다.

관련 문제