S sys19 Medlem sedan dec. 2002 87 inlägg Frågan 9 jan. 2003 15:22 #1 Knappen "Uppdatera" skall läsa från en DB och stoppa in värdena från den post som klickats vid, i textrutorna. Läsningen från DB sker i separat PHP-fil med mysql. Varför funkar inte det här?
Formulär med kod: (allt verkar funka här)
<html>
<head>
<title>Admin user</title>
</head>
<body>
<?php
$dbconn=mysql_connect("localhost","anvandarnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
echo("<form action=\"XXXX/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/deladmin.php\\ " method=\"post\">\n");
$tabortknapp=$record["username"];
echo("<input type=\"hidden\" name=\"tabortknapp\" value=\"{$record["username"]}\">\n");
echo("<input type=\"submit\" value=\"Ta Bort\">\n");
echo("</form>");
$updateknapp=$record["username"];
echo("<form action=\"http://XXXXX/updadmin.php\\ " method=\"post\">\n");
echo("<input type=\"hidden\" name=\"updateknapp\" value=\"{$record["username"]}\">\n");
echo("<input type=\"submit\" value=\"Uppdatera\">\n");
echo("</form>");
echo("<p>-------------------------------------------------------------</p></br>");
}
mysql_close($dbconn) or die(mysql_error());
?>
</body>
</html>
Här är koden med uppläsingen till textrutorna i föregående PHP-dokument:
<?php
$dbconn=mysql_connect("localhost","anvandarnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
$sql="SELECT * FROM authuser WHERE username='$updateknapp'";
$resultat=mysql_query($sql);
$kolumn=mysql_fetch_array($resultat);
$fornamn=$kolumn["forename"];
$efternamn=$kolumn["lastname"];
$anvandarnamn=$kolumn["username"];
$losenord=$kolumn["password"];
$startdatum=$kolumn["startdate"];
$stopdatum=$kolumn["enddate"];
mysql_close($dbconn) or die(mysql_error());
header("Location: http://XXXX/adminuser.php ");
?>
Inget händer (som vanligt ;-) ).... Hjälp? Någon?
:stud
Matte Medlem sedan aug. 2000 2 975 inlägg Förmodar att adminuser.php är den övre filen och updadmin.php den nedre.
Två saker.
1. header skickar inte med några värden.
2. Du lägger aldrig in några värden i formuläret.
Du kan antingen skicka dit uppdateraformuär till adminuser.php och skriva in de hämtade värdena där, eller så kan du lägga till ett formulär på updadmin.php.
Det senare alternativet:
<?php
$dbconn=mysql_connect("localhost","anvandarnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
$sql="SELECT * FROM authuser WHERE username='$updateknapp'";
$resultat=mysql_query($sql);
$kolumn=mysql_fetch_array($resultat);
$fornamn=$kolumn["forename"];
$efternamn=$kolumn["lastname"];
$anvandarnamn=$kolumn["username"];
$losenord=$kolumn["password"];
$startdatum=$kolumn["startdate"];
$stopdatum=$kolumn["enddate"];
mysql_close($dbconn) or die(mysql_error());
echo("<form action=\"XXXX/laggtilladm.php\" method=\"post\">\n");
echo("Förnamn:</br>\n");
echo("<input type=\"text\" name=\"fornamn\" size=\"30\" value=\"$fornamn\"></br>\n");
echo("Efternamn:</br>\n");
echo("<input type=\"text\" name=\"efternamn\" size=\"30\" value=\"$efternamn\"></br>\n");
echo("Användarnamn:</br>\n");
echo("<input type=\"text\" name=\"anvandarnamn\" size=\"30\" value=\"$anvandarnamn\"></br>\n");
echo("Lösenord:</br>\n");
echo("<input type=\"text\" name=\"losenord\" size=\"30\" value=\"$losenord\"></br>\n");
echo("Startdatum:</br>\n");
echo("<input type=\"text\" name=\"startdatum\" size=\"30\" value=\"$startdatum\"></br>\n");
echo("Stoppdatum:</br>\n");
echo("<input type=\"text\" name=\"stopdatum\" size=\"30\" value=\"$stopdatum\"></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>");
?>
S sys19 Medlem sedan dec. 2002 87 inlägg Sorry att vi e lite korkade, men skulle du kunna tänka dig att demonstrera det tidigare alternativet, dvs skicka till adminuser.php och läsa upp där istället? Pleeease? :-)
S sys19 Medlem sedan dec. 2002 87 inlägg Vi prövade så här men det funkade inte....
<html>
<head>
<title>Admin user</title>
</head>
<body>
<?php
$dbconn=mysql_connect("localhost","anvandarnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
echo("<form action=\"http:/XXX/laggtilladm.php\" method=\"post\">\n");
echo("Förnamn:</br>\n");
echo("<input type=\"text\" name=\"fornamn\" size=\"30\" value=\"$fornamn\"></br>\n");
echo("Efternamn:</br>\n");
echo("<input type=\"text\" name=\"efternamn\" size=\"30\" value=\"$efternamn\"></br>\n");
echo("Användarnamn:</br>\n");
echo("<input type=\"text\" name=\"anvandarnamn\" size=\"30\" value=\"$anvandarnamn\"></br>\n");
echo("Lösenord:</br>\n");
echo("<input type=\"text\" name=\"losenord\" size=\"30\" value=\"$losenord\"></br>\n");
echo("Startdatum:</br>\n");
echo("<input type=\"text\" name=\"startdatum\" size=\"30\" value=\"$startdatum\"></br>\n");
echo("Stoppdatum:</br>\n");
echo("<input type=\"text\" name=\"stopdatum\" size=\"30\" value=\"$stopdatum\"></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>");
if (isset($Uppdatera)){
$dbconn=mysql_connect("localhost","anvandarnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
$sql="SELECT \* FROM authuser WHERE username='$updateknapp'";
$resultat=mysql_query($sql);
$kolumn=mysql_fetch_array($resultat);
$fornamn=$kolumn\["forename"\];
$efternamn=$kolumn\["lastname"\];
$anvandarnamn=$kolumn\["username"\];
$losenord=$kolumn\["password"\];
$startdatum=$kolumn\["startdate"\];
$stopdatum=$kolumn\["enddate"\];
mysql_close($dbconn) or die(mysql_error());
}
$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://XXX/deladmin.php\\" method=\\"post\\"\>\\n");
$tabortknapp=$record\["username"\];
echo("\<input type=\\"hidden\\" name=\\"tabortknapp\\" value=\\"{$record\["username"\]}\\"\>\\n");
echo("\<input type=\\"submit\\" value=\\"Ta Bort\\"\>\\n");
echo("\</form\>");
$updateknapp=$record\["username"\];
//echo("\<form action=\\"http:/XXX/updadmin.php\\" method=\\"post\\"\>\\n");
// echo("\<input type=\\"hidden\\" name=\\"updateknapp\\" value=\\"{$record\["username"\]}\\"\>\\n");
echo("\<input type=\\"submit\\" name=\\"Uppdatera\\" value=\\"Uppdatera\\"\>\\n");
//echo("\</form\>");
echo("\<p\>-------------------------------------------------------------\</p\>\</br\>");
}
mysql_close($dbconn) or die(mysql_error());
?\>
</body>
</html>
Matte Medlem sedan aug. 2000 2 975 inlägg
sys19 skrev:
Sorry att vi e lite korkade, men skulle du kunna tänka dig att demonstrera det tidigare alternativet, dvs skicka till adminuser.php och läsa upp där istället? Pleeease? :-)
Testa det här. Filen adminuser.php:
<html>
<head>
<title>Admin user</title>
</head>
<body>
<?php
$dbconn=mysql_connect("localhost","anvandarnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
if (isset$_POST['updateknapp'])){
$sql="SELECT * FROM authuser WHERE username='$updateknapp'";
$resultat=mysql_query($sql);
$kolumn=mysql_fetch_array($resultat);
$fornamn=$kolumn["forename"];
$efternamn=$kolumn["lastname"];
$anvandarnamn=$kolumn["username"];
$losenord=$kolumn["password"];
$startdatum=$kolumn["startdate"];
$stopdatum=$kolumn["enddate"];
} else {
$fornamn = "";
$efternamn = "";
$anvandarnamn = "";
$losenord = "";
$startdatum = "";
$stopdatum = "";
}
echo("<form action=\"XXXX/laggtilladm.php\" method=\"post\">\n");
echo("Förnamn:</br>\n");
echo("<input type=\"text\" name=\"fornamn\" size=\"30\" value=\"$fornamn\"></br>\n");
echo("Efternamn:</br>\n");
echo("<input type=\"text\" name=\"efternamn\" size=\"30\" value=\"$efternamn\"></br>\n");
echo("Användarnamn:</br>\n");
echo("<input type=\"text\" name=\"anvandarnamn\" size=\"30\" value=\"$anvandarnamn\"></br>\n");
echo("Lösenord:</br>\n");
echo("<input type=\"text\" name=\"losenord\" size=\"30\" value=\"$losenord\"></br>\n");
echo("Startdatum:</br>\n");
echo("<input type=\"text\" name=\"startdatum\" size=\"30\" value=\"$startdatum\"></br>\n");
echo("Stoppdatum:</br>\n");
echo("<input type=\"text\" name=\"stopdatum\" size=\"30\" value=\"$stopdatum\"></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/deladmin.php\" method=\"post\">\n");
$tabortknapp=$record["username"];
echo("<input type=\"hidden\" name=\"tabortknapp\" value=\"{$record["username"]}\">\n");
echo("<input type=\"submit\" value=\"Ta Bort\">\n");
echo("</form>");
$updateknapp=$record["username"];
echo("<form action=\"http://XXXXX/adminuser.php\" method=\"post\">\n");
echo("<input type=\"hidden\" name=\"updateknapp\" value=\"{$record["username"]}\">\n");
echo("<input type=\"submit\" value=\"Uppdatera\">\n");
echo("</form>");
echo("<p>-------------------------------------------------------------</p></br>");
}
mysql_close($dbconn) or die(mysql_error());
?>
</body>
</html>
S sys19 Medlem sedan dec. 2002 87 inlägg Tack IGEN för hjälpen! Fiskesällskapet Salamander visar sin kompetens igen...
Så här gjorde vi till slut:
<html>
<head>
<title>Admin user</title>
</head>
<body>
<?php
if (isset($Uppdatera)){
$dbconn=mysql_connect("localhost","anvandarnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
$sql="SELECT * FROM authuser WHERE username='$updateknapp'";
$resultat=mysql_query($sql);
$kolumn=mysql_fetch_array($resultat);
$fornamn=$kolumn["forename"];
$efternamn=$kolumn["lastname"];
$anvandarnamn=$kolumn["username"];
$losenord=$kolumn["password"];
$startdatum=$kolumn["startdate"];
$stopdatum=$kolumn["enddate"];
mysql_close($dbconn) or die(mysql_error());
}
else {
$fornamn = "";
$efternamn = "";
$anvandarnamn = "";
$losenord = "";
$startdatum = "";
$stopdatum = "";
}
$dbconn=mysql_connect("localhost","anvandarnamn","losenord") or die(mysql_error());
mysql_select_db("sys19",$dbconn) or die(mysql_error());
echo("\<form action=\\"http://XXX/laggtilladm.php\\" method=\\"post\\"\>\\n");
echo("Förnamn:\</br\>\\n");
echo("\<input type=\\"text\\" name=\\"fornamn\\" size=\\"30\\" value=\\"$fornamn\\"\>\</br\>\\n");
echo("Efternamn:\</br\>\\n");
echo("\<input type=\\"text\\" name=\\"efternamn\\" size=\\"30\\" value=\\"$efternamn\\"\>\</br\>\\n");
echo("Användarnamn:\</br\>\\n");
echo("\<input type=\\"text\\" name=\\"anvandarnamn\\" size=\\"30\\" value=\\"$anvandarnamn\\"\>\</br\>\\n");
echo("Lösenord:\</br\>\\n");
echo("\<input type=\\"text\\" name=\\"losenord\\" size=\\"30\\" value=\\"$losenord\\"\>\</br\>\\n");
echo("Startdatum:\</br\>\\n");
echo("\<input type=\\"text\\" name=\\"startdatum\\" size=\\"30\\" value=\\"$startdatum\\"\>\</br\>\\n");
echo("Stoppdatum:\</br\>\\n");
echo("\<input type=\\"text\\" name=\\"stopdatum\\" size=\\"30\\" value=\\"$stopdatum\\"\>\</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:/XXX/deladmin.php\\" method=\\"post\\"\>\\n");
echo("\<input type=\\"hidden\\" name=\\"tabortknapp\\" value=\\"{$record\["username"\]}\\"\>\\n");
echo("\<input type=\\"submit\\" value=\\"Ta Bort\\"\>\\n");
echo("\</form\>");
echo("\<form action=\\"$PHP_SELF\\" method=\\"post\\"\>\\n");
echo("\<input type=\\"hidden\\" name=\\"updateknapp\\" value=\\"{$record\["username"\]}\\"\>\\n");
echo("\<input type=\\"submit\\" name=\\"Uppdatera\\" value=\\"Uppdatera\\"\>\\n");
echo("\</form\>");
echo("\<p\>-------------------------------------------------------------\</p\>\</br\>");
}
mysql_close($dbconn) or die(mysql_error());
?>
</body>
</html>