2013-07-11 4 views
-1

이 코드가 작동하지 않는 이유가 궁금합니다. 단추가 올바른 확인 순서를 수행하지만 레코드가 실제로 삭제되지는 않습니다. 작업 버튼의 코드를 복사하여 붙여 넣었습니다. 전송 중에 세부 사항을 지정하지 않은 것 같습니까?삭제 기능이 작동하지 않습니까?

<input name="deleteseries" 
    type="button" id="deleteseries" 
    value="delete" 
    style="width:20%; float:right" 
    onclick="window.location.href = '?deleteseries=delete&id=<?php echo $row_seriesrecordset['id']; ?>&series=<?php echo $row_seriesrecordset['series']; ?>'"/> 
+0

php 하나가 아닌 데이터베이스 오류가 들린다. mysql 오류를 반복 했습니까? – Meiyoki

+0

오류는 일반적으로 반향을하지만이 것은 단순히 삭제하지 않고 페이지로 돌아갑니다 ... 내가 틀린 것을 볼 수 있도록 작업 버튼을 붙이시겠습니까? – user2562865

+0

출력'$ deleteSQ'를 디버깅하려 했습니까? – urzeit

답변

0

:

if (isset($_GET['yesdelete'])) { 
    $deleteSQL = sprintf("DELETE FROM series WHERE id='%s' LIMIT 1", 
     GetSQLValueString($_GET['yesdelete'], "int")); 

    mysql_select_db($database_connectmysql, $connectmysql); 
    $Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error()); 
    echo "deleted entry with ID ".$_GET['yesdelete']; 
    exit; 
    header("location: editstock.php"); 
    exit(); 
} 

이 버튼으로

if (isset($_GET['deleteseries'])) { 
    echo 'Do you really want to delete ' 
     . $_GET['series'] 
     . '? <a href="editstock.php?yesdelete=' 
     . $_GET['id'] 
     . '">Yes</a> | <a href="editstock.php">No</a>'; 
    exit(); 
} 

if (isset($_GET['yesdelete'])) { 
    $deleteSQL = sprintf("DELETE FROM series WHERE id='%s' LIMIT 1", 
     GetSQLValueString($_GET['yesdelete'], "int")); 

    mysql_select_db($database_connectmysql, $connectmysql); 
    $Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error()); 
    header("location: editstock.php"); 
    exit(); 
} 

항목이 삭제되었다고 말하는 것은 무엇입니까? 어쩌면 너는 틀린 "yesdelete"매개 변수 (틀린 ID)를 건네 줬을거야 ..

+0

아니요 ... 그 didnt는 단지 이전과 youre echo didnt 쇼 그것이 삭제되었다는 것을 보여줍니다 ... 올바른 yesdelete 매개 변수는 무엇입니까? – user2562865

+0

두 개의 다른 버튼에 대해 동일한 정보를 너무 많이 사용하기 때문에 그럴 수 있습니까? – user2562865

+0

작업 버튼을 붙이면 비교하기가 더 쉬울까요? – user2562865

-2

모든 것이 정확하면 다음 코드에서 만든 단지 작은 실수 :이 시도

if (isset($_GET['yesdelete'])) { 
    $deleteSQL = sprintf("DELETE FROM series WHERE id='. $_GET['yesdelete'] LIMIT 1", 
     GetSQLValueString($_GET['yesdelete'], "int")); 

    mysql_select_db($database_connectmysql, $connectmysql); 
    $Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error()); 
    header("location: editstock.php"); 
    exit(); 
} 
+0

이제 sprintf가 완전히 잘못되었습니다. 또한 문자열이 올바르게 형성 되었다면 SQL 주입이 가능할 것입니다 – schlimpf

+0

thankyou하지만 이제는 해당 코드에 구문 오류가 있다고합니다 ...? – user2562865

+1

-1 잘못된 코드 – urzeit

관련 문제