2013-08-06 2 views
0

현재 작은 개인 웹 사이트에서 작업 중입니다. 나는 데이터베이스의 사용자 세부 사항을 편집 할 수 있도록 만들기 위해 노력하고 있습니다. 첫 번째 페이지에는 모든 사용자와 세부 정보가 표시되고 각 사용자는 이름 옆에 편집이 있고 두 번째 페이지에는 데이터베이스의 새 데이터를 입력하는 양식이 열립니다. 문제는 데이터베이스를 업데이트하지 않는다는 것입니다. 양식이 정보를 편집 페이지로 올바르게 가져오고 있다고 생각하지 않습니다.편집 회원 양식 데이터베이스를 업데이트하지 않습니다.

또한 SQL 주입 문제를 알고 있지만 초기 문제가 해결 된 후에 정렬합니다.

TL; DR - 구성원 양식이 데이터베이스를 업데이트하지 않습니다. 어떻게 수정해야합니까?

이 페이지는 관리자가 편집하려는 멤버를 선택하기 위해 데이터베이스에서 멤버를 가져옵니다. 편집 .php :

<html> 
<head> 
<title>Choose User To Edit</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
<body> 
<table> 
    <tr> 
    <td align="center">EDIT DATA</td> 
    </tr> 
    <tr> 
    <td> 
     <table border="1"> 
     <? 
     include"conn.php";//database connection 
     $order = "SELECT * FROM members"; 
     $result = mysql_query($order); 
     while ($row=mysql_fetch_array($result)){ 
     echo ("<tr><td><a href=\"edit_form.php?id=$row[member_id]\">Edit</a></td>"); 
     echo ("<td>$row[firstname]</td>"); 
     echo ("<td>$row[lastname]</td>"); 
     echo ("<td>$row[member_id]</td>"); 
     echo ("<td>$row[login]</td>"); 
     echo ("<td>$row[addline1]</td>"); 
     echo ("<td>$row[addline2]</td>"); 
     echo ("<td>$row[town]</td>"); 
     echo ("<td>$row[county]</td>"); 
     echo ("<td>$row[postcode]</td>"); 
     echo ("<td>$row[telenum]</td>"); 
     echo ("<td>$row[email]</td></tr>"); 
     } 
     ?> 
     </table> 
    </td> 
    </tr> 
</table> 
</body> 
</html> 

이 부분은 관리자가 편집 한 후에 나타나는 양식입니다. 사용자 데이터를 편집 할 텍스트 영역으로 끌어 와야합니다. 그러나 데이터를 가져 오지는 않습니다. 이것은 아마도 문제가 시작되는 곳일 것입니다.

편집-form.php :

<html> 
<head> 
<title>Edit Client</title> 
</head> 

<body> 
<table border=1> 
    <tr> 
    <td align=center>Edit The Clients Data</td> 
    </tr> 
    <tr> 
    <td> 
     <table> 
     <? 
     include "conn.php";//database connection 
     $order = "SELECT * FROM members 
where member_id='$id'"; 
     $result = mysql_query($order); 
     $row = mysql_fetch_array($result); 
     ?> 
     <form method="post" action="edit_data.php"> 
     <input type="hidden" name="id" value="<? echo "$row[member_id]"?>"> 
     <tr>   
      <td>First Name</td> 
      <td> 
      <input type="text" name="firstname" 
    size="40" value="<? echo "$row[firstname]"?>"> 
      </td> 
     </tr> 
      <td>Last Name</td> 
      <td> 
      <input type="text" name="lastname" 
    size="40" value="<? echo "$row[lastname]"?>"> 
      </td> 
     </tr> 
      <td>Login</td> 
      <td> 
      <input type="text" name="login" 
    size="40" value="<? echo "$row[login]"?>"> 
      </td> 
      </tr> 
      <td>Add Line 1</td> 
      <td> 
      <input type="text" name="addline1" 
    size="40" value="<? echo "$row[addline1]"?>"> 
      </td> 
     </tr> 
      <td>Add Line 2</td> 
      <td> 
      <input type="text" name="addline2" 
    size="40" value="<? echo "$row[addline2]"?>"> 
      </td> 
     </tr> 
      <td>Town</td> 
      <td> 
      <input type="text" name="town" 
    size="40" value="<? echo "$row[town]"?>"> 
      </td> 
     </tr> 
      <td>County</td> 
      <td> 
      <input type="text" name="county" 
    size="40" value="<? echo "$row[county]"?>"> 
      </td> 
     </tr> 
      <td>Postcode</td> 
      <td> 
      <input type="text" name="postcode" 
    size="40" value="<? echo "$row[postcode]"?>"> 
      </td> 
     </tr> 
      <td>telephone number</td> 
      <td> 
      <input type="text" name="telenum" 
    size="40" value="<? echo "$row[telenum]"?>"> 
      </td> 
     </tr> 
     <tr> 
      <td>Email</td> 
      <td> 
      <input type="text" name="email" size="40" 
     value="<? echo "$row[email]"?>"> 
      </td> 
     </tr> 
     <tr> 
      <td align="right"> 
      <input type="submit" 
     name="submit value" value="Edit"> 
      </td> 
     </tr> 
     </form> 
     </table> 
    </td> 
    </tr> 
</table> 
</body> 
</html> 

이상적으로 위의 양식에 입력 된 데이터를 사용하여 회원 정보를 편집 마지막으로 간부 페이지입니다. 편집-exec.php는 :

<? 
//edit_data.php 
include "conn.php"; 
$id = $_GET["member_id"]; 
$order = "UPDATE members 
      SET firstname='$_POST[firstname]', 
       lastname='$_POST[lastname]', 
       login='$_POST[login]',  
       addline1='$_POST[addline1]', 
       addline2='$_POST[addline2]', 
       town='$_POST[town]', 
       county='$_POST[county]', 
       postcode='$_POST[postcode]', 
       telenum='$_POST[telenum]', 
       email='$_POST[email]' 
      WHERE 
      member_id='$id'"; 
mysql_query($order); 
header("location:edit.php"); 
?> 

이상적으로, 나는 모든 변경을 한 후, 이전 페이지에서 선택한 정보를 표시 업데이트하려면 편집 양식을하고 싶습니다.

어떤 도움이 필요합니까?

그것은 당신이 당신의 행동 양식에 wrrong 파일을 사용하여 보이는

답변

1

읽어 주셔서 감사

<form method="post" action="edit_data.php"> 
            ^^--------wrong file or you didnt show it. 

이하는 오류와 난의

<form method="post" action="edit-exec.php"> 

그러나 그 끔찍한 코드, 수백해야한다 위선적 인 말로 여러분 모두를 고칠 수 있습니다. P를 :

예를

value="<? echo "$row[login]"?>"value="<?php echo $row['login'] ;?>"

+0

, 감사가 2 오류를 수정하며, 첫 번째 오류는 단순히이 스레드 포스트 동안 내 실수해야한다 – GaZzErZz

관련 문제