Если вы посмотрите на исходный код в http://exhibitjewellery.com/editstocktest.php вы увидите, что ваша форма использует method="post"
<form action="/editstocktest.php?" method="post" name="form4" id="form4">
так что вы не можете нам $_GET
-
if (isset($_GET['delete'])) {}
также, в вашей ссылке Удалить, вы используете значение delete
, но я думаю, что вы хотите id
- $_POST['id']
наконец, при нажатии на эту ссылку $_POST['id']
не долго доступны для использования внутри if (isset($_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();
}
?>
редактировать # 2
Поскольку вы хотите использовать onclick
для выполнения функции удаления, вам нужно будет изменить ваш location.href
и использовать $_GET
.
вашей кнопка HTML
<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']; ?>'"/>
Я не знаю, как вы заселять свои элементы формы, так что изменить $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();
}
?>
редактировать 3
, если вы не можете найти, где Dreamweaver является определение функции, вы можете переопределить его -
<?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();
}
?>
Где вы получаете '$ _POST ['id']' from? Он не отображается нигде в вашем коде здесь как переменная POST или как переменная GET. –
Я доберусь до этого, прежде чем кто-то еще: не используйте mysql для новых проектов, потому что он устарел. Используйте ** mysqli ** или PDO. –
хорошо, я попытался объединить код мастера Dreamweaver с другим o, я могу получить страницу подтверждения, и именно так это было так, чтобы быть честным, я не совсем понимаю. все, что я действительно хочу, это кнопка удаления с подтверждением. кнопка удаления, которую я могу скопировать и прошёл в другие таблицы без изменения кода, также будет отличным (глобальным?), но я не думаю, что это возможно ... – user2562865