2011-12-29 3 views
0

이것은 내 코드가 사용자 데이터베이스에 로그인 한 후 표시됩니다 (member_details)이지만 데이터베이스에는 자바 스크립트가 삽입 된 행이 있습니다.내 데이터베이스 세부 사항을 PHP에서 표시 할 수 없습니다

<script>window.location="http://google.com"</script> 

브라우저에서 스크립트를 볼 때 사용자를 google.com으로 리디렉션합니다.

<?php 
     session_start(); 
     include ('includes/database_connection.inc.php'); 
    $conn = connectDatabase(); 

     if($_SESSION['uid'] == ''){ 
     // redirect unauthenticate user to login page. 
     header('Location: login.php'); 
     } 

     if($_GET['task'] == 'delete' && $_GET['id'] != ''){ 
      // delete function here 
     $sql="DELETE FROM Newest Where ID='".mysql_real_escape_string($_GET['id'])."'"; 

     mysql_query($sql,$conn); 
     header('Location: member_list.php'); 
     } 

     if($_POST['Logout']){ 
     session_destroy(); 
     header('Location: login.php'); 
    } 

    ?> 

    <html><head><title>Member Details</title> 
    </head> 
    <body> 
    <div style=" margin: 350px "> 
    <?php 


      $sql="SELECT * FROM Newest"; 
      $rs = mysql_query($sql,$conn) 
      or die(mysql_error()); 


     $list = "<table border=\"1\" cellpadding= \"2\">"; 
     $list .= "<tr><th>First Name</th>"; 
     $list .="<th>Last Name</th>"; 
     $list .= "<th>User Name</th>"; 
     $list .= "<th>Email</th>"; 
     $list .= "<th>Edit User</th>"; 
     $list .= "<th>Delete User</th>"; 
     $list .= "<th>Change Password</th>"; 


    While($row = mysql_fetch_array($rs)) { 

     $list .= "<tr>"; 
     $list .= "<td>".$row["name"]."</td>"; 
     $list .= "<td>".$row["last"]."</td>"; 
     $list .= "<td>".$row["user"]."</td>"; 
     $list .= "<td>".$row["email"]."</td>"; 
     $list .= "<td><a href='member_details.php?id=".$row['ID']."'>Edit</a></td>"; 
     $list .= "<td><a onclick='return confirm(\"Are you sure to delete ".$row["name"]." \")' href='member_list.php?id=".$row["ID"]."&task=delete'>Delete</a></td>"; 
     $list .= "<td><a href='Password.php?id=".$row['ID']."'>Click Here</a></td> 
     </tr>"; 

    } 
     $list .= "</table>"; 
     echo ($list); 

    ?> 
     <form method="post" action="member_list.php"><br> 
     <div style="margin : 0px 600px"> 
     <style type="text/css"> 
    body {background:#F5F5F5 url('http://images.apple.com/downloads/dashboard/travel/images/traveltodolist_20070724165034.jpg') no-repeat top;; 

      }</style> 


      <input type="submit" name="Logout" value="logout" /> 

      </form> 
    </body> 
    </html> 
+0

출력 할 때 데이터를 안전하게 만드십시오. - http://php.net/manual/en/function.htmlspecialchars.php – JohnP

답변

0

데이터를 데이터베이스에 삽입하기 전에 필터링해야합니다. 기본 하나를 사용하고 있습니다 : mysql_real_escape_string

데이터베이스 사용에서 레코드를 가져 오는 동안 : strip_tags 같은 태그의 전원이 제거됩니다 그래서

. 도움을 받으십시오.

관련 문제