Autor | Zpráva | ||
---|---|---|---|
Michales Profil |
#1 · Zasláno: 7. 9. 2014, 19:32:33
Zdravím,
Potřeboval bych radu s následujícím. U mě na webu je možnost přidávat vlastní příspěvky, příspěvky může přidávat kdokoliv ale měli by se zobrazovat jen po schválení adminem. Jakým způsobem postavit podmínku? Podmínka by měla být, uložený článek uvídí jen admin, když bude ve sloupci active 0. Pokud admin příspěvek schválí tak se ve sloupci active updatuje 1 a příspěvek bude vyditelný pro všechny. Admin je řešen pomocí seasion: $_SESSION['admin'] == true Prosím kohokoliv kdo by mi tu podmínku napsal protože já sám si ji nenapíšu. Zde je kod kterým články vypisuji. Vím že je to splátanina ale já s php moc neumím. <?php $query = "SELECT `id`, `name`, `adr`, `datum`, `artist`, `cover`, `website`, `year`, `region`, `klic`, `tracklist`, `nick`, `active` FROM `user_post` WHERE 1"; $result = mysql_query($query) or die(Mysql_error()); While($results=MySQL_Fetch_Assoc($result)) { ?> <div class="art-postmetadataheader"> <h2 class="art-postheader"><?php print $results['name']; ?></h2> </div> <div class="art-postheadericons art-metadata-icons"> <span class="art-postdateicon"></span>Autor: <?php print $results['nick']; ?> | Přidáno dne: <?php print $results['datum']; ?><span class="art-postauthoricon"> </span> | </div> <div class="art-postcontent"> <script> function ConfirmDelete() { var x = confirm("Opravdu chceš danný příspěvek smazat?"); if (x) return true; else return false; } </script><?php if($_SESSION['admin'] == true) echo '<a href="delete_post.php?id='.$results['id'].'" Onclick="return ConfirmDelete()"><img width="20" src="/img/delete.png"></a>' ; ?> <?php if($_SESSION['admin'] == true) echo '<a href="schval_post.php?id='.$results['id'].'" Onclick="return Confirmschval()"><img width="20" src="/img/schvaleni.png"></a>' ; ?> <br> <?php print "\t\t" . '<img align="left" width="100" height="100" src="' . $results['cover'] .'">' . "\n"; ?>Region: <?php print $results['region']; ?><br>Rok: <?php print $results['year']; ?><br>Interpet: <?php print $results['artist']; ?> <br>Tracklist: <p><?php print $results['tracklist']; ?> </p> <br>Odkaz ke stažení: <p><?php print $results['website']; ?> </p> <span class="art-postauthoricon">Heslo: <?php print $results['klic']; ?> </span> </div> <?php } ?> |
||
Joker Profil |
Michales:
Primitivní řešení: $where = $_SESSION["admin"] ? "" : " WHERE active = 1"; $query = $query = "SELECT `id`, `name`, `adr`, `datum`, `artist`, `cover`, `website`, `year`, `region`, `klic`, `tracklist`, `nick`, `active` FROM `user_post`" . $where; Jinak rozšíření mysql (mysql_* funkce) by se v nových projektech už nemělo používat, protože je zastaralé. |
||
Michales Profil |
#3 · Zasláno: 7. 9. 2014, 20:22:30
Joker:
Děkuji za rady. Použito toto: <?php if ($_SESSION['admin'] == true) { $where = ''; } else { $where = ' WHERE active = 1'; } $query = "SELECT `id`, `name`, `adr`, `datum`, `artist`, `cover`, `website`, `year`, `region`, `klic`, `tracklist`, `nick`, `active` FROM `user_post`" . $where; $result = mysql_query($query) or die(Mysql_error()); While($results=MySQL_Fetch_Assoc($result)) { ?> |
||
Joker Profil |
#4 · Zasláno: 7. 9. 2014, 20:24:20
Michales:
Drobná poznámka, if ($_SESSION['admin'] == true) je sice správně, ale je to zbytečné, if ($_SESSION['admin']) je to samé a je to kratší.
|
||
Michales Profil |
Ještě bych měl jednu otázku, a je vlastně stejného charakteru.
Jak zobrazovat tento obrázek za stejných podmínek <?php if($_SESSION['admin'] == true) echo '<a href="schval_post.php?id='.$results['id'].'" Onclick="return Confirmschval()"><img width="20" src="/img/schvaleni.png"></a>' ; ?> zobrazit jen pokud je admin a ve sloupci active 0. if($_SESSION['admin'] == true && $results['active']=0) Přišel jsem na chybu správně to má být: if($_SESSION['admin'] == true && $results['active'] == 0) |
||
Časová prodleva: 10 let
|
0