Hej. Har problem att loopa ut en sak.
Vi vill att när members loopas ut så vill vi få in en knapp/länk på varje rad. Denna knapp/länk ska sedan användas för att ta bort användaren, så den ska på något sätt länkas till id:t på den raden.(alla members har specifika id)
Det är i denna loop jag vill få in det:
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td class=\"text\">$col_value</td>\n";
}
echo "\t</tr>\n";
}
Här är ett exempel på en knapp jag försökt med.(Ej länkad på något sätt):
så ser den ut..alltså tanken är att på ett mer pedagogiskt sätt ta bort användare..så att administratören bara ska behöva klicka på "ta bort" bredvid den användare som han vill ta bort och sen få bekräftelse "Vill du verkligen ta bort Anders.." hoppas ni förstår hur jag menar..
som ni ser så just nu så skriver den bara ut all information i databasen..
I övrigt så ser databasen ut så här
[B]ID[/B] [B]User[/B] [B]pass[/B] [B]name[/B] [B]UserLevel[/B]
1 Esa2 koko Esa Hell user
2 Esa4 koko Esa Hell user
3 Esa5 koko Esa Hell user
jag jobbar med egx på detta projekt, och som ni säkert förstår är vi inte experter på detta det du skickade hjälpte lite, men antingen har vi suttit med detta i för många dagar i streck eller så e vi tröga..vi får ingenting att funka, så nu postar jag hela skriptet..
(Jag vet, det är Väldigt stökigt och MKT bortkommenterat, vi hade en annan borttagningsfunktion innan som fungerade fint men vi tyckte inte den va pedagogisk nog)
<?php
ob_start();
session_start(); // Alltid överst på sidan
// Kolla om inloggad = sessionen satt
/*if (!isset($_SESSION['sess_user'])){
header("Location: index.php");
exit;
}
*/
if (!isset($_SESSION['sess_userlevel']) || $_SESSION['sess_userlevel'] != "admin") {
// header("Location: index.php");
header("refresh: 5;url=konto.php");
// eller
echo "Du har inte behörighet till den här sidan";
exit;
}
if (isset($_GET['logout'])){
session_unset();
session_destroy();
header("Location: index.php");
exit;
}
?>
<html>
<head>
<link rel=StyleSheet href="setts/style.css" TYPE="text/css">
</head>
<body class="back">
<?php
include "conn.php";
//if ($_POST['JA'] == "Ja" && strlen($_POST['delete']) && $_POST['delete'] != "6")
//{
// mysql_query("DELETE FROM $mem_table WHERE id = '" . $_POST['delete'] . "'");
// header("Location: remove.php");
// exit;
//}
if(isset($_GET['action']) && isset($_POST['id']))
{
if($_POST['action'] == "edit")
{
$id = $_POST['id'];
mysql_query("DELETE FROM $mem_table WHERE id = '" . $_POST['id'] . "'");
header("Location: remove.php");
exit;
}
}
$query = 'SELECT * FROM members';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
//echo "<link rel=StyleSheet href=\"setts\style.css\" TYPE=\"text/css\">";
echo "<table>\n";
echo "<td class=\"text3\"><strong>ID</strong></td>";
echo "<td class=\"text3\"><strong>User</strong></td>";
echo "<td class=\"text3\"><strong>Pass</strong></td>";
echo "<td class=\"text3\"><strong>Name</strong></td>";
echo "<td class=\"text3\"><strong>UserLevel</strong></td>";
echo "<td class=\"text3\"><strong>filename</strong></td>";
echo "<td class=\"text3\"><strong>type</strong></td>";
echo "<td class=\"text3\"><strong>size</strong></td>";
echo "<td class=\"text3\"><strong>content</strong></td>";
echo "</tr>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
foreach ($line as $col_value) {
echo "\t\t<td class=\"text\">$col_value</td>\n";
}
?>
<tr>
<td class="text"><a href="?id=<?php echo $line[0]?>&action=edit"><?php echo $line[0]?>ff</a></td>
<td class="text"><?php echo $line[1]?></td>
<td class="text"><?php echo $line[2]?></td>
<td class="text"><?php echo $line[3]?></td>
<td class="text"><?php echo $line[4]?></td>
<td class="text"><?php echo $line[5]?></td>
<td class="text"><?php echo $line[6]?></td>
<td class="text"><?php echo $line[7]?></td>
<td class="text"><?php echo $line[8]?></td>
<td class="text"><?php echo $line[9]?></td>
</tr>
<?php
}
echo "</table>\n";
// Free resultset
mysql_free_result($result);
/*
// Performing SQL query
$query = "SELECT * FROM $mem_table";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
echo "<link rel=StyleSheet href=\"setts\style.css\" TYPE=\"text/css\">";
echo "<table>\n";
echo "<td class=\"text3\"><strong>ID</strong></td>";
echo "<td class=\"text3\"><strong>User</strong></td>";
echo "<td class=\"text3\"><strong>Pass</strong></td>";
echo "<td class=\"text3\"><strong>Name</strong></td>";
echo "<td class=\"text3\"><strong>UserLevel</strong></td>";
echo "<td class=\"text3\"><strong>Row6</strong></td>";
echo "<td class=\"text3\"><strong>Row7</strong></td>";
echo "<td class=\"text3\"><strong>Row8</strong></td>";
echo "<td class=\"text3\"><strong>Row9</strong></td>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td class=\"text\">$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// Free resultset
mysql_free_result($result);
*/
if (isset ($_POST ['submit'])){
$delete = $_POST['delete'];
if ($delete=="126"){
echo "<p class=\"text2\">Du kan inte ta bort Admin kontot!<p>";
}
//--------------------------------------------------------------
else {
echo "
<strong><p class=\"warning\">Är du säker på att du vill ta bort Användaren med id:</strong>$delete?<p>
<form method=\"post\" action=\"?\">
<input type=\"submit\" name=\"JA\" value=\"Ja\">
<input type=\"submit\" name=\"NEJ\" value=\"Nej\">
<input type=\"hidden\" name=\"delete\" value=\"$delete\">
</form>";
}
}
ob_end_flush();
//?>
<br><form method="post" action="?">
<label for="delete"> Vilket id vill du ta bort</label>
<input type="text" name="delete" />
<input type="submit" name="submit" value="Ta bort!"/>
</form><br>
<a href="admin.php">Tillbaka</a><br><br>
<?php
echo "<a href=\"index.php?logout=\">Logga ut</a>\n";
?>
</body>
</html>
Den Stökiga databasen (tablen members) ser ut så här
+-----+-----------------+----------+-----------------+-----------+--------------------------------+--------------------------------+------+---------+
| id | user | pass | name | userlevel | filename | type | size | content |
+-----+-----------------+----------+-----------------+-----------+--------------------------------+--------------------------------+------+---------+
| 129 | Life | life1121 | Markus Endal | user | NULL | NULL | NULL | NULL |
| 24 | test4 | erik | erik | | NULL | NULL | NULL | NULL |
| 25 | test5 | erik | erik | | NULL | NULL | NULL | NULL |
| 26 | test6 | erik | erik | | NULL | NULL | NULL | NULL |
| 71 | a66 | erik | erik | | NULL | NULL | NULL | NULL |
+-----+-----------------+----------+-----------------+-----------+--------------------------------+--------------------------------+------+---------+
Deet som händer nu när vi testar det du skickade är att ingenting skrivs ut, förutom de statiska värdena...sen ska ju DELETE, baserat på vem man tryckt in också.
EDIT*
Ändrade lite saker, nu skriver den ut, och den skriver ut länken, och jag la till funktionen för att ta bort, men..som vanligt, funkar inte.
foreach ($line as $col_value) {
echo "\t\t<td class=\"text\">$col_value</td>\n";
}
Dvs $line[0] osv är tomma.
Ingenting lagras i Arrayn men vi förstår hur du menar, men arrayn blir alltid tom.
Hämtningen utav databasen ser ut så här:
$query = 'SELECT * FROM members';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
(Den ska funka!, har används på fler ställen)
Vi tror att problemet ligger när informationen ska lagras i arrayn.
$_GET ska användas när man skickar variablerna via adressfältet och $_POST när de inte syns i adressfältet.
dvs i en länk är det $_GET du ska använda medan för det mest $_POST när det gäller formulär.
du kan dock själva bestämma om formuläret ska skickas som post eller get.
Så ja. Nu funkar det Fixade det med $_GET istället för $_POST. Tack för hjälpen och lektionen hur man använder $_POST och $_GET. Detta kommer att vara till nytta i framtiden.
274 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91