Autor | Zpráva | ||
---|---|---|---|
Daemon Profil |
#1 · Zasláno: 28. 5. 2017, 00:19:40
Zdravím, jak udělám, že třeba udělám soubor detail.php a aby se za to přidalo ?id=1 a vypsalo to celou 1 novinku z databáze?
<?php $id = $_GET['id']; $con = mysql_query("SELECT id, nadpis, text2, autor, datum FROM novinky WHERE id='".$_GET['id']."'"); while($data = mysqli_fetch_array($con)) { ?> <? $cist = mysql_query("SELECT id, nadpis, text2, autor, datum FROM novinky WHERE id='".$_GET['id']."'"); while($data = mysql_fetch_assoc($cist)) { ?> <div class="panel panel-success"> <div class="panel-heading"><div class="info animated zoomIn"><i class="fa fa-newspaper-o" ></i> <?php echo $data['nadpis'];?> <div class="pull-right"><i class="fa fa-pencil"></i> <?php echo $data['autor'];?> <img class="img-rounded" style="width:25px; height:25px;" src="https://cravatar.eu/helmavatar/<?php echo $data['autor'];?>/25.png" /></div></div></div> <div class="panel-body"> <div style="text-align:center;"><?php echo"".$zobraz['text2']."" ?></div> <br> <hr /> <span class="label label-success"><?php echo $data['datum']; ?></span> <span class="label label-success"><span class="fa fa-comment"></span> ∞</span> <span class="pull-right"> </span></div> </div> <?php }?><?php }?> |
||
Keeehi Profil |
1) není možné kombinovat funkce mysql_* a mysqli_*. Jde o dvě rodiny funkcí, které spolu fungovat nebudou. Jelikož funkce mysql_* jsou zastaralé a v nových verzích PHP už odstraněné, použij mysqli_*.
2) V proměnné con by mělo být připojení do databáze, ne dotaz na výběr. 3) Ty dva while cykly v sobě vůbec nedávají smysl. Bude ti stačit jeden. 4) Uživatelským vstupům se nedá věřit. Ty nikde neověřuješ, co ti uživatel zadal a jeho vstup přímo připojuješ do SQL dotazu. Tím jsi vytvořil bezpečnostní díru. Skrz tuto zranitelnost by mohl případný útočník zjistit jakoukoli informaci z jakékoli tabulky v databázi. Když bude chtít, může si udělat kompletní kopii tvé databáze. Evidentně máš problémy i se základy PHP. Tak si projdi kurz na www.pehapko.cz/zakladni-kurz/4-zaklady-syntaxe. $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit(); } $id = (int)$_GET['id']; if ($result = $mysqli->query("SELECT id, nadpis, text2, autor, datum FROM novinky WHERE id=$id")) { $data = $result->fetch_assoc(); ?> <div class="panel panel-success"> <div class="panel-heading"><div class="info animated zoomIn"><i class="fa fa-newspaper-o" ></i> <?php echo $data['nadpis'];?> <div class="pull-right"><i class="fa fa-pencil"></i> <?php echo $data['autor'];?> <img class="img-rounded" style="width:25px; height:25px;" src="https://cravatar.eu/helmavatar/<?php echo $data['autor'];?>/25.png" /></div></div></div> <div class="panel-body"> <div style="text-align:center;"><?php echo"".$data['text2']."" ?></div> <br> <hr /> <span class="label label-success"><?php echo $data['datum']; ?></span> <span class="label label-success"><span class="fa fa-comment"></span> ∞</span> <span class="pull-right"> </span></div> </div> <?php $result->close(); } |
||
Daemon Profil |
#3 · Zasláno: 28. 5. 2017, 10:33:38
Děkuji moc, funguje :)
|
||
Časová prodleva: 8 let
|
0