Username är väll en sträng, då måste du skriva den innom ' fnuttar
$sql="DELETE FROM authuser WHERE username='$tabortknapp'";
/Viktor
8 svar · 253 visningar · startad av sys19
Vi länkar till en php sida med en <form action...> där en post skall tas bort ur databasen. Knappens namn är samma som $tabortknapp vilket identifierar den rad som skall tas bort. Inget händer! Varför? Här är php-sidan med borttagningskoden:
<?php
$dbconn=mysql_connect("localhost","anvnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
$sql="DELETE FROM authuser WHERE username=$tabortknapp";
mysql_query($sql);
mysql_close($dbconn) or die(mysql_error());
header("Location: http://xxxx/adminuser.php");
?>
Knappen är definierad som föjer i sidan där knappen finns:
$tabortknapp=$record["username"];
echo("<input type=\"submit\" name=\"$tabortknapp\" value=\"Ta bort\">\n");
Detta borde ge knappen namnet på användaren som i sin tur borde funka som id för att ta bort posten. Inte något funkar. Inget felmeddelande heller..... HILFE! Vi är helt väck! Säkert något enkelt fel.... som vi inte ser.... :P
Username är väll en sträng, då måste du skriva den innom ' fnuttar
$sql="DELETE FROM authuser WHERE username='$tabortknapp'";
/Viktor
Jo... men det vill lixom inte funka ändå. Händer fortfarande ingenting. Mysko. Tack för försöket iaf.
Här e resten av koden från sidan med knapparna som länkar till "tabortsidan"
<html>
<head>
<title>Admin user</title>
</head>
<body>
<?php
$dbconn=mysql_connect("localhost","anvnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
echo("<form action=\"http://XXXX/sys19/laggtilladm.php\\" method=\"post\">\n");
echo("Förnamn:</br>\n");
echo("<input type=\"text\" name=\"fornamn\" size=\"30\"></br>\n");
echo("Efternamn:</br>\n");
echo("<input type=\"text\" name=\"efternamn\" size=\"30\"></br>\n");
echo("Användarnamn:</br>\n");
echo("<input type=\"text\" name=\"anvandarnamn\" size=\"30\"></br>\n");
echo("Lösenord:</br>\n");
echo("<input type=\"text\" name=\"losenord\" size=\"30\"></br>\n");
echo("Startdatum:</br>\n");
echo("<input type=\"text\" name=\"startdatum\" size=\"30\"></br>\n");
echo("Stoppdatum:</br>\n");
echo("<input type=\"text\" name=\"stopdatum\" size=\"30\"></br>\n");
echo("<input type=\"submit\" name=\"spara\" value=\"Spara\">\n");
echo("<input type=\"reset\" name=\"rensa\" value=\"Rensa\" onreset=\"reset\">\n");
echo("<input type=\"submit\" name=\"ny\" value=\"Ny\">\n");
echo("</form>");
$sql="SELECT * FROM authuser;";
$recordset=mysql_query($sql,$dbconn) or die(mysql_error());
while($record=mysql_fetch_array($recordset))
{
echo("Användarnamn: ".$record["username"]."</br>\n");
echo("Lösenord: ".$record["password"]."</br>\n");
echo("Förnamn: ".$record["forename"]."</br>\n");
echo("Efternamn: ".$record["lastname"]."</br>\n");
echo("Startdatum: ".$record["startdate"]."</br>\n");
echo("Stopdatum: ".$record["enddate"]."</br>\n");
echo("<form action=\"http://XXXX/sys19/deladmin.php\\" method=\"post\">\n");
$tabortknapp=$record["username"];
echo("<input type=\"submit\" name=\"$tabortknapp\" value=\"Ta bort\">\n");
echo("</form>");
$updateknapp=$record["username"];
echo("<form action=\"http://XXXX/sys19/updadmin.php\\" method=\"post\">\n");
echo("<input type=\"submit\" name=\"$updateknapp\" value=\"Uppdatera\">\n");
echo("</form>");
echo("<p>-------------------------------------------------------------</p></br>");
}
mysql_close($dbconn) or die(mysql_error());
?>
</body>
</html>
Variabeln $tabortknapp finns inte. Skriver du ut SQL-frågan så ser du.
Prova det här i formuläret:
$tabortknapp=$record["username"];
echo("<input type=\"submit\" name=\"tabortknapp\" value=\"{$record["username"]}\">\n");
Tyvärr så får ju knappen strängen med username då och det ser inte snyggt ut... När det ska stå "Ta bort". Men borde inte $tabortknapp innehålla username i alla fall i och med tilldelningen innan? :-)
Det är alltså flera knappar på sidan. En för varje post. Det ska alltså gå att ta bort en specifik post med knappen bredvid den. Därav placeringen i loopen. På knapparna ska stå "Ta bort". Kanske förtydligar lite.
Är t.ex $record["username"] lika med 'Lisa' så blir om du använder name=\"$tabortknapp\" input:
<input type="submit" name="Lisa" ... >
Föreslår att du istället gör så här:
$tabortknapp=$record["username"];
echo("<input type=\"hidden\" name=\"tabortknapp\" value=\"{$record["username"]}\">\n");
echo("<input type=\"submit\" value=\"Ta Bort\">\n");
Tack så otroligt mycket. Nu funkar det perfekt. Salamander äger!!!! :-D