Witam !
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'];
if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0; include("dbinfo.inc.php");
function ShowLogin($komunikat=""){
echo "<form action='index.php' method=post>"; echo "Login: <input type=text name=login><br>"; echo "Hasło: <input type=password name=haslo><br>"; echo "<input type=submit value='Zaloguj!'>"; echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'>tu znajdziesz formularz</a>"; }
?>
<!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(!empty($_POST["login"]) && !empty($_POST["haslo"])){ echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>"; $_SESSION["zalogowany"]=1;
}
else echo ShowLogin
("Podano złe dane!!!"); }
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> ';
{
<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
{
echo '<p class="error"> Brak danych.</p>'; }
?>
i aktualizuj.php
<?php require("sprawdz.php"); ?>
<?php
$id = $_GET['id'];
$id = $_POST['id'];
} else {
<p class="error"> Blad dostepu do strony. </p>';
}
include("dbinfo.inc.php");
if (isset($_POST['submitted'])) { 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 {
echo '<h1 id="mainhead"> Aktualizuj Dane</h1><p>Dane NIE zostały zaktualizowane.</p><p><br /></p>'; }
} else {
$query = "SELECT * FROM siedlisko WHERE id=$id";
<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
if($_SESSION["zalogowany"]==0
){echo "nie masz dostępu do tej części witryny. <a href='index.php'>Zaloguj się</a></body></html>;"; exit();} ?>
Ten post edytował sokole_oko 10.07.2009, 10:15:00