Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 删除不使用连接按钮的代码_Php - Fatal编程技术网

Php 删除不使用连接按钮的代码

Php 删除不使用连接按钮的代码,php,Php,在页面上,我试图在一个具有其他编辑功能的更新表单上使用“删除”按钮,在所有尝试中,我的“删除”似乎都与此相冲突 这是指向站点的链接,因此您可以测试: (该按钮当前位于“系列中的所有零件”下,单击名称将以可折叠面板的形式打开表单) 我已经使用了DreaWaver cs5向导,如果这有助于了解我其余代码的外观的话。你能帮我吗 <?php if (isset($_GET['delete'])) { echo 'Do you really want to delete ' . $_GET['de

在页面上,我试图在一个具有其他编辑功能的更新表单上使用“删除”按钮,在所有尝试中,我的“删除”似乎都与此相冲突

这是指向站点的链接,因此您可以测试: (该按钮当前位于“系列中的所有零件”下,单击名称将以可折叠面板的形式打开表单)

我已经使用了DreaWaver cs5向导,如果这有助于了解我其余代码的外观的话。你能帮我吗

<?php 
if (isset($_GET['delete'])) {
echo 'Do you really want to delete ' . $_GET['delete'] . '? <a  href="editstock.php?yesdelete=' . $_GET['delete'] . '">Yes</a> | <a href="editstock.php">No</a>';
exit();
}
if (isset($_GET['yesdelete'])) {
$deleteSQL = sprintf("DELETE FROM pieces WHERE id='%s' LIMIT 1",
                   GetSQLValueString($_POST['id'], "int"));

mysql_select_db($database_connectmysql, $connectmysql);
$Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error());
header("location: editstock.php"); 
exit();
}
?>
试试这个

<form action="" method="get">
    <input name="delete" type="submit" id="delete" value="delete" style="width:20%; float:right"/>
</form>


我知道这听起来像个愚蠢的问题,但你使用的是HTML表单吗?此外,您可能希望将输入类型设置为“提交”而不是“按钮”

阿卡


如果查看中的源代码,您将看到表单使用的是
method=“post”

另外,在删除链接中,您使用的是
delete
,但我认为您需要
id
-
$\u POST['id']

最后,当您单击该链接时,$\u POST['id']
不再可在
if(isset($\u GET['yesdelete'])
中使用,因此您需要将
id
添加到url


编辑1
这里有一个建议的方法来改变它,尽管根据url删除并不是一个好主意。最好确保只有管理员可以通过这种方式访问/删除。注意,
GetSQLValueString()
是Dreamweaver创建的函数,因此需要确保包含定义该函数的文件

<?php 
if (isset($_POST['delete'])) {
echo 'Do you really want to delete ' . $_POST['piece'] . '? <a  href="editstock.php?yesdelete=' . $_POST['id'] . '">Yes</a> | <a href="editstock.php">No</a>';
exit();
}
if (isset($_GET['yesdelete'])) {
include('file where GetSQLValueString() is defined'); // you have to change **file where GetSQLValueString() is defined** to the file path
$deleteSQL = sprintf("DELETE FROM pieces WHERE id='%s' LIMIT 1",
                   GetSQLValueString($_GET['yesdelete'], "int"));

mysql_select_db($database_connectmysql, $connectmysql);
$Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error());
header("location: editstock.php"); 
exit();
}
?>
我不知道您是如何填充表单元素的,所以将
$row['id']
&
$row['piece']
更改为您的方法

然后删除函数-

<?php 
if (isset($_GET['delete'])) {
echo 'Do you really want to delete ' . $_GET['piece'] . '? <a  href="editstock.php?yesdelete=' . $_GET['id'] . '">Yes</a> | <a href="editstock.php">No</a>';
exit();
}
if (isset($_GET['yesdelete'])) {
include('file where GetSQLValueString() is defined'); // you have to change **file where GetSQLValueString() is defined** to the file path
$deleteSQL = sprintf("DELETE FROM pieces WHERE id='%s' LIMIT 1",
                   GetSQLValueString($_GET['yesdelete'], "int"));

mysql_select_db($database_connectmysql, $connectmysql);
$Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error());
header("location: editstock.php"); 
exit();
}
?>

你从哪里获得
$\u POST['id']
?它不会作为POST变量或GET变量出现在您的代码中的任何地方。我将在其他人之前讨论这个问题:不要在新项目中使用mysql,因为它已被弃用。使用mysqli或PDO。好吧,我已经尝试将dreamweaver向导代码与另一个o结合起来,我可以得到确认页面,老实说,这就是为什么我不完全理解。我真正想要的是一个带有确认页面的删除按钮。一个删除按钮,我可以复制和过去的其他表没有改变代码也将是伟大的(一个全球性的?),但我不认为这是可能的…我如何改变mysqli?PHP的mysql扩展将很快被删除。Mysqli取代了它。你可以找到参考资料。它与mysql非常相似,但为mysql中的较新功能提供了更好的支持。因此,代码很好地链接到了确认,但随后我收到了以下错误:致命错误:调用未定义的函数GetSQLValueString()在第11行的D:\Hosting\11204618\html\editstock.php中,这里没有解决基本问题:没有将项目id传递给执行删除操作的查询。是的,我知道……如果我在该行上用GET替换POST,它会起作用吗?当你说它不需要get/post时,我不确定我是否理解为什么,因为它不就是这样把“id”带到确认页面的吗?啊!!困惑的这是一个php支持的更新表单,我也尝试添加该按钮,以便它与提交“更新”按钮分开运行。当我有两个UBMIT紧挨着的时候,它似乎把一切都搞砸了,这就是为什么我只希望删除是一个链接。这里没有解决基本的问题:条目id没有传递给执行删除的查询。所以如果我理解了这一点,我要做的是:更改所有的GET to POST,那么我要添加id的url在哪里?对不起,谢谢…太好了!让按钮正常工作的方法是:如果您使用
onclick
提交更改,那么您确实需要使用
$\u GET
。我会再次更新,给我一分钟。这是出现的三个错误MSG!警告:include()[function.include]:无法在第9行的D:\Hosting\11204618\html\editstock.php中打开“定义了GetSQLValueString()的文件”以包含(include_path=”;C:\php\pear')。致命错误:在第1行的D:\Hosting\11204618\html\editstock.php中调用未定义的函数GetSQLValueString(),请重新阅读我的答案-
注意,GetSQLValueString()是Dreamweaver创建的函数,因此需要确保包含定义该函数的文件。
include('GetSQLValueString()定义的文件');//您必须将定义了GetSQLValueString()的**文件**更改为文件路径
。Dreamweaver创建
GetSQLValueString()
函数。我看不到你的文件,所以我不知道它是在哪里定义的,只有你知道。如果没有,您将需要重新定义它。
<form action="" method="GET">
    <input type="submit" name="delete" id="delete" value="delete" style="width:20%; float:right"/>
</form>
<form action="/editstocktest.php?" method="post" name="form4" id="form4">
if (isset($_GET['delete'])) {}
<?php 
if (isset($_POST['delete'])) {
echo 'Do you really want to delete ' . $_POST['piece'] . '? <a  href="editstock.php?yesdelete=' . $_POST['id'] . '">Yes</a> | <a href="editstock.php">No</a>';
exit();
}
if (isset($_GET['yesdelete'])) {
include('file where GetSQLValueString() is defined'); // you have to change **file where GetSQLValueString() is defined** to the file path
$deleteSQL = sprintf("DELETE FROM pieces WHERE id='%s' LIMIT 1",
                   GetSQLValueString($_GET['yesdelete'], "int"));

mysql_select_db($database_connectmysql, $connectmysql);
$Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error());
header("location: editstock.php"); 
exit();
}
?>
<input name="delete" type="button" id="delete" value="delete" style="width:20%; float:right" onclick="window.location.href = '?delete=delete&id=<?php echo $row['id']; ?>&piece=<?php echo $row['piece']; ?>'"/>
<?php 
if (isset($_GET['delete'])) {
echo 'Do you really want to delete ' . $_GET['piece'] . '? <a  href="editstock.php?yesdelete=' . $_GET['id'] . '">Yes</a> | <a href="editstock.php">No</a>';
exit();
}
if (isset($_GET['yesdelete'])) {
include('file where GetSQLValueString() is defined'); // you have to change **file where GetSQLValueString() is defined** to the file path
$deleteSQL = sprintf("DELETE FROM pieces WHERE id='%s' LIMIT 1",
                   GetSQLValueString($_GET['yesdelete'], "int"));

mysql_select_db($database_connectmysql, $connectmysql);
$Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error());
header("location: editstock.php"); 
exit();
}
?>
<?php 
if (isset($_GET['delete'])) {
echo 'Do you really want to delete ' . $_GET['piece'] . '? <a  href="editstock.php?yesdelete=' . $_GET['id'] . '">Yes</a> | <a href="editstock.php">No</a>';
exit();
}
if (isset($_GET['yesdelete'])) {

// redefine if does not exist
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType,
$theDefinedValue = "", $theNotDefinedValue = "") 
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ?
mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;    
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}


$deleteSQL = sprintf("DELETE FROM pieces WHERE id='%s' LIMIT 1",
                   GetSQLValueString($_GET['yesdelete'], "int"));

mysql_select_db($database_connectmysql, $connectmysql);
$Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error());
header("location: editstock.php"); 
exit();
}
?>