2012-05-02 4 views
-1

드롭 다운 메뉴에서 뉴스 이벤트를 선택하여 데이터베이스에서 뉴스 이벤트를 삭제하려고합니다. 사용자가 뉴스 타이틀을 선택하고 제출 버튼을 누르면 뉴스 항목이 관련 테이블에서 삭제되어야합니다. 나는 이것을 시도해도 제대로 작동하지 않습니다. PHP를 처음 사용해서 죄송합니다. 누군가 도와 줄 수 있습니까? 나는 또한 버튼을 누를 때 데이터베이스에서 삭제하려면이 코드를데이터베이스에서 삭제할 PHP 드롭 다운 메뉴

$sql="SELECT newstitle FROM $tbl_name"; 
    $result=mysql_query($sql); 
    ?> 

    <select name="select1"> 
    <?php 
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 
    ?> 
    <option value="<?php echo $row['newstitle'];?>"> <?php echo $row['newstitle'];?>   </option> 

    <?php 
    } 
    ?> 
    </select> 


    <td><center><input type="submit" name="delete" value="delete"></center></td> 

: 여기에 드롭 다운 메뉴는?

$delete=$_POST['delete']; 
    $delete = mysql_real_escape_string($delete); 

    mysql_query ("DELETE FROM $tbl_name WHERE newstitle='$delete'") or die ("Error- news has not been deleted"); 
     echo "News has been deleted"; 
     header("Location: newsdeleted.php"); 
+1

스택 오버플로에 오신 것을 환영합니다라고! 고대의'mysql_ * '함수로 새로운 코드 작성을 중단하십시오. 그들은 더 이상 유지되지 않으며 커뮤니티는 [비추천 프로세스]를 시작했습니다 (http://news.php.net/php.internals/53799). 대신 준비된 구문을 배우고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/mysqli)를 사용해야합니다. 만약 당신이 배울 점이 있다면, 여기 [PDO 관련 튜토리얼] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers). –

+0

@Truth가 말했던 것 이외에도, 현재 심각한 SQL 인젝션에 대해 개방되어 있으며, 이미 익숙하지 않은 경우 해킹 당할 수 있습니다 **. 준비된 진술을 올바르게 사용하는 방법을 배우면 더 이상 문제가되지 않습니다. 또한'Location :'헤더에 상대 경로를 사용할 수 없습니다. 대부분의 경우 작동하지만 RFC에서는 사용할 수 없다고 말합니다. 마지막으로'

'태그를 사용하지 마십시오. 그들은 꽤 오랫동안 죽었습니다. CSS를 사용하여 페이지의 스타일을 지정하십시오. – Brad

답변

0
  • $tbl_name은 당신의 삭제 스크립트에 설정되어 있지 않습니다.
  • 는 쿼리
  • 당신은 오래된 MySQL의 funcs보다는 PHP PDO을 사용해야 탈출, SQL 인젝션에 대해 읽어 입력을 필터링하십시오
  • 버퍼링하지 않는 당신은 표준 출력으로 이미 출력을 가지고 귀하의 헤더 행이 작동하지 않습니다
  • .
  • 당신의 선택 입력 select1하지 delete
0
// Your check for the "delete" submit value goes here 
// Submit name and value are both 'delete' 
if (isset($_POST['delete']) && $_POST['delete'] == 'delete') { 
    // This is the value passed from the form (use select element's name) 
    $selected_newstitle = $_POST['select1']; 
    ... 
} 
+0

죄송합니다. 어디에 삽입해야하는지 모르시겠습니까? mysql_query 위에 넣으시겠습니까? – user1368371