Tworzę w swoim skrypcie możliwość modyfikowania opcji dla konkretnie wybranej rzeczy.
Skrypt wygląda tak:
<?php include "header.php"; include "sesja.php"; $owner = $pokaz[ownerid]; // sprawdzenie czy mamy dostęp do celu if ($stat[id] != $owner){ print "<br><br><center><p><h2>Nie możesz wchodzić do ustawień nie swoich celów.</h2></p><p><a href=cele.php>wróć do swoich celów</a></p><center>"; exit; }else{ ?> <body> <!-- start header --> <div id="header"> <form id=search method=post action=logout.php?action=logout> <fieldset> <legend>Search</legend> <input id="searchsubmit" type="submit" value="Wyloguj" /> </fieldset> </form> <h1><a href="#">Bądź<span>Lepszy</span></a></h1> </div> <!-- end header --> <!-- start page --> <div id="page"> <!-- start content --> <div id="content"> <div class="post"> <p class="meta"><small></small></p> <div class="entry"> <form method=post action=ustawienia.php?action=zmiana> <ul class="form"> <?php print "<input type=\"hidden\" name=\"owner\" value=\"$owner\" /> <input type=\"hidden\" name=\"id\" value=\"$pokaz[id]\" />"; ?> <li><label for="prywatne">Czy cel jest prywatny</label> <select name="prywatne" multiple="multiple" size="2"> <?php if ($pokaz[prywatne] == "TAK"){ print"<option selected=\"selected\">Tak</option> <option>Nie</option>"; }else{ print "<option>Tak</option> <option selected=\"selected\">Nie</option>"; } ?> </select></li> <li><label for="link">Adres celu publicznego</label><input name="nazwa" type="text" maxlength="20" value="<?php print"http://www.badzlepszy.pl/$pokaz[nazwalink]/"; ?>"/></li> <li><label></label><input type="submit" value="Zapisz" class="button" /></li> </ul> </form> <?php if ($action == "zmiana"){ include("config.php"); if (!$problem){ }else{ } } ?> </div> </div> </div> <!-- end content --> <!-- start sidebar --> <?php include "sidebar2.php"; ?> <!-- end sidebar --> </div> <!-- end page --> <?php include "footer.php"; } ?> </body> </html>
Jak napisałem sprawdzenie czy jest się właścicielem celu:
if ($stat[id] != $owner){ ...
to, oczywiście zabezpieczenie działa tylko problem w tym, że po wysłaniu formularza zawsze wywala komunikat zabezpieczenia i nie modyfikuje nam ustawień.
podczas
if ($action == "zmiana"){
nie działa nam zmienna $owner przez co wywala błąd i nic się nie zmienia/działa
ale dlaczego tak się dzieje skoro wysyłam zmienna $owner poprzez formularz?