PHP och MySQL - Övning 48:3
Grunderna i PHP och MySQL

Länkar till info om filerna på den här sidan 34 35 36 37 38 39 39p 40 41 42 43 44 45
Länkar till en demo av filerna (Fil 36,37 öppnas ej här direkt på ett korrekt sätt utan från fil 34) 33 33b 34 34b 35 (36) (37) 38 (39) 39p 40 41 42 43 44 45

Ö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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.
  5. 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&aring; ditt s&auml;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 &auml;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">&nbsp;</font></td>
    </tr>
    </table>
    </tr>


    <p align="center">
    <input type="submit" value="Visa tabellen" name="B1">
    </p>
    </form>

    <?php
    }

    ?>



  6. 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.

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

  8. 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&auml;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): &nbsp;</td>
    <td> <input type="varchar" name="landskap" size="40" value="<?php echo $rad["landskap"]?>">
    &nbsp;</td></tr>
    <tr><td>Blomma (Max 15): &nbsp;</td>
    <td><input type="varchar" name="Blomma" size="40" value="<?php echo $rad["blomma"]?>"></td></tr>
    <tr><td>Djur (Max 100): &nbsp;</td>
    <td><input type="varchar" name="Djur" size="70" value="<?php echo $rad["djur"]?>"></td></tr>
    <tr><td>Fisk (Max 5):&nbsp;</td>
    <td><input type="varchar" name="fisk" size="10" value="<?php echo $rad["fisk"]?>"></td></tr>
    <tr><td>Fågel (Max 5): &nbsp;</td>
    <td><input type="varchar" name="fagel" size="10" value="<?php echo $rad["fagel"]?>"></td></tr>
    <tr><td>Sten: &nbsp;</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): &nbsp;</td>
    <td><input type="varchar" size="70" name="insekt" value="<?php echo $rad["insekt"]?>"></td></tr>
    <tr><td>Mossa (Max 50): &nbsp;</td>
    <td><input type="varchar" size="70" name="mossa" value="<?php echo $rad["mossa"]?>"></td></tr>
    <tr><td valign="top">Extra information: &nbsp;</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>
    <?
    }
    ?>

  9. FIL 36

    Med hjälp av en kort kod tas raden bort när du i filen 34 klickar på länken Ta bort.
  10. Koderna i fil 36


    <?php
    include("../../connect.php");
    mysql_query("DELETE FROM symboler1 WHERE id=$id",$db);
    echo "Informationen har tagits bort";

    ?>



  11. 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.

  12. 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>";
    ?>

  13. 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:


  14. 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.

  15. 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.

  16. 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>";
    ?>



     
  17. 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.


  18. 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&auml;llande ett &aring;rtal </h2>
    <p><strong>Om du inte anger r&auml;tt login och l&ouml;senord s&aring; 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">&Aring;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>
    <?
    }
    ?>

  19. 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.


  20. 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&auml;llande ett &aring;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&auml;tt login och l&ouml;senord s&aring; 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>
    <?
    }
    ?>

     
  21. 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.

  22. 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 &aring;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 &auml;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
    }
    ?>




  23. 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.


  24. 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&auml;ndelserna p&aring; ditt s&auml;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å &aring;r</strong>
    <input type="int" name="begin" size="10" value=1961>
    <strong>
    </td>
    </tr>
    <tr>
    <td colspan="3" valign="top"> <strong>Sluta på &aring;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
    }
    ?>



  25. 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.

     
  26. 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&auml;ndelserna p&aring; ditt s&auml;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å &aring;r</strong>
    <input type="int" name="begin" size="10" value=1961>
    <strong>
    </td>
    </tr>
    <tr>
    <td colspan="3" valign="top"> <strong>Sluta på &aring;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
    }
    ?>



  27. 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.

  28. 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.
  29. 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&auml;nkarna p&aring; ditt s&auml;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&auml;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 &auml;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">&nbsp;</font></td>
    </tr>
    </table>
    </tr>


    <p align="center">
    <input type="submit" value="Visa tabellen" name="B1">
    </p>
    </form>

    <?php
    }

    ?>


  30. 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.

     
  31. 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&auml;llande en l&auml;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: &nbsp;</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: &nbsp;</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: &nbsp;</td>
    <td> <textarea cols=80 rows=18 name="extra"></textarea></td>
    </tr>
    <tr>
    <td valign="top">Person som skapat länken: &nbsp;</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>
    <?
    }
    ?>

  32. 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.

  33. Koden i fil 45:

    <?php
    include("../../connect.php");
    mysql_query("DELETE FROM links WHERE id=$id",$db);
    echo "Länken har tagits bort";

    ?>

Den här sidan uppdaterades senast 2004-02-25 av tommy.maltell@edu.jonkoping.se