php
2015-04-15 139 views 0 likes 
0

我试图让这个工作几个小时了,我认为它与我有一个$ _GET ['ID']的事实有关;第一个脚本,但林不知道:SQL不更新行

脚本1(FORM):

<?php 
 
\t require_once('db_access.php'); 
 
\t $editID = $_GET['id']; 
 
    $query = mysql_query("SELECT * from routes where id = '".$editID."'"); 
 
    $row = mysql_fetch_assoc($query); 
 
?> 
 

 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
 
"http://www.w3.org/TR/html4/loose.dtd"> 
 
<html> 
 
<head> 
 
<title>Form Edit Data</title> 
 
</head> 
 
<body> 
 
<table border=1> 
 
    <tr> 
 
    <td align=center>Route Edit Data</td> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <table> 
 
     <form method="post" action="complete_edit.php"> 
 
     <tr>   
 
      <td>ID #</td> 
 
      <td> 
 
      <input type="hidden" name="formid" value="<?php echo $row['id'] ?>"> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td>Route Name</td> 
 
      <td> 
 
      <input type="text" name="route_title" size="40" 
 
      value="<?php echo $row['route_title']?>"> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td>Total Price</td> 
 
      <td> 
 
      <input type="text" name="total_price" size="40" 
 
      value="<?php echo $row['total_price']?>"> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td>Down Payment</td> 
 
      <td> 
 
      <input type="text" name="down_payment" size="40" 
 
      value="<?php echo $row['down_payment']?>"> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td>Weekly Net</td> 
 
      <td> 
 
      <input type="text" name="weekly_net" size="40" 
 
      value="<?php echo $row['weekly_net']?>"> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td>Location</td> 
 
      <td> 
 
      <input type="text" name="location" size="40" 
 
      value="<?php echo $row['location']?>"> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td>Remarks</td> 
 
      <td> 
 
      <input type="text" name="remarks" size="40" 
 
      value="<?php echo $row['remarks']?>"> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td align="right"> 
 
      <input type="submit" 
 
      name="submit value" value="Edit"> 
 
      </td> 
 
     </tr> 
 
     </form> 
 
     </table> 
 
    </td> 
 
    </tr> 
 
</table> 
 
</body> 
 
</html>

SCRIPT 2(加工):

<?php 
 
\t \t $id = $_POSt['formid']; 
 
\t \t $editroute = $_POST['route_title']; 
 
\t  $editprice = $_POST['total_price']; 
 
\t  $editdownpay = $_POST['down_payment']; 
 
\t  $editweeklynet = $_POST['weekly_net']; 
 
\t  $editlocation = $_POST['location']; 
 
\t  $editremarks = $_POST['remarks']; 
 

 
\t  $query = "UPDATE routes SET id = '$id', route_title = '$editroute', total_price = '$editprice', down_payment = '$editdownpay', weekly_net = '$editweeklynet', location = '$editlocation', remarks = '$editremarks' WHERE id = '$id'"; 
 
\t  header('Location:index.php'); 
 
?> \t  \t

Th Ë第一大量的代码是我的形式放置,第二个是在处理发生 感谢您的帮助的人:) 亚历

+0

'$ _POSt ['formid'];'应该''_ _POST [' formid'];'也不要相信用户输入,但这似乎不会去DB,所以也许你只是测试? – chris85

+0

我已验证所有POST数据正在处理complete_edit.php但没有更新? –

回答

1
$id = $_POSt['formid']; 

$ _ POST不是$ _ POST

0

林后真是太傻了阅读评论到这里的问题,我意识到我没有mysql_query字符串:) 感谢球员给我我的心灵哈哈:) 亚历克斯

+0

不要忘记不信任用户输入。 https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 – chris85

+0

我没有开始消毒领域,如果这就是你的意思:) –

+0

是的,这就是我意思。至少为了ids把它们作为整数。 '$ editID =(int)$ _ GET ['id'];'(如果它们是整数) – chris85

相关问题