2013-06-28 4 views
0

저는 PHP로 상당히 새로워졌습니다. 그리고 그 중 하나만 골라 낼 수있는 간단한 솔루션이있을 것입니다.POST 관련 문제

문제는 한 페이지에 여러 행이 표시되어 Product ID입니다. 다른 행에서 $product_id = $_POST['pid'];을 검색하여 선택한 행을 제거하려고합니다. 그러나 반환 된 값은 선택한 행이 아닌 게시 ​​된 마지막 행입니다.이 행을 사용하면 시도 할 때 마지막 행을 제거하게됩니다 예를 들어 첫 번째 행을 제거합니다.

내가 변경하려면 무엇을 변경해야합니까? POST product_id 마지막으로 게시하지 않은 항목이 있습니까?

감사합니다.

나는 매우 새로운 것을 말했듯이 내 코드 또는 그 길은 너무 간단하다. 어쨌든 나는 무엇을하려하는지 heres한다.

$sql2 = "SELECT * from shoppingcart_items WHERE shoppingcart_id=".$wid.""; 
$result2 = mysql_query($sql2, $con) or die('sql2'.mysql_error()); 

while($row = mysql_fetch_array($result2))      
$pid = $row['product_id'];          
echo '<td><input type="text" name="pid" value="'. $pid .'"></td> '; 

그리고 3,4,5,7 등의 행을 검색하고 다른 PHP 페이지에서 선택한 행을 삭제하려고합니다.

$sql2 ="DELETE FROM shoppingcart_items WHERE product_id = '".$_REQUEST["pid"]."' AND shoppingcart_id ='".$_REQUEST["wid"]."'"; 

그래서 일이 내가 마지막 값 느릅 나무는 7이 아니라 내가 예를 들어 선택된 하나입니다 삭제입니다 3.

+3

일부 코드를 볼 수 있으면 디버깅이 훨씬 쉬울 것입니다. – andrewsi

+1

도움을 받으려면 몇 가지 코드가 필요합니다. –

+0

HTML과 PHP 제발 – user20232359723568423357842364

답변

0
  1. 를 사용하여 브라우저에서 일부 개발자 도구는 정확한 POST 데이터가 있는지 확인합니다 PHP 스크립트로 전송됩니다. Chrome의 개발자 도구를 정말 (정말로, 정말로, 정말) 즐기고 있습니다. 모든 네트워크 트래픽을 시청 한 다음 자세한 정보를 얻을 수 있습니다. 하지만 개발자 도구 키트가 많이 있습니다.
  2. echo 올바른지 확인하기 위해 PHP에서 실행하려고하는 쿼리.

웹 응용 프로그램을 디버깅 할 때마다 수행해야 할 일반적인 작업입니다.

보너스 - 데이터를 이스케이프 처리하거나 정수 (ID의 경우)로 캐스팅하여 SQL 주입으로 공격 할 수 없는지 확인하십시오.

예. 이 PHP의 mysqli 확장을 사용하고 $db 것을

$querySTR = 'SELECT * FROM sensitive_data WHERE id=' . (integer)$_POST['id'] . " AND username='" . $db->real_escape_string($_POST['username']) . "'"; 

참고 유효한 데이터베이스 연결 자원이다.

아, 그리고 당신이 특정 코드를 :) 게시하지 않는 한 아무도 구체적인 도움을 줄 수

당신이 당신의 foreach는 (존재의 이름으로 가능한 각 제품 ID에 대해 동일한 '입력'이름을 지정하는 것처럼 보이는
+0

고마워요. –

0

= " PID " '), 당신은

이 같은 말처럼겠습니까 ... 여러 이름이 같은 될 겁니다 있도록 : '애플이 녹색 ' '애플이 빨간색 ' '애플 '

검은 색

사과는 어떤 색깔을 가지고 있습니까?

+0

내 문제에 대해 알려 주셔서 감사합니다. 실마리가 없습니다. 한숨 –

+0

마지막 값은 실제로 서버로 전송됩니다. – Jasper

+0

정확히 내가 원했던 것은 그게 마지막 값을 얻기를 원하지 않는다. –