geçersiz argümanlar implode

3 Cevap php
function delete($rowid) 
{
   $rowids = implode(", ",$rowid);
   $sql = "DELETE FROM pms WHERE id IN (".$rowids.")";
   print $sql;
}

if (isset($_POST['submit']))  
{
	delete($rowid);
}

?>

<form method="post" action="test.php">

<input type="checkbox" name="rowid[]" value="1771367" /><br >
<input type="checkbox" name="rowid[]" value="345342" /><br >
<input type="checkbox" name="rowid[]" value="572347" /><br >
<input type="checkbox" name="rowid[]" value="902358" /><br >
<input type="checkbox" name="rowid[]" value="234654" /><br ><br >

<input type="submit" name="submit" />

</form>

Warning: implode() [function.implode]: Invalid arguments passed in C:\pub\test.php on line 4 DELETE FROM pms WHERE id IN ()

Ben burada yanlış ne yapıyorum? Buraya çıldırıyor ..

3 Cevap

O yazı kapma konum eğer, $ _POST ['rowid'] kullanmanız gerekir.

Ayrıca:

Sanitize your SQL!

Sen işlevine doğru değişken geçirmeden değiliz. Sen onu aramak gerekir

if (isset($_POST['submit']))  
{
    delete($_POST['rowid']);
}

Eğer register_globals = on, sizin durumda POST parametreleri okumak gerekir bazı gerçekten eski PHP kitabını okumak gibi görünüyor ..

function delete($rowid) 
{
   $rowids = implode(", ",$rowid);
   $sql = "DELETE FROM pms WHERE id IN (".$rowids.")";
   print $sql;
}

if (isset($_POST['submit']))  
{
        delete($_POST['rowid']);
}