2015-01-19 4 views
-2

Я застрял в функции удаления, мне интересно, почему моя кнопка удаления не работает, и я уже редактировал свой код. Кто-нибудь может мне помочь.моя кнопка удаления не работает

<?php 
if ($_SERVER["REQUEST_METHOD"] == "POST") 
{ 
    $semester = ($_POST["semester"]); 
    $level = ($_POST["level"]); 
} 
?> 

здесь метод формы

<form method="post" action="<?php echo($_SERVER["PHP_SELF"]);?>"  enctype="multipart/form-data"> 

здесь, чтобы отобразить данные в виде таблицы и SELECT * функционирует

$sql = mysqli_query ($connection, "SELECT * FROM subject"); 

    echo " <table> 
    <th>Semester</th> 
    <th>Level</th> 
    </tr>"; 

while($record = mysqli_fetch_assoc ($sql)){ 
    echo "<tr>"; 
    echo "<td>" . $record['semester'] . "</td>"; 
    echo "<td>" . $record['level'] . "</td>"; 
    echo "<td>" . "<input type=submit name=delete value=Delete>" . "</td>"; 
    echo "</tr>"; 
} 

Это УДАЛИТЬ код кнопки

if (isset($_POST['delete'])) 
{ 

    $delete = mysqli_query ($connection, "DELETE FROM subject WHERE semester = '($_POST[semester])'"); 


} 
+1

Нет ничего плохого в 'delete', есть проблема с _what delete_. У вас нет 'post'ed anyhting. – mudasobwa

+3

** Danger **: вы уязвимы для [SQL-инъекций] (http://bobby-tables.com/) **, которые вам нужно [защищать] (http://stackoverflow.com/questions/ 60174/best-way-to-prevent-sql-injection-in-php). – Quentin

+0

Можете ли вы указать, работает ли ваш оператор выбора? Потому что я не вижу никакой инициализации вашего соединения. –

ответ

0

Попробуйте это :

  while($record = mysqli_fetch_assoc ($sql)){ 
      echo "<tr>"; 
      echo '<form action="mypage.php" method="post">'; 
      echo "<td>" . $record['semester'] . "</td>"; 
      echo "<td>" . $record['level'] . "</td>"; 
      echo "<td>" . $record['course'] . "</td>"; 
      echo "<td>" . $record['subject'] . "</td>"; 
      echo "<td>" . $record['section'] . "</td>"; 
     // And add field form hidden 
      echo '<input type="hidden" name="semester" value="'.$record['semester'].'">'; 
      echo "<td>" . '<input type="submit" name="delete" value="Delete">' . "</td>"; 
      echo "</form>"; 
      echo "</tr>"; 
     } 

    if (isset($_POST['delete']) && isset($_POST['semester'])) 
{ 
$stmt = $connection->prepare('DELETE FROM subject WHERE semester = ?'); 
// if $_POST['semester'] is integer else see http://php.net/manual/en/mysqli-stmt.bind-param.php 
$stmt->bind_param('i', $_POST['semester']); 

$stmt->execute(); 
} 
+0

Я только что редактировал мой код, вы можете снова посмотреть? – mimi93

+0

меня тоже - вы проверили выше код? – toto21

+0

все еще не работает :( – mimi93

Смежные вопросы