Так что я новичок в PHP и пытаюсь создать страницу для удаления пользователя из базы данных. Мне был предоставлен некоторый код для достижения этой цели, однако после печати print_r ($ _ GET) я получаю строковое значение (полное имя) для значения id. Может кто-нибудь помочь мне, как я могу решить эту проблему?
<?php //
/* This script deletes a member entry. */
$dbc = db_connect();
mysqli_set_charset($dbc, 'utf8');
if (isset($_GET['id']) && is_numeric($_GET['id']) ) { // Display the entry in a form:
// Define the query:
$query = "SELECT userID, fullname, age, favorite_course, username, passwd, email FROM user";
if ($r = mysqli_query($dbc, $query)) { // Run the query.
$row = mysqli_fetch_array($r); // Retrieve the information.
// Make the form:
print '<form action="deletemember.php" method="post">
<p>Are you sure you want to delete this entry?</p>
<p>' . $row['userID'] .
$row['fullname'] . '<br />' .
$row['age'] . '<br />' .
$row['username'] . '<br />' .
$row['passwd'] . '<br />' .
$row['email'] . '<br />
<input type="hidden" name="id" value="' . $_GET['id'] . '" />
<input type="submit" name="submit" value="Delete this Member!" /></p>
</form>';
} else { // Couldn't get the information.
print '<p style="color: red;">Could not retrieve the review entry because:<br />' . mysqli_error($dbc) . '.</p><p>The query being run was: ' . $query . '</p>';
}
} elseif (isset($_POST['id']) && is_numeric($_POST['id'])) { // Handle the form.
// Define the query:
$query = "DELETE FROM user WHERE userID={$_POST['id']} LIMIT 1";
$r = mysqli_query($dbc, $query); // Execute the query.
// Report on the result:
if (mysqli_affected_rows($dbc) == 1) {
print '<p>The review entry has been deleted.</p>';
print '<p><a href="viewmember.php"> View </a></p>';
} else {
print '<p style="color: red;">Could not delete the review entry because:<br />' . mysqli_error($dbc) . '.</p><p>The query being run was: ' . $query . '</p>';
}
} else { // No ID set.
print '<p style="color: red;">This page has been accessed in error.</p>';
} // End of main IF.
mysqli_close($dbc); // Close the database connection.
Задача ещё не решена.
Других решений пока нет …