Chciałbym aby możliwość edycji miał tylko autor czyli dokładnie zalogowana osoba. Przy tm kodzie edytować może każdy
Używam mechanizmu sesji a kody w których występuje błąd prezentuje poniżej.
index.php
<?php $_SESSION['login'] = $_POST['login']; include("dbinfo.inc.php"); function ShowLogin($komunikat=""){ } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <meta http-equiv="Content-type" content="application/xhtml+xml; charset=windows-1250" /> <title>Strona główna</title> </head> <body> <?php if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";} if($_SESSION["zalogowany"]!=1){ if(mysql_num_rows(mysql_query("select * from user where login = '".htmlspecialchars($_POST["login"])."' AND haslo = '".htmlspecialchars(md5($_POST["haslo"]))."'"))){ $_SESSION["zalogowany"]=1; } } else ShowLogin(); } else{ ?> Zalogowałeś się pomyślnie! Możesz zacząć wprowadzać dane używając formularza<br /> <a href="formularz.php">wprowadzaj</a> <br><a href='index.php?wyloguj=tak'>wyloguj się</a> <?php } ?> </body> </html>
pokazdane.php tutaj prezentuje dane z bazy mysql
<?php require("sprawdz.php"); ?> <?php include("dbinfo.inc.php"); $query="SELECT id, tytul, ob, tsp, autor FROM siedlisko"; if ($num > 0) { echo ' <table align="center" cellspacing="10" callpadding="10"> <tr> <td align="center"><b>Id </b></td> <td align="center"><b>Tytul </b></td> <td align="center"><b>Obszar </b></td> <td align="center"><b>Typ siedliska </b></td> <td align="center"><b>Autor </b></td> </tr> '; { echo ' <tr> <td align="center"> ' . $row['id'] . ' </td> <td align="center"> ' . $row['tytul'] . ' </td> <td align="center"> ' . $row['ob'] . ' </td> <td align="center"> ' . $row['tsp'] . ' </td> <td align="center"> ' . $row['autor'] . ' </td> <td align="center"> <a href="aktualizuj.php?id=' . $row['id'] .' "target="_blank">Edytuj </a> </td> <td align="center"> <a href="usun.php?id=' . $row['id'] .' "target="_blank">Usun </a> </td> </tr> '; } } else { } ?>
i aktualizuj.php
<?php require("sprawdz.php"); ?> <?php $id = $_GET['id']; $id = $_POST['id']; } else { echo '<h1> BLAD</h1> <p class="error"> Blad dostepu do strony. </p>'; } include("dbinfo.inc.php"); if (($_POST['sure'] == 'Yes') && ($_SESSION['login'] = "'.$autor.'"])) { $query='UPDATE `siedlisko` SET `ob`="'.$ob.'",`tsp`="'.$tsp.'",`autor`="'.$autor.'" WHERE `id`="'.$id.'"'; { echo '<h1 id="mainhead"> Aktualizuj Dane</h1> <p> Dane zostały Zaktualizowane.</p><br /><br /></p>'; } else { echo '<h1 id="mainhead"> Błąd systemu</h1> <p class="error"> Dane nie zostały zaktualizowane z powodu błedu systemu</p>'; } } else { } } else { $query = "SELECT * FROM siedlisko WHERE id=$id"; echo' <form action="aktualizuj.php" method="post"> <h3> ID ' . $row[0] . '</h3> <input type="text" name="tytul" value="' . $row[1] . '"><br /> <input type="text" name="ob" value="' . $row[2] . '"><br /> <input type="text" name="tsp" value="' . $row[3] . '"><br /> <input type="text" name="autor" value="' . $row[4] . '" readonly="readonly"><br /> <p>Czy na pewno chcesz zaktualizować dane?<br /> <input type="radio" name="sure" value="Yes" /> TAK <input type="radio" name="sure" value="No" checked="checked" /> NIE</p> <p><input type="submit" name="submit" value="Aktualizuj" /> </p> <input type="hidden" name="submitted" value="TRUE" /> <input type="hidden" name="id" value="' . $id .'"/> </form>'; } else { echo '<h1 id="mainhead">Bład</h1><p class="error">Błąd podczas dostępu do strony.</p><p><br /><br /></p>'; } } ?>
a sprawdz.php wygląda następująca
<?php ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <title>podstrona</title> </head> <body> <?php ?>