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 · 258 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....
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