ID = '$ id' â € "Değişken sopa reddediyor tablosundan silinecek

3 Cevap php

Burada çok basit bir görevi gerçekleştirmek için çalışıyoruz.

Ben bir <ol> bazı kullanışlı <li> s veri 4 satır içerdiğini var. Ben tablosundan satır kaldırmak için bir silme düğmesi eklemek istiyorum. Delete.php içinde komut bitmiş gibi görünüyor, ama ben geri gitmek ve listeleme için dashboard.php ve PHPMyAdmin zaman check satır kaldırılır asla.

Burada silme düğmesi (PHP içinde) için kod:

Print "<form action=delete.php method=POST><input name=".$info['ID']." type=hidden><input type=submit name=submit value=Remove></form>";

Delete.php için taşıma:

<? 
//initilize PHP

if($_POST['submit']) //If submit is hit
{
   //then connect as user
   //change user and password to your mySQL name and password
   mysql_connect("mysql.***.com","***","***") or die(mysql_error()); 

   //select which database you want to edit
   mysql_select_db("shpdb") or die(mysql_error()); 

   //convert all the posts to variables:
   $id = $_POST['ID'];


   $result=mysql_query("DELETE FROM savannah WHERE ID='$id'") or die(mysql_error()); 

    //confirm
   echo "Patient removed. <a href=dashboard.php>Return to Dashboard</a>"; 
}
?>

Database is: shpdb Table is: savannah

Fikirler?

3 Cevap

Bunu bir şey arama ve başka bir ile alıyoruz çünkü sopa reddediyor. Değiştir:

"<input name=".$info['ID']." type=hidden>"

karşı

"<input name=ID value=".$info['ID']." type=hidden>"

because in delete.php you're trying karşı access it with:

$id = $_POST['ID'];

Eğer gerçekten alıntı de yani nitelik değerleri olmalıdır:

print <<<END
form action="delete.php" method="post">
<input type="hidden" name="ID" value="$info[ID]">
<input type="submit" name="submit" value="Remove">
</form>
END;

hatta:

?>
form action="delete.php" method="post">
<input type="hidden" name="ID" value="<?php echo $info['ID'] ?>">
<input type="submit" name="submit" value="Remove">
</form>
<?

, Web aşk için, bir SQL sorgusu kendinizi inşa etmeyin. Kullan PDO.

Ben yapmak istiyorum sadece başka bir nokta. Ben size bir giriş sayısal bir isim / id niteliğini veremem ki% 95 eminim. Bu "ID_1" değil "1" gibi olmak vardır.

Ayrıca php ile dizileri yapabilirsiniz.

Peki bu yapabilirdi

<input name="delete[2]">

sonra php

if(isset($_POST['delete']))
  foreach($_POST['delete'] as $key=>$val)
    if($_POST['delete'][$key])  delete from table where id = $val