Övningen
kräver att man har möjlighet att använda PHP och MySQL
(Om server, databas mm inte stämmer med dina uppgifter
så byter/ändar du på det som behövs)
Filerna till den här sidan finns ännu inte tillgängliga
för nedladdning.
- Den här övningen är en fortsättning från
övning 48:1 och övning
48:2. I övning 48:1 framgår det var du hämtar filerna
som du behöver till övningarna.
I övning 48:2 fick du lära dig hur man kan låta användaren
påverka hur innehållet i en tabell i en databas presenteras
på en sida på bildskärmen. Hittills är det dock
bara du själv som har kunnat ända på data i databasen.
I den här övningen skall du framför allt lära dig
hur du ger användaren möjlighet att påverka hela eller
delar av innehållet i databasen. Oftast kan man naturligtvis inte
låta alla användare kunna påverka innehållet.
En enkel lösning är att man lägger alla filer där
användaren kan påverka innehållet i databasen i en
särskild mapp och så skapar man ett skydd genom att kräva
login och lösenord för att nå innehållet i denna
mapp. Då kan alla som kan nå den här mappen göra
ändringarna. Av den anledningen har jag lagt flera av filerna i
övning 48:3 i en särskild undermapp edit
till mappen grund i mappen kap48.
De filer som inte innehåller någon möjlighet för
besökarna att ändra i tabellen i databasen har jag dock lagt
direkt i mappen grund.
Man kan göra flera olika sådana edit-mappar för olika
grupper med olika rättigheter. Ett ytterligare steg som vi kommer
till längre fram är att varje användare som kan ändra
i tabellen i databasen ges ett login och lösenord.
- I tabellen symboler1 i databasen gäller för id:
int(2), NOT NULL samt PRIMARY KEY. Vi måste läga
till en egenskap till för id. Öppna alltså phpMyAdmin
och ändra för fältet (kolumnen) id under Extra så
att AUTO_INCREMENT gäller för id. Om man nu lägger in
rad extra utan att ange id så kommer automatiskt ett nytt id-nummer
att skapas.
Lägg också till ett extra fält under mossa
vid namn extra. Som typ anger du text utan att ange
någon särskild begränsning när det gäller
textens längd. Ändra NOT NULL till NULL dvs det är inte
nödvändigt att det finns extra information om ett landskap.
- För att allt skall fungera så måste du till webbservern
ladda upp mappen edit som en undermapp till mappen
grund.
I HTML-filen 33.html finns länkar till de andra
sidorna. Gå vägen därifrån om du vill testa hur
sidorna fungerar. I filen 33b.html finns bara de länkar
med som vanliga besökare kan nå om mappen edit
är spärrad med login och lösenord.
- FIL 34
Först väljer du hur du vill få landkskapen vidare. Sedan
finns det i
presentationsfilen tre rader extra med länkar till tre olika sidor:
1. En extrasida med information om bara detta landskap
2. En sida som tar bort raden för det landskap som du har klickat
på. Ta bort snedstrecken ( // ) (som finns med
i demoversionen) så fungerar koden.
3. En sida där man kan ändra alla data för ett landskap.
."<TD><a href=\"37.php?id=$rad[id]\">Mer
info</a><br>"
//."<a href=\"36.php?id=$rad[id]\">Ta bort</a><br>"
."<a href=\"35.php?id=$rad[id]\">Ändra</a></TR>\n";
Fil 34b som ligger i mappen grund som alla kan nå
ser precis likadan ut som fil 34 förutom att bara den översta
av de tre kodraderna ovan finns med.
- Koderna till fil 34:
<?php
if ($kolumn)
{
$sql="SELECT * FROM symboler1 ORDER BY $kolumn $ordning";
include("connect.php");
$result = mysql_query($sql,$db);
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR><TH ALIGN=RIGHT>Norr-söder<TH ALIGN=LEFT>Landskap
<TH ALIGN=LEFT>Blomma <TH ALIGN=LEFT>Djur\n";
echo "<TH ALIGN=LEFT>Fisk<TH ALIGN=LEFT>Fågel<TH
ALIGN=LEFT>Sten\n";
echo "<TH ALIGN=LEFT>Svamp<TH ALIGN=LEFT>Insekt<TH
ALIGN=LEFT>Mossa<TH ALIGN=LEFT>Ändra</TR>\n";
$i=1;
while ($rad = mysql_fetch_array($result))
if ($i<=$antal)
{
echo "<TR><TD ALIGN=RIGHT>".$rad["id"]
."<TD ALIGN=LEFT>".$rad["landskap"]
."<TD ALIGN=LEFT>".$rad["blomma"]
."<TD ALIGN=LEFT>".$rad["djur"]
."<TD ALIGN=LEFT>".$rad["fisk"]
."<TD ALIGN=LEFT>".$rad["fagel"]
."<TD ALIGN=LEFT>".$rad["sten"]
."<TD ALIGN=LEFT>".$rad["svamp"]
."<TD ALIGN=LEFT>".$rad["insekt"]
."<TD ALIGN=LEFT>".$rad["mossa"]
."<TD><a href=\"37.php?id=$rad[id]\">Mer
info</a><br>"
//."<a href=\"36.php?id=$rad[id]\">Ta bort</a><br>"
."<a href=\"35.php?id=$rad[id]\">Ändra</a></TR>\n";
$i=$i+1;
}
echo "</TABLE>";
}
else
{
?>
<form method="POST" action="<?php $PHP_SELF ?>">
<table border="1" align="center" cellspacing=2
cellpadding=3>
<tr>
<th colspan="2">Visa landskapssymbolerna på
ditt sätt</th>
</tr>
<tr>
<td><font size="2"><strong>Sorteringssätt</strong></font></td>
<td><font size="2"><strong>Sorteringsordning</strong></font></td>
</tr>
<tr>
<td><select size="1" name="ordning">
<option selected value=ASC>Stigande</option>
<option value=DESC>Avtagande</option>
</select></td>
<td><select size="1" name="kolumn">
<option selected value=id>Norr-söder</option>
<option value=landskap>Landskap</option>
<option value=blomma>Blomma</option>
<option value=djur>Djur</option>
<option value=fisk>Fisk</option>
<option value=fagel>Fågel</option>
<option value=sten>Sten</option>
<option value=svamp>Svamp</option>
<option value=insekt>Insekt</option>
<option value=mossa>Mossa</option>
</select></td>
</tr>
<tr>
<td><font size="2"><strong>Ange hur många
landskap som ska visas</strong></font></td>
</tr>
<tr>
<td ><input type="int" name="antal" size="10"
value="
<?php
include("../../connect.php");
$result = mysql_query("SELECT * FROM symboler1", $db);
$num_rows = mysql_num_rows($result);
echo "$num_rows\n";
?>
<font size="2">Totala antalet är
<?php
include("../../connect.php");
$result = mysql_query("SELECT * FROM symboler1", $db);
$num_rows = mysql_num_rows($result);
echo "$num_rows\n";
?>
</font></td>
<font size="2"> </font></td>
</tr>
</table>
</tr>
<p align="center">
<input type="submit" value="Visa tabellen"
name="B1">
</p>
</form>
<?php
}
?>
- FIL 35
Om man går direkt till den här sidan så
får man möjlighet att lägga in ett nytt landskap. Om
man kommer hit från filen ovan så får man möjlighet
att ändra gällande ett visst utvalt landskap.
En besökare som själv skriver in ett värde är
inte medveten om att mellanslag före ett ord gör så
att sorteringen av en kolumn blir felaktig. För att undvika mellanslag
i början av första ordet som registreras så harr jag
lagt in en funktion som tar bort sådana mellanslag: ltrim.
- Din uppgift blir nu att såsom en användare som måste
använda använda fil 35 för att uppdatera lägga in
de 4 landskap som fattas i din tabell. Data hittar du i Länsstyrelsernas
tabell. Lägg in dem i ordning norr-söder precis som i
länsstyrelsernas tabell. Gå därefter in i databasen
och se i tabellen att nya id-nummer har skapats automatiskt för
dessa landskap.
- Koderna i fil 35:
<?php
if($submit)
{
include("../../connect.php");
$landskap=ltrim($landskap);
$blomma=ltrim($blomma);
$djur=ltrim($djur);
$fisk=ltrim($fisk);
$fagel=ltrim($fagel);
$sten=ltrim($sten);
$svamp=ltrim($svamp);
$fagel=ltrim($fagel);
$insekt=ltrim($insekt);
$extra=ltrim($extra);
$sql = "INSERT INTO symboler1 (landskap, blomma,djur,
fisk, fagel, sten, svamp, insekt, Extra)
VALUES ('$landskap','$blomma','$Ämnen_el_Titel','$fisk','$fagel','$sten',
'$svamp','$insekt','$Extra')";
$result = mysql_query($sql);
echo "Tack! Data har lagts in.\n";
}
else if($update)
{
include("../../connect.php");
$landskap=ltrim($landskap);
$blomma=ltrim($blomma);
$djur=ltrim($djur);
$fisk=ltrim($fisk);
$fagel=ltrim($fagel);
$sten=ltrim($sten);
$svamp=ltrim($svamp);
$fagel=ltrim($fagel);
$insekt=ltrim($insekt);
$extra=ltrim($extra);
$sql = "UPDATE symboler1 SET landskap='$landskap',blomma='$blomma',djur='$djur',
fisk='$fisk',fagel='$fagel',sten='$sten',svamp='$svamp',insekt='$insekt',
insekt='$insekt', extra='$extra' WHERE id=$id";
$result = mysql_query($sql);
echo "Tack! Data har uppdaterats.\n";
}
else if($id)
{
include("../../connect.php");
$result = mysql_query("SELECT * FROM symboler1 WHERE id=$id",$db);
$rad = mysql_fetch_array($result);
?>
<h3>Uppdatera data gällande ett landskap </h3>
<form method="post" action="<?php echo $PHP_SELF?>">
<input type="hidden" name="id" value="<?php
echo $rad[id]?>">
<table border="1" cellpadding="2">
<tr><td>Landskap (Max 22): </td>
<td> <input type="varchar" name="landskap"
size="40" value="<?php echo $rad["landskap"]?>">
</td></tr>
<tr><td>Blomma (Max 15): </td>
<td><input type="varchar" name="Blomma"
size="40" value="<?php echo $rad["blomma"]?>"></td></tr>
<tr><td>Djur (Max 100): </td>
<td><input type="varchar" name="Djur"
size="70" value="<?php echo $rad["djur"]?>"></td></tr>
<tr><td>Fisk (Max 5): </td>
<td><input type="varchar" name="fisk"
size="10" value="<?php echo $rad["fisk"]?>"></td></tr>
<tr><td>Fågel (Max 5): </td>
<td><input type="varchar" name="fagel"
size="10" value="<?php echo $rad["fagel"]?>"></td></tr>
<tr><td>Sten: </td>
<td><input type="varchar" size="40" name="sten"
value="<?php echo $rad["sten"]?>"></td></tr>
<tr><td>Svamp:</td>
<td><input type="varchar" size="40" name="svamp"
value="<?php echo $rad["svamp"]?>"></td></tr>
<tr><td>Insekt (Max 50): </td>
<td><input type="varchar" size="70" name="insekt"
value="<?php echo $rad["insekt"]?>"></td></tr>
<tr><td>Mossa (Max 50): </td>
<td><input type="varchar" size="70" name="mossa"
value="<?php echo $rad["mossa"]?>"></td></tr>
<tr><td valign="top">Extra information: </td>
<td> <textarea cols=80 rows=12 name="extra"><?php
echo $rad["extra"]?></textarea></td></tr>
</table>
<br><br>
<input type="Submit" name="update" value="Uppdatera
data">
</form>
<?
}
else
{
?>
<h3>Lägg in uppgifter om ett landskap som tidigare inte
har varit registrerat
</h3>
<form method="post" action="<?php echo $PHP_SELF?>">
<table border="1" cellpadding="2">
<tr><td>Landskap</td><td><input type="varchar"
size="40" name="landskap" value=""></td></tr>
<tr><td>Blomma</td><td><input type="varchar"
size="40" name="blomma" value=""></td></tr>
<tr><td>Djur</td><td><input type="varchar"
name="djur" size="70" value=""></td></tr>
<tr><td>Fisk</td><td><input type="varchar"
name="fisk" size="10" value=""></td></tr>
<tr><td>Fågel</td><td><input type="varchar"
size="10" name="fagel" value=""></td></tr>
<tr><td>Sten</td><td><input type="varchar"
size="40" name="sten" value=""></td></tr>
<tr><td>Svamp</td><td> <input type="varchar"
size="40" name="svamp" value=""></td></tr>
<tr><td>Insekt:</td><td> <input type="varchar"
name="insekt" size="70" value=""></td></tr>
<tr><td>Mossa:</td><td> <input type="varchar"
name="insekt" size="70" value=""></td></tr>
<tr><td valign="top">Extra information:</td><td>
<textarea cols=80 rows=12 name="extra"></textarea></td></tr>
</table>
<br><br>
<input type="Submit" name="submit" value="Lägg
in det nya landskapet">
</form>
<?
}
?>
- FIL 36
Med hjälp av en kort kod tas raden bort när
du i filen 34 klickar på länken Ta bort.
- Koderna i fil 36
<?php
include("../../connect.php");
mysql_query("DELETE FROM symboler1 WHERE id=$id",$db);
echo "Informationen har tagits bort";
?>
- FIL 37
I fil 37 presenteras ett landskap på en egen sida. Den här
sidan ligger mappen grund därför att den här sidan är
tänkt att visas för alla. Den innehåller inga ändringsmöjligheter.
- Koderna i fil 37:
<?php
include("../../connect.php");
$result = mysql_query("SELECT * FROM symboler1 WHERE id=$id",$db);
$rad = mysql_fetch_array($result);
echo "<H3 ALIGN=CENTER>Landskapssymboler för ett visst
landskap</H3>\n";
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR><TH ALIGN=LEFT>Landskap<TH ALIGN=LEFT>".$rad["landskap"]
."<TR><TD>Norr-södernr<TD ALIGN=LEFT>".$rad["id"]
."<TR><TD>Blomma<TD ALIGN=LEFT>".$rad["blomma"]
."<TR><TD>Djur<TD ALIGN=LEFT>".$rad["djur"]
."<TR><TD>Fisk<TD ALIGN=LEFT>".$rad["fisk"]
."<TR><TD>Fågel<TD ALIGN=LEFT>".$rad["fagel"]
."<TR><TD>Sten<TD ALIGN=LEFT>".$rad["sten"]
."<TR><TD>Svamp<TD ALIGN=LEFT>".$rad["svamp"]
."<TR><TD>Insekt<TD ALIGN=LEFT>".$rad["insekt"]
."<TR><TD>Mossa<TD ALIGN=LEFT>".$rad["mossa"];
echo "</table>";
echo "<P ALIGN=CENTER> Ev extra information gällande
det här landskapet:<BR>";
echo $rad["extra"];
echo "</P>";
?>
- Klicka nu med höger musknapp på länken nedan och
spara sedan filen i samma mapp som visas i länken i din dator.
Kör
sedan denna fil i phpMyAdmin (http://193.183.192.8/phpMyAdmin/).
http://www.edu.jonkoping.se/it/ped/gy/uppsok/kap48/grund/data/allhistoria.sql
Börja sedan på punkt 15 nedan. Om din phpMyAdmin klarar skv-filer så
kan du istället för det som står ovan i den här punkten göra det
som står nedan fram till punkt 15.
Du skall nu skapa en ny tabell. Din ambition är att skapa en
tabell för åren 1961-2002 med de viktigaste händelserna
under ett år samlade i en tabell. Logga därför in i
phpMyAdmin (http://193.183.192.8/phpMyAdmin/)
och gör en ny tabell med namnet allhistoria och
med 8 fält. Sedan namnger du fälten (kolumnerna) enligt bilden
nedan:
För att du snabbt ska blir färdig har du anlitat olika personer
som ska hjälpa dig genom att arbeta med var sitt år. Du tänker
då på att kanske du skulle skapa login och lösenord
så att var och en bara kan uppdatera sitt år. Därför
lägger du in två ytterlligare fält som du namnger enligt
bilden nedan:
- Du är färdig med åren 1961-1970 och dessa data har
du lagat i en Excelfil. Du lägger nu in login och lösenord
enligt regeln:
om året är 1961 så är login 61 och lösenordet
161
om året är 1962 så är login 62 och lösenordet
162
Därefter skapar du en skv-fil med namnet allhistoria.skv
i mappen data i mappen grund. Importera
nu den här filen som finns i ovan nämnda mapp till din tabell.
- FIL 38
Nu är tabellen färdig och det återstår att göra
4 sidor. Den första (fil 38), som ligger i mappen edit i mappen
grund, visar alla årtal och genom att klicka på sitt årtal
kan en av dina medhjälpare snabbt komma till en uppdateringssida
(fil 39). Med hjälp av $i, $k och $m
så kan man, för att alla åren skall kunna ses direkt,
välja att visa flera år på varje rad. I koden nedan
är det 7 år per rad.
- Koderna i fil 38:
<?php
include("../../connect.php");
$result = mysql_query("SELECT * FROM allhistoria ORDER BY year
ASC",$db);
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR>\n";
$i=1;
$k=1;
$m=$k*7;
while ($rad = mysql_fetch_array($result))
{
echo "<TD ALIGN=RIGHT><a href=\"39.php?id=$rad[id]\">$rad[year]</a>\n";
if($i == $m) echo "</TR><TR>";
if($i == $m) $k=$k+1;
$i=$i+1;
$m=$k*7;
}
echo "</TABLE>";
?>
- FIL 39
Man kommer till fil 39 via fil 38. Båda
dessa filer ligger i mappen edit i mappen grund. Här måste
man ange login och lösenord. Innan uppdateringen sker så
kontrolleras dessa data mot data i tabellen i databasen:
WHERE (id=$id AND login=$log AND password=$pass)
Efter det att man har klickat på uppdateraknappen ges man genom
en länk tillfälle att se om uppdateringen fungerade och att
försöka igen om uppdateringen inte lyckades t ex pga felaktigt
lösenord. Man kan också välja den här länken
om man har glömt att uppdatera vissa data och om man snabbt vill
lägga till mer data och sedan uppdatera. Denna länk måste
ligga in PHP-koden inom klammrarna för uppdatering (där det
finns ett värde för $id) och ej längst ned på sidan
jämte de andra länkarna.
Genom att till varje textruta för upppdatering hämta det som
eventuellt finns sedan tidigare i tabellen i databasen så underlättar
man för den som ska uppdatera. Ett exempel på en sådan
kod:
<?php echo $rad["world"] ?>
Genom att man efter uppdateringen kan klicka sig tillbaka till samma
sida fast nu uppdaterad med de data som man har lagt in så kan
man snabbt se ur uppdateringen blev och om det över huvud taget
blev någon uppdatering. Man kan ju ha angett fel login eller fel
lösenord.
I fil 35 används ltrim ifall att någon skulle
råka göra ett mellanslag innan första ordet i en text
skrivs. ltrim finns ej med i fil 39 eftersom det ju
här inte kommer att ske någon meningsfull sortering efter
första ordet i en längre text.
- Koderna i fil 39:
<?php
if($update)
{
include("../../connect.php");
$sql = "UPDATE allhistoria SET world='$world',sverige='$sverige',jkpg='$jkpg',
skola='$skola',idrott='$idrott',musik='$musik' WHERE (id=$id AND login=$log
AND password=$pass)";
$result = mysql_query($sql);
echo "Om du har angivit rätt login och lösenord så
är uppdateringen nu klar!<BR><BR>\n";
echo "<a href=\"39.php?id=$id\">Kontrollera att
uppdateringen är gjord och gör ev om uppdateringen ifall
du har angivit fel login eller lösenord </a><BR><BR>";
}
else if($id)
{
include("../../connect.php");
$result = mysql_query("SELECT * FROM allhistoria WHERE id=$id",$db);
$rad = mysql_fetch_array($result);
?>
<h2>Uppdatera data gällande ett årtal </h2>
<p><strong>Om du inte anger rätt login och lösenord
så kommer
ingen uppdatering att ske</strong> </p>
<form method="post" action="<?php echo $PHP_SELF?>">
<input type="hidden" name="id" value="<?php
echo $rad[id]?>">
<table border="1" cellpadding="2">
<tr>
<th><div align="left">År:</div></th>
<td><?php echo $rad["year"]?></td>
</tr>
<tr>
<th><div align="left">Login:</div></th>
<td><input type="int" size="20" name="log"
value=""></td>
</tr>
<tr>
<th><div align="left">Lösenord</div></th>
<td><input type="password" size="20"
name="pass" value=""></td>
</tr>
<tr>
<th valign="top"><div align="left">Hela
världen:</div></th>
<td> <textarea cols=80 rows=6 name="world"><?php
echo $rad["world"]?></textarea></td>
</tr>
<tr>
<th valign="top"><div align="left">I
Sverige:</div></th>
<td> <textarea cols=80 rows=6 name="sverige"><?php
echo $rad["sverige"]?></textarea></td>
</tr>
<tr>
<th valign="top"><div align="left">I
Jönköping:</div></th>
<td> <textarea cols=80 rows=6 name="jkpg"><?php
echo $rad["jkpg"]?></textarea></td>
</tr>
<tr>
<th valign="top"><div align="left">Skolvärlden:</div></th>
<td> <textarea cols=80 rows=6 name="skola"><?php
echo $rad["skola"]?></textarea></td>
</tr>
<tr>
<th valign="top"><div align="left">Idrottsvärlden:</div></th>
<td> <textarea cols=80 rows=6 name="idrott"><?php
echo $rad["idrott"]?></textarea></td>
</tr>
<tr>
<th valign="top"><div align="left">Musikvärlden:</div></th>
<td> <textarea cols=80 rows=6 name="musik"><?php
echo $rad["musik"]?></textarea></td>
</tr>
</table>
<br><br>
<input type="Submit" name="update" value="Uppdatera
data">
</form>
<?
}
else
{
?>
<h3>Du måste öppna den här sidan via <a href="38.php"
>fil 38</a>!</h3>
</form>
<?
}
?>
- FIL 39p
Istället för att starta med fil 38 så kan man starta
med att logga in. I fil 39p är det så. Man skriver rätt,
login och lösenord och sedan kan man uppdatera raden för året.
Den här raden finns ju redan sedan tidigare så man behöver
inte ha med möjligheten att skapa en ny rad. Här måste
man inte skriva login och lösenord igen eftersom dessa data lades
i en variabel som skickades med från din första inloggning.
Det är besvärlligt att hela tiden skicka med variabler via
formulär. Ett smidigare sätt nämligen att använda
s k sessions kommer att visas i övning 48:4.
- Koderna i fil 39p:
<?php
if($update)
{
include("../../connect.php");
$sql = "UPDATE allhistoria SET world='$world', ärsverige='$sverige',jkpg='$jkpg',
skola='$skola',idrott='$idrott',musik='$musik' WHERE (id=$id AND login=$log
AND password=$pass)";
$result = mysql_query($sql);
echo "Om du har angivit rätt login och lösenord så
är uppdateringen nu klar!<BR><BR>\n";
//echo "<a href=39p.php?id=$rad[id]>Kontrollera att uppdateringen
har skett och uppdatera ev ytterligare</a><BR><BR>";
}
else if($losenord)
{
include("../../connect.php");
$result = mysql_query("SELECT * FROM allhistoria WHERE year=$year",$db);
$rad = mysql_fetch_array($result);
if (!($rad[login]==$log AND $rad[password]==$pass)) echo "<H3>Du
har angivit fel login och lösenord!<BR><BR><a
href=\"39p.php\"> Du kan försöka igen! </a></H3>";
else
{
echo "<h2>Uppdatera data gällande ett årtal
</h2>
<form method=post action=$PHP_SELF>
<input type=hidden name=id value=$rad[id]>
<table border=1 cellpadding=2>
<tr>
<th><div align=left>År:</div></th>
<td>$rad[year]</td>
</tr>
<tr>
<th><div align=left>Login:</div></th>
<td><input type=int size=20 name=log value=$log></td>
</tr>
<tr>
<th><div align=left>Lösenord:</div></th>
<td><input type=int size=20 name=pass value=$pass></td>
</tr>
<tr>
<th valign=top><div align=left>Hela världen:</div></th>
<td> <textarea cols=80 rows=6 name=world>$rad[world]</textarea></td>
</tr>
<tr>
<th valign=top><div align=left>I Sverige:</div></th>
<td> <textarea cols=80 rows=6 name=sverige>$rad[sverige]</textarea></td>
</tr>
<tr>
<th valign=top><div align=left>I Jönköping:</div></th>
<td> <textarea cols=80 rows=6 name=jkpg>$rad[jkpg]</textarea></td>
</tr>
<tr>
<th valign=top><div align=left>Skolvärlden:</div></th>
<td> <textarea cols=80 rows=6 name=skola>$rad[skola]</textarea></td>
</tr>
<tr>
<th valign=top><div align=left>Idrottsvärlden:</div></th>
<td> <textarea cols=80 rows=6 name=idrott>$rad[idrott]</textarea></td>
</tr>
<tr>
<th valign=top><div align=left>Musikvärlden:</div></th>
<td> <textarea cols=80 rows=6 name=musik>$rad[musik]</textarea></td>
</tr>
</table>
<br><br>
<input type=Submit name=update value=Uppdatera>
</form><BR><BR>";
}
}
else
{
?>
<h3>Du är ännu inte inloggad.<BR><BR>Ange
rätt login och lösenord så kommer
du sedan att kunna uppdatera ett årtal.</h3>
<form method="post" action="<?php echo $PHP_SELF?>">
<table border="1" cellpadding="2">
<tr>
<th><div align="left">År som ska redigeras:</div></th>
<td><input type="int" size="20" name="year"
value=""></td>
</tr>
<tr>
<th><div align="left">Login:</div></th>
<td><input type="int" size="20" name="log"
value=""></td>
</tr>
<tr>
<th><div align="left">Lösenord</div></th>
<td><input type="password" size="20"
name="pass" value=""></td>
</tr>
</table>
<br><br>
<input type="Submit" name="losenord" value="Logga
in">
</form>
</form>
<?
}
?>
- FIL 40
I fil 40 kan man söka efter data i hela tabellen
och man kan välja hur många träffar som ska redovisas.
Här har man inte getts möjligheten att välja sorteringsordning
eftersom det har ansetts onödigt. Sorteringsordningen är efter
år och stigande. Fil 40 ligger direkt i mappen grund eftersom
en besökare till den här filen inte kan ändra något
i databasen.
- Koderna i fil 40:
<?php
if ($searchstring)
{
$sql="SELECT * FROM allhistoria WHERE year LIKE '%$searchstring%'
OR world LIKE '%$searchstring%'
OR sverige LIKE '%$searchstring%' OR jkpg LIKE '%$searchstring%' OR
skola LIKE '%$searchstring%'
OR idrott LIKE '%$searchstring%' OR musik LIKE '%$searchstring%'
ORDER BY year ASC";
include("../connect.php");
$result = mysql_query($sql,$db);
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR><TH ALIGN=RIGHT>År<TH ALIGN=LEFT>Hela
världen<TH ALIGN=LEFT>Sverige<TH ALIGN=LEFT>Jönköping\n";
echo "<TH ALIGN=LEFT>Skolvärlden<TH ALIGN=LEFT>Idrottsvärlden\n";
echo "<TH ALIGN=LEFT>Musikvärlden</TR>\n";
$i=1;
while ($rad = mysql_fetch_array($result))
if ($i<=$antal)
{
echo "<TR><TD ALIGN=LEFT>".$rad["year"]
."<TD ALIGN=LEFT>".$rad["world"]
."<TD ALIGN=LEFT>".$rad["sverige"]
."<TD ALIGN=LEFT>".$rad["jkpg"]
."<TD ALIGN=LEFT>".$rad["skola"]
."<TD ALIGN=LEFT>".$rad["idrott"]
."<TD ALIGN=LEFT>".$rad["musik"]."</TR>";
$i=$i+1;
}
echo "</TABLE>";
}
else
{
?>
<form method="POST" action="<?php $PHP_SELF ?>">
<table border="1" align="center" cellspacing=2
cellpadding=3>
<tr>
<td><strong>Sök här</strong></td>
</tr>
<tr>
<td><input type="text" name="searchstring"
size="60"></td>
</tr>
<tr>
<td><font size="2"><strong>Ange hur många
år som ska visas</strong></font></td>
</tr>
<tr>
<td><input type="int" name="antal" size="10"
value="<? include("rah.php"); ?>">
<font size="2">Totala antalet är <? include("rah.php");
?></font></td>
</tr>
</table>
<p align="center">
<input type="submit" value="Sök" name="B1">
<input type="reset" value="Töm sökraden
ovan" name="B2">
</p>
</form>
<?php
}
?>
- FIL 41
I fil 41 kan man välja hur man vill se tabellen. Man kan
välja att visa hela tabellen eller delar av den. Genom att skapa
två variabler: $begin för det första
året som ska tas med och $end för det sista
året som skall tas med kan man göra ett urval när man
hämtar data ur tabellen i databasen med koden:
WHERE year >= $begin AND year <= $end
Användningen av $begin och $end
skiljer sig jämfört med fil 30. I fil 30 används dessa
för att tala om vilka av lagen i den valda sorteringsordningen
som skall visas. Man kan där t ex välja att se de tre sämsta
lagen (start på 55 och slut på 57) vid den sorteringsordning
som har valts.
Här väljer man istället vilka årtal som överhuvud
taget skall vara med vid sorteringen.
Om det inte finns några data i en "cell" så kommer
dessa celler utan innehåll överst vid stigande sortering.
Man kan välja sorteringssätt och sorteringsordning men det
är ganska onödigt eftersom det ju inte är meningsfullt
att sortera efter långa meningar där första ordet kanske
inte har någon betydelse. Dessa val finns mest med för att
detta är ett exempel.
Det som är mer intressant i det här exemplet är att man
kan välja vilka kolumner som ska visas. Varje varje cell innehåller
ju mycket text.
Likaså kan man välja att visa en viss period av årtal.
Standardinställningen (om man klickar på visa utan att ändra
på något) är att hela tabellen för alla årtalen
visas.
Fil 41 liksom fil 40 ligger direkt i mappen grund eftersom en besökare
till den här filen inte kan ändra något i databasen.
- Koderna i fil 41:
<?php
if ($kolumn)
{
$sql="SELECT * FROM allhistoria WHERE year >= $begin AND year
<= $end ORDER BY $kolumn $ordning";
include("../connect.php");
$result = mysql_query($sql,$db);
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR>";
if($k1) echo"<TH>År";
if($k2) echo"<TH>Hela världen";
if($k3) echo"<TH>Sverige";
if($k4) echo"<TH>Jönköping";
if($k5) echo"<TH>Skolvärlden";
if($k6) echo"<TH>Idrottsvärlden";
if($k7) echo"<TH>Musikvärlden";
while ($rad = mysql_fetch_array($result))
{
echo"<TR valign=top>";
if($k1) echo "<TD ALIGN=LEFT>".$rad["year"];
if($k2) echo "<TD ALIGN=LEFT>".$rad["world"];
if($k3) echo "<TD ALIGN=LEFT>".$rad["sverige"];
if($k4) echo "<TD ALIGN=LEFT>".$rad["jkpg"];
if($k5) echo "<TD ALIGN=LEFT>".$rad["skola"];
if($k6) echo "<TD ALIGN=LEFT>".$rad["idrott"];
if($k7) echo "<TD ALIGN=LEFT>".$rad["musik"];
}
echo "</TABLE>";
}
else
{
?>
<form method="POST" action="<?php $PHP_SELF ?>">
<table border="1" align="center" cellspacing=2
cellpadding=3>
<tr>
<th colspan="3">Visa de viktiga händelserna
på ditt sätt</th>
</tr>
<tr>
<td><strong>Sorteringssätt</strong></td>
<td><strong>Sorteringsordning</strong></td>
<td><strong>Kolumner som ska visas</strong></strong></td>
</tr>
<tr valign="top">
<td>
<select size="1" name="kolumn">
<option selected value=year>År</option>
<option value=world>Hela världen</option>
<option value=sverige>Sverige</option>
<option value=jkpg>Jönköping</option>
<option value=skola>Skolvärlden</option>
<option value=idrott>Idrottsvärlden</option>
<option value=musik>Musikvärlden</option>
</select></td>
<td>
<select size="1" name="ordning">
<option selected value=ASC>Stigande</option>
<option value=DESC>Avtagande</option>
</select></td>
<td>
<input type="checkbox" name="k1" checked="checked">År<BR>
<input type="checkbox" name="k2" checked="checked">Hela
världen<BR>
<input type="checkbox" name="k3" checked="checked">Sverige<BR>
<input type="checkbox" name="k4" checked="checked">Jönköping<BR>
<input type="checkbox" name="k5" checked="checked">Skolvärlden<BR>
<input type="checkbox" name="k6" checked="checked">Idrottsvärlden<BR>
<input type="checkbox" name="k7" checked="checked">Musikvärlden<BR>
</td>
</tr>
<tr>
<td colspan="3" valign="top"> <strong>Börja
på år</strong>
<input type="int" name="begin" size="10"
value=1961>
<strong>
</td>
</tr>
<tr>
<td colspan="3" valign="top"> <strong>Sluta
på år </strong>
<input type="int" name="end" size="10"
value=2002>
</td>
</tr>
</table>
<p align="center">
<input type="submit" value="Visa tabellen" name="B1">
</p>
</form>
<?php
}
?>
- FIL 42
Det kan vara en säkerhetslucka att man efter det man har
skickat variabelvärden bara kan ta fram variabelns värde på
sidan dit variabeln har skickats. Det är då möjligt
för besökare att i vissa fall skicka med variabelvärden
som inte den som har gjort sidan hade tänkt sig
skulle skickas med.
För att rätta till denna säkerhetslucka har man i PHP
version 4.2 satt stopp för denna möjlighet. Man kan dock (under
en övergångstid för att gamla skripts skall fungera)
tillåta den gamla möjligheten genom att sätta variabel
register_globals på.
Om POST används skall man istället för
att skriva bara $variabelnamn i fortsättningen
skriva $HTTP_POST_VARS["variabelnamn"] eller
$_POST["variabelnamn"].
Detsamma gäller för GET, sessioner
och cookies som vi ännu inte har behandlat i den
här kursen. Man måste skriva $HTTP_GET_VARS["variabelnamn"]
eller $_GET["variabelnamn"] eller $_COOKIE["variabelnamn"]
eller $_SESSION["variabelnamn"].
I fil 42 har jag gjort om fil 41. Jag börjar med att skriva ut
en del variabelvärden direkt. När man anger att en s k checkbox
skall vara markerad som standard skrive man som attribut till input:
checked="checked. Variabeln (k1 i exemplet i fil
42) får då värdet on. Observera t
ex att det inte finns något värde på variabeln id dvs
denna variabel existerar ej och därför finns inget värde
utskrivet.
Dessutom har jag överallt inom PHP-koden för if ($kolumn)
bytt ut $variabelnamn mot $HTTP_POST_VARS["variabelnamn"].
Det intressanta är att det med $HTTP_POST_VARS["variabelnamn"]
eller med $_POST["variabelnamn"] inte går
att skriva ut t ex variablerna db, result
och server. Variabeln server finns ju i filen config.php
och det går lika bra att få en utskrift på skärmen
av värdena för variablerna username och
password om man bara skriver ut $username
och $password men det går inte om man använder
$HTTP_POST_VARS["variabelnamn"] eller med
$_POST["variabelnamn"]. Bara de variabler
som har skickats med POST kan skrivas ut på bildskärmen.
Om man måste använda de två sistnämnda skrivsätten
så går det ju inte att få en utskrift på bildskärmen
av andra variablers värden t ex $username och
$password.
I fortsättningen kommer jag nog inte alltid att använda det
säkrare skrivsättet.
- Koden i fil 42:
<?php
if ($kolumn)
{
$sql="SELECT * FROM allhistoria WHERE year >= $HTTP_POST_VARS[begin]
AND year <= $HTTP_POST_VARS[end] ORDER BY $kolumn $ordning";
include("../connect.php");
$result = mysql_query($sql,$db);
echo "<h3 align=center>Vad skrivs ut</h3>\n";
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR><TH>Variabel<BR>namn <TH>Bara
\$ ";
echo "<TH>Variabel<BR>namn <TH>\$HTTP_POST_VARS[]
";
echo "<TH>Variabel<BR>namn <TH>\$_POST[] ";
echo "<TR><TD>begin <TD>$begin ";
echo "<TD>begin <TD>$HTTP_POST_VARS[begin] ";
echo "<TD>begin <TD>$_POST[begin] ";
echo "<TR><TD>end <TD>$end ";
echo "<TD>end <TD>$HTTP_POST_VARS[end] ";
echo "<TD>end <TD>$_POST[end] ";
echo "<TR><TD>kolumn <TD>$kolumn ";
echo "<TD>kolumn <TD>$HTTP_POST_VARS[kolumn] ";
echo "<TD>kolumn <TD>$_POST[kolumn] ";
echo "<TR><TD>ordning <TD>$ordning ";
echo "<TD>ordning <TD>$HTTP_POST_VARS[ordning] ";
echo "<TD>ordning <TD>$_POST[ordning] ";
echo "<TR><TD>k1 <TD>$k1 ";
echo "<TD>k1 <TD>$HTTP_POST_VARS[k1] ";
echo "<TD>k1 <TD>$_POST[k1] ";
echo "<TR><TD>id <TD>$id ";
echo "<TD>id <TD>$HTTP_POST_VARS[id] ";
echo "<TD>id <TD>$_POST[id]";
echo "<TR><TD>B1 <TD>$B1 ";
echo "<TD>B1 <TD>$HTTP_POST_VARS[B1] ";
echo "<TD>B1 <TD>$_POST[B1] ";
echo "<TR><TD>db <TD>$db ";
echo "<TD>db <TD>$HTTP_POST_VARS[dd] ";
echo "<TD>db <TD>$_POST[db] ";
echo "<TR><TD>result <TD>$result ";
echo "<TD>result <TD>$HTTP_POST_VARS[result] ";
echo "<TD>result <TD>$_POST[result] ";
echo "<TR><TD>server <TD>$server ";
echo "<TD>server <TD>$HTTP_POST_VARS[server] ";
echo "<TD>server <TD>$_POST[server] ";
echo "<TR><TD>server <TD>$server ";
echo "<TD>server<TD>".$HTTP_POST_VARS["server"];
echo "<TD>server<TD>".$_POST["server"];
echo "</TABLE>";
echo "<br><br>";
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR><TH>Variabel<BR>namn <TH>Bara
\$ ";
echo "<TH>Variabel<BR>namn <TH>\$HTTP_POST_VARS[]
";
echo "<TH>Variabel<BR>namn <TH>\$_POST[] ";
echo "<TR><TD>sql <TD>$sql ";
echo "<TD>sql <TD>$HTTP_POST_VARS[sql] ";
echo "<TD>sql <TD>$_POST[sql] ";
echo "</TABLE>";
echo "<HR>";
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR>";
if($HTTP_POST_VARS[k1]) echo"<TH>År";
if($HTTP_POST_VARS[k2]) echo"<TH>Hela världen";
if($HTTP_POST_VARS[k3]) echo"<TH>Sverige";
if($HTTP_POST_VARS[k4]) echo"<TH>Jönköping";
if($HTTP_POST_VARS[k5]) echo"<TH>Skolvärlden";
if($HTTP_POST_VARS[k6]) echo"<TH>Idrottsvärlden";
if($HTTP_POST_VARS[k7]) echo"<TH>Musikvärlden";
while ($rad = mysql_fetch_array($result))
{
echo"<TR valign=top>";
if($HTTP_POST_VARS[k1]) echo "<TD ALIGN=LEFT>".$rad["year"];
if($HTTP_POST_VARS[k2]) echo "<TD ALIGN=LEFT>".$rad["world"];
if($HTTP_POST_VARS[k3]) echo "<TD ALIGN=LEFT>".$rad["sverige"];
if($HTTP_POST_VARS[k4]) echo "<TD ALIGN=LEFT>".$rad["jkpg"];
if($HTTP_POST_VARS[k5]) echo "<TD ALIGN=LEFT>".$rad["skola"];
if($HTTP_POST_VARS[k6]) echo "<TD ALIGN=LEFT>".$rad["idrott"];
if($HTTP_POST_VARS[k7]) echo "<TD ALIGN=LEFT>".$rad["musik"];
}
echo "</TABLE>";
}
else
{
?>
<form method="POST" action="<?php $PHP_SELF ?>">
<table border="1" align="center" cellspacing=2
cellpadding=3>
<tr>
<th colspan="3">Visa de viktiga händelserna
på ditt sätt</th>
</tr>
<tr>
<td><strong>Sorteringssätt</strong></td>
<td><strong>Sorteringsordning</strong></td>
<td><strong>Kolumner som ska visas</strong></strong></td>
</tr>
<tr valign="top">
<td>
<select size="1" name="kolumn">
<option selected value=year>År</option>
<option value=world>Hela världen</option>
<option value=sverige>Sverige</option>
<option value=jkpg>Jönköping</option>
<option value=skola>Skolvärlden</option>
<option value=idrott>Idrottsvärlden</option>
<option value=musik>Musikvärlden</option>
</select></td>
<td>
<select size="1" name="ordning">
<option selected value=ASC>Stigande</option>
<option value=DESC>Avtagande</option>
</select></td>
<td>
<input type="checkbox" name="k1" checked="checked">År<BR>
<input type="checkbox" name="k2" checked="checked">Hela
världen<BR>
<input type="checkbox" name="k3" checked="checked">Sverige<BR>
<input type="checkbox" name="k4" checked="checked">Jönköping<BR>
<input type="checkbox" name="k5" checked="checked">Skolvärlden<BR>
<input type="checkbox" name="k6" checked="checked">Idrottsvärlden<BR>
<input type="checkbox" name="k7" checked="checked">Musikvärlden<BR>
</td>
</tr>
<tr>
<td colspan="3" valign="top"> <strong>Börja
på år</strong>
<input type="int" name="begin" size="10"
value=1961>
<strong>
</td>
</tr>
<tr>
<td colspan="3" valign="top"> <strong>Sluta
på år </strong>
<input type="int" name="end" size="10"
value=2002>
</td>
</tr>
</table>
<p align="center">
<input type="submit" value="Visa tabellen" name="B1">
</p>
</form>
<?php
}
?>
- FIL 43
Gör först en ny tabell med lite data genom att i phpMyAdmin
köra filen links.sql om finns i mappen data
i mappen grund.
- I fil43 finns en ingångssida till att se länkar, uppdatera
dessa och att göra nya länkar. Visningen av de nuvarande länkarna
kan ske på olika sätt. Man kan välja sorteringssätt,
sorteringsordning och hur många länkar som ska visas. Exempel:
Om du väljer sorteringssätt: avtagande,
sorteringsordning: när länken skapades och att 5
länkar ska visas så visar du de 5 senaste gjorda
länkarna.
- Koden i fil43:
<?php
if ($kolumn)
{
$sql="SELECT * FROM links ORDER BY $kolumn $ordning";
include("../../connect.php");
$result = mysql_query($sql,$db);
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR><TH ALIGN=RIGHT>Id<TH ALIGN=LEFT>Länk
med text<TH ALIGN=LEFT>Webbadress med länk<TH ALIGN=LEFT>Kategori<TH
ALIGN=LEFT>Text<TH ALIGN=LEFT>Länkskapare<TH ALIGN=LEFT>Ändra\n";
$i=1;
while ($rad = mysql_fetch_array($result))
if ($i<=$antal)
{
echo "<TR VALIGN=TOP><TD ALIGN=RIGHT>".$rad["id"]
."<TD ALIGN=LEFT><a href=$rad[http]>$rad[text]</a></TR>\n"
."<TD ALIGN=LEFT><a href=$rad[http]>$rad[http]</a></TR>\n"
."<TD ALIGN=LEFT>".$rad["kategori"]
."<TD ALIGN=LEFT>".$rad["extra"]
."<TD ALIGN=LEFT>".$rad["skapare"]
//."<a href=\"45.php?id=$rad[id]\">Ta bort</a><br>"
."<TD ALIGN=LEFT><a href=\"44.php?id=$rad[id]\">Ändra</a></TR>\n";
$i=$i+1;
}
echo "</TABLE>";
}
else
{
?>
<form method="POST" action="<?php $PHP_SELF ?>">
<table border="1" align="center" cellspacing=2
cellpadding=3>
<th colspan="2">Visa länkarna på
ditt sätt</th>
</tr>
<tr>
<td><font size="2"><strong>Sorteringssätt</strong></font></td>
<td><font size="2"><strong>Sorteringsordning</strong></font></td>
</tr>
<tr>
<td><select size="1" name="ordning">
<option selected value=ASC>Stigande</option>
<option value=DESC>Avtagande</option>
</select></td>
<td><select size="1" name="kolumn">
<option selected value=id>Id</option>
<option value=kategori>Kategori</option>
</select></td>
</tr>
<tr>
<td><font size="2"><strong>Ange hur många
länkar som ska visas</strong></font></td>
</tr>
<tr>
<td ><input type="int" name="antal" size="10"
value="
<?php
include("../../connect.php");
$result = mysql_query("SELECT * FROM links", $db);
$num_rows = mysql_num_rows($result);
echo "$num_rows\n";
?>
<font size="2">
<strong>Totala antalet är
<?php
include("../../connect.php");
$result = mysql_query("SELECT * FROM links", $db);
$num_rows = mysql_num_rows($result);
echo "$num_rows\n";
?></strong></font>
</td>
<font size="2"> </font></td>
</tr>
</table>
</tr>
<p align="center">
<input type="submit" value="Visa tabellen"
name="B1">
</p>
</form>
<?php
}
?>
- FIL 44
Om man går direkt till fil 44 så kan man lägga
in en ny länk. Om man vill uppdatera så måste man gå
via fil 43.
- Koden i fil 44:
<?php
if($submit)
{
include("../../connect.php");
$http=ltrim($http);
$text=ltrim($text);
$skapare=ltrim($skapare);
$sql = "INSERT INTO links (http, text, kategori, extra, skapare)
VALUES ('$http', '$text', '$kategori', '$extra', '$skapare')";
$result = mysql_query($sql);
echo "Länken ska nu vara upplagd !<BR><BR>\n";
echo "<a href=\"43.php\">Kontrollera att länken
finns
och gör ev en uppdateringen.</a><BR><BR>";
}
else if($update)
{
include("../../connect.php");
$http=ltrim($http);
$text=ltrim($text);
$skapare=ltrim($skapare);
$sql = "UPDATE links SET http='$http', text='$text', kategori='$kategori',
extra='$extra', skapare='$skapare' WHERE id=$id";
$result = mysql_query($sql);
echo "Uppdateringen nu klar!<BR><BR>\n";
echo "<a href=\"44.php?id=$id\">Kontrollera att
uppdateringen är gjord och gör ev om uppdateringen.</a><BR><BR>";
}
else if($id)
{
include("../../connect.php");
$result = mysql_query("SELECT * FROM links WHERE id=$id",$db);
$rad = mysql_fetch_array($result);
?>
<h3>Uppdatera data gällande en länk</h3>
<form method="post" action="<?php echo $PHP_SELF?>">
<input type="hidden" name="id" value="<?php
echo $rad[id]?>">
<table border="1" cellpadding="2">
<tr>
<td valign="top">Webbadressen URL-adressen):</td>
<td> <textarea cols=80 rows=6 name="http"><?php
echo $rad["http"]?></textarea></td>
</tr>
<tr>
<td valign="top">Länktexten:</td>
<td> <textarea cols=80 rows=6 name="text"><?php
echo $rad["text"]?></textarea></td>
</tr>
<tr>
<td>Kategori: </td>
<td>
<input type="radio" name="kategori" value="Folk
och länder" <?php if ($rad["kategori"]=="Folk
och länder") echo 'checked="checked"' ?>>
Folk och länder:
Geografi, Historia, Arkeologi, Folktro och folkseder, Flaggor<BR>
<input type="radio" name="kategori" value="Kultur"
<?php if ($rad["kategori"]=="Kultur") echo
'checked="checked"' ?>> Kultur:
Konst, Litteratur, Musik, Film, Foto, Dans, Teater, Arkitektur<BR>
<input type="radio" name="kategori" value="Massmedia"
<?php if ($rad["kategori"]=="Massmedia") echo
'checked="checked"' ?>> Massmedia:
Dagstidningar och tidskrifter, Journalistik, Nyhetstjänster,
Radio och TV<BR>
<input type="radio" name="kategori" value="Miljö
och naturskydd" <?php if ($rad["kategori"]=="Miljö
och naturskydd") echo 'checked="checked"' ?>>
Miljö och naturskydd:
Miljöfrågor, Samspel i naturen (ekologi), Lantbruk och
skogsbruk<BR>
<input type="radio" name="kategori" value="Människan"
<?php if ($rad["kategori"]=="Människan")
echo 'checked="checked"' ?>> Människan:
Människokroppen, Psykologi, Sex och samlevnad, Handikapp<BR>
<input type="radio" name="kategori" value="Naturvetenskap
och matematik" <?php if ($rad["kategori"]=="Naturvetenskap
och matematik") echo 'checked="checked"' ?>>
Naturvetenskap och matematik:
Djur, Växter, Kemi, Fysik, Rymden, Tidmätning, Jordens utveckling,
Väder<BR>
<input type="radio" name="kategori" value="Religion
och livsåskådning"<?php if ($rad["kategori"]=="Religion
och livsåskådning") echo 'checked="checked"'
?>> Religion och livsåskådning:
Religioner, Etik, Filosofi <BR>
<input type="radio" name="kategori" value="Samhälle
och ekonomi" <?php if ($rad["kategori"]=="Samhälle
och ekonomi") echo 'checked="checked"' ?>> Samhälle
och ekonomi:
Utbildning och arbete, Pengar, Lag och rätt, EU, Krig och fred
<BR>
<input type="radio" name="kategori" value="Sport
och fritid" <?php if ($rad["kategori"]=="Sport
och fritid") echo 'checked="checked"' ?>> Sport
och fritid:
Friluftsliv, Idrott, Mat och dryck, Hobby, Hem och trädgård,
Lek och spel... <BR>
<input type="radio" name="kategori" value="Slå
upp" <?php if ($rad["kategori"]=="Slå
upp") echo 'checked="checked"' ?>> Slå
upp:
Bibliotek och arkiv, Uppslagsverk, Lexikon, Citat, Särskilda
personer
<BR>
<input type="radio" name="kategori" value="Språk
och skrift" <?php if ($rad["kategori"]=="Språk
och skrift") echo 'checked="checked"' ?>> Språk
och skrift:
Svenska, Språkvetenskap, Runor... <BR>
<input type="radio" name="kategori" value="Teknik"
<?php if ($rad["kategori"]=="Teknik") echo
'checked="checked"' ?>> Teknik:
Datorer, Energi, Fordon och trafik, Uppfinningar
</td>
</tr>
<tr>
<td valign="top">Extra information: </td>
<td> <textarea cols=80 rows=18 name="extra"><?php
echo $rad["extra"]?></textarea></td>
</tr>
<tr>
<td valign="top">Person som skapat länken: </td>
<td> <textarea cols=80 rows=2 name="skapare"><?php
echo $rad["skapare"]?></textarea></td>
</tr>
</table>
<br><br>
<input type="Submit" name="update" value="Uppdatera
data">
</form>
<?
}
else
{
?>
<h3>Lägg in en ny länk
</h3>
<form method="post" action="<?php echo $PHP_SELF?>">
<table border="1" cellpadding="2">
<tr>
<td valign="top">Webbadressen URL-adressen):</td>
<td> <textarea cols=80 rows=6 name="http"></textarea></td>
</tr>
<tr>
<td valign="top">Länktexten:</td>
<td> <textarea cols=80 rows=6 name="text"></textarea></td>
</tr>
<tr>
<td>Kategori: </td>
<td>
<input type="radio" name="kategori" value="Folk
och länder" > Folk och länder:
Geografi, Historia, Arkeologi, Folktro och folkseder, Flaggor<BR>
<input type="radio" name="kategori" value="Kultur"
> Kultur:
Konst, Litteratur, Musik, Film, Foto, Dans, Teater, Arkitektur<BR>
<input type="radio" name="kategori" value="Massmedia"
> Massmedia:
Dagstidningar och tidskrifter, Journalistik, Nyhetstjänster,
Radio och TV<BR>
<input type="radio" name="kategori" value="Miljö
och naturskydd" > Miljö och naturskydd:
Miljöfrågor, Samspel i naturen (ekologi), Lantbruk och
skogsbruk<BR>
<input type="radio" name="kategori" value="Människan"
> Människan:
Människokroppen, Psykologi, Sex och samlevnad, Handikapp<BR>
<input type="radio" name="kategori" value="Naturvetenskap
och matematik" > Naturvetenskap och matematik:
Djur, Växter, Kemi, Fysik, Rymden, Tidmätning, Jordens utveckling,
Väder<BR>
<input type="radio" name="kategori" value="Religion
och livsåskådning"> Religion och livsåskådning:
Religioner, Etik, Filosofi <BR>
<input type="radio" name="kategori" value="Samhälle
och ekonomi" > Samhälle och ekonomi:
Utbildning och arbete, Pengar, Lag och rätt, EU, Krig och fred<BR>
<input type="radio" name="kategori" value="Sport
och fritid" > Sport och fritid:
Friluftsliv, Idrott, Mat och dryck, Hobby, Hem och trädgård,
Lek och spel<BR>
<input type="radio" name="kategori" value="Slå
upp" > Slå upp:
Bibliotek och arkiv, Uppslagsverk, Lexikon, Citat, Särskilda
personer<BR>
<input type="radio" name="kategori" value="Språk
och skrift" > Språk och skrift:
Svenska, Språkvetenskap, Runor<BR>
<input type="radio" name="kategori" value="Teknik"
> Teknik:
Datorer, Energi, Fordon och trafik, Uppfinningar
</td>
</tr>
<tr>
<td valign="top">Extra information: </td>
<td> <textarea cols=80 rows=18 name="extra"></textarea></td>
</tr>
<tr>
<td valign="top">Person som skapat länken: </td>
<td> <textarea cols=80 rows=2 name="skapare"></textarea></td>
</tr>
</table>
<br><br>
<input type="Submit" name="submit" value="Registrera
den nya länken">
</form>
<?
}
?>
- FIL 45
I fil 43 kan man välja (ej i demoversionen) att ta bort en länk.
Borttagningen sker med hjälp av fil 45.
- Koden i fil 45:
<?php
include("../../connect.php");
mysql_query("DELETE FROM links WHERE id=$id",$db);
echo "Länken har tagits bort";
?>
|