2012-05-02 25 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没有设置你的删除脚本。
  • 请仔细阅读了有关SQL注入,过滤你的输入,逃避查询
  • 你应该使用PHP PDO而不是旧版本的MySQL funcs中
  • 除非你是缓存因为你已经输出到标准输出你的头线将无法正常工作。
  • 你的选择输入被称为select1delete
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