2010-01-27 4 views
1

가능한 중복 :
Back button re-submit form data ($_POST)게시 후 리디렉션은 어떻게 작동합니까?

어떤 사람이 나에게 오히려 그 문제는 내가 지금 뭐하는 거지 왜 새로운 질문으로 넣어 편집 제안 ...

<?php 
session_start(); 

if(isset($_POST['username']) && ($_POST['password'])) 
{ 

       $con=mysql_connect("localhost","root",""); 
       if(!$con) 
       { 
       die('Could Not Connect:'.mysql_error()); 
       } 

       mysql_select_db("tcs",$con); 

       $usr=$_POST["username"];     //pick username from login page 
       $pwd=hash('sha1',$_POST['password']); //pick password from login page and use hash algorithm to encrypt it 

       $query="select * from employee where Username='$usr' and Password='$pwd'"; //serch that single row in which both r found 
       $result=mysql_query($query,$con); 


        if ($result) 
        { 

           $row=mysql_fetch_array($result); 

         if (($row["Username"]==$usr) && ($row["Password"]==$pwd)) 
         { 

           $_SESSION['employee']['id']=$row['User Id']; 
           $_SESSION['employee']['username']=$row['Username']; 
         }  
         else 
         { 
           echo "Login Not Successfull"; 
         } 
        } 
} 

else 
{ 
echo 'Error! Username & Password were not sent!'; 
} 

$_SESSION['user_authenticated'] = true; 

?> 

<html> 
<body bgcolor="black"> 


<?php 
if($_SESSION['user_authenticated']) 
{ 


           echo "<font color=red>"."<h3 align=center>"."Welcome ".$_SESSION['employee']['username']."</h3>"."</font>"; 
           echo "<br />"."<a href='upload_file.php'>"."<font color='white'>"."<h4>"."Up-Load Files"."</h4>"."<font>"."</a>"; 
           echo "<br />"."<br />"."<a href='list_files.php'>"."<font color='white'>"."<h4>"."List All Up-Loaded Files"."</h4>"."<font>"."</a>"; 

} 



?> 

</font> 
<a href="logout_file.php"><font color="white"><h3 align="right">Sign Out</h3></font></a> 
<font color="white"> 

</body> 
</html> 

좋아, 이제 요점이 생겼어.하지만 한 가지 더 문제가있어. 내가 로그 아웃하는 링크가있는 로그인 페이지에있다. 내가 si를 클릭하면 gn out 버튼 내가 page.ok에 로그인하도록 다시 지시됩니다. 문제는 없지만 다시 버튼을 다시 누르면 로그 아웃 한 후에도 데이터를 다시 보내라는 메시지가 표시되고 다시 로그인 페이지가 표시됩니다. . 그것은 잘못된 yar입니다. 어떻게 해야할지. 다른 모든 페이지의 경우 업로드에서 로그 아웃 버튼을 클릭하면 좋아요. 버튼 -> 로그인으로 리디렉션됩니다. 다시 버튼을 누르면 로그 아웃됩니다. 펠릭스 선생님이 http://www.thefutureoftheweb.com/blog/get-redirect-after-post

을 확인하지만, 정말이 사람이 saying.I 미안 무엇 받고 있지 않다 나에게 말했다 나는 내가 너무 techanical 아니다 signinaction

에 대한 세션 변수 종료를 확인하는 방법을 모른다 becuase 난 내가 직면하고있는 무슨 문제를 알고 begineer ... 지금까지 내가

if (count($_POST)) {    //checking how many time data is being resend. 
     // process the POST data 
    add_comment($_POST);  //what this function do i dont know 

    // redirect to the same page without the POST data 
header("Location: ".$_SERVER['PHP_SELF']); //i think it is like 
           //refreshing without get input again from allpication form 
     die; 
    } 

이 그것을 설명해주십시오 알고

는, 특히이 $_server(;PHP_SELF)

무엇입니다
+1

게시물의 제목을 수정할 수도 있습니다 ... – rochal

+0

이 질문의 제목은 너무 길다. 전체 질문이 아닌 질문에 대한 간략한 개요 여야합니다. 나는 그것이 모두 거기에있을 수있는 제목에'code '를 넣는 방법이 있다면 상상한다. ;-D – pavium

+0

"이제 괜찮아. 문제가 생겼어.하지만 문제가 하나 더있어." ".... 이전 코드 블록을 제거 할 수 있었습니까? 나는 그것이 어떻게 관련되는지를 볼 수 없다. 다른 재료없이 문제에 집중할 수 있습니까? –

답변

0

$_SERVER - this을 참조하십시오.