2016-08-04 2 views
1

이 코드에 몇 가지 문제가 있습니다. SQL 데이터베이스에 연결하고 연결했지만 게시 기능이 작동하지 않는 것 같습니다. 요소를 검사하고 네트워크 연결을 보면 한 가지만 게시하지만 다른 두 가지는 게시하지 않습니다. 누군가 나를 도울 수 있다면, 좋을 것입니다.데이터베이스와 함께 포스트 기능이 작동하지 않습니다.

감사합니다,

<?php 

$connection = mysql_connect("localhost", "root", "password") or die("There is no connection to the server"); 
mysql_select_db("tutorial", $connection) or die("Couldn't connect to database"); 

if ($_POST['login']){ 
    if ($_POST['username'] && $_POST['password']){ 
     $username = mysql_real_escape_string($_POST['username']); 
     $password = mysql_real_escape_string(hash("sha512", $_POST['password'])); 
     $user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `Username`='$username'")); 
     if ($user == '0'){ 
      die("That username does not exist. <a href='index.php'>&larr; Back</a>"); 
      echo "<h1> Test </h1>"; 
     } 
     if ($user['Password'] != $password) { 
      die("Incorrect password! <a href='index.php'>&larr; Back</a>"); 
      echo "<h1> Test </h1>"; 
     } 
     $salt = hash("sha512", rand() . rand() . rand()); 
     setcookie("c_user", hash("sha512", $username), time() + 24 * 60 * 60, "/"); 
     setcookie("c_salt", $salt, time() + 24 * 60 * 60, "/"); 
     $userID = $user['ID']; 
     mysql_query("UPDATE `users` SET `Salt`='$salt' WHERE `ID`='$userID'"); 
     die("You are now logged in as $username"); 
    } 
} 

echo " 
    <body style='font=family: verdana, sans-serif;'> 
     <div> 
      <h1>Login to Access Coins</h1> 
      <br /> 
      <form action='' method='post'> 
       <table> 
        <tr> 
         <td> 
          <b> Username </b> 
         </td> 
         <td> 
         <input type='text' name='username' style='padding: 6px;' /> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          <b>Password</b> 
         </td> 
         <td> 
          <input type='password' name='password' style='padding: 6px;' /> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          <input type='submit' value='Login' /> 
         </td> 
        </tr> 
       </table> 
      </form> 
      <br /> 
      <h6> 
       Need an account? <a href='register.php'>Click Here 
      </h6> 
     </div> 
    </body> 

"; 
+0

"게시 기능이 작동하지 않는 것 같습니다."그 의미는 무엇입니까? – developerwjk

+0

나는 당신에게 새로운 친구를 소개하는데, 이것은 당신이 폼 제출에 파라미터가 잘못되거나 누락 될 때마다 당신을 도울 것입니다 :'print_r ($ _ POST);' 당신의 페이지에 값이 정확하게 전달되었는지보실 수 있습니다. – technico

+0

@developerwjk : "게시 방법이 작동하지 않는 것 같습니다."맞습니까? – technico

답변

1

당신의 문제는 $ _POST [ '로그인'이] 정의를 기대하고, 사용자 로그에 의존 사실에서 온다. 로그인이 정의되지 않은, 당신은 간단하게 제거 (또는 추가 사용에 대한 언급) 할 수 있습니다

if ($_POST['login']){ 

} 

이 문제를 해결하는 또 다른 방법 대응을 넣어하는 것입니다 :

<input name="login" type ="hidden" value=""> 
이 값에 대한 양식 내의

을 전달할 수 있습니다.

+0

정말 고마워요! 나는 하루 종일 이것을 해결하려고 노력해왔다! @ 테크노코 – benpete420

관련 문제