Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 5. 4. 2012, 12:26:37
Zdravím. Zkouším nově políčko hidden a chtěl bych abych pomocí něj mohl mazat určité záznamy z db.. jenomže mám např. tři čísla:
5456156 6841355 8465199 a když budu chtít smazat jakékoliv smaže se vždy to poslední. Kod: //smazání banu if(isset($_POST['delete_ip_ban'])) { db::query_system("DELETE FROM banip WHERE ipaddress = '".mysql_real_escape_string($_POST['ipban'])."'"); redirect_page("admin", "ip_blocking"); } <form method="post"> <fieldset> <legend>Seznam zablokovaných</legend> <table> <?php $sqlip = db::query_system("select * from banip"); while($dataip = mysql_fetch_assoc($sqlip)){ echo "<tr><td>".$dataip['ipaddress']."</td><td>".$dataip['note']."</td><td>".$dataip['date']."</td><td><input type='hidden' value=".$dataip['ipaddress']." name='ipban'><input name=\"delete_ip_ban\" type=\"submit\" id=\"form\" value=\"".ucfirst(translate("delete"))."\"/></td></tr>"; } ?> </table> </fieldset> </form> |
||
noName Profil * |
#2 · Zasláno: 5. 4. 2012, 12:54:31
Musle by jsi ty čísla rozdlit například 345, 678, 899 a potom to pomocí funkce
explode() rozdělil tyto čísla na pole. Pak by jsi pomocí foreach prošel pole s čísly a smazal je postupně.
|
||
Alphard Profil |
#3 · Zasláno: 5. 4. 2012, 16:52:05
|
||
Fisak Profil |
#4 · Zasláno: 5. 4. 2012, 20:20:51
Alphard:
aha dobře... a mohu se zeptat jak to děláš ty ?? |
||
Someone Profil |
Já to řeším takto:
<?php $sqlip = mysql_query("select * from ip"); $i = 1; while($dataip = mysql_fetch_assoc($sqlip)){ echo " <tr> <td>".$dataip['ipaddress']."</td> <td>".$dataip['note']."</td> <td>".$dataip['date']."</td> <td> <form method='POST'> <input type='hidden' value=".$dataip['ipaddress']." name='ip".$i."'> <input name=\"delete".$i."\" type=\"submit\" value=\"Odstranit\"/> </form> </td> </tr>"; if (isset($_POST['delete'.$i])) { mysql_query("DELETE FROM tabulka WHERE tabulka.ip='".$_POST['ip'.$i]."'") } $i++; } ?> |
||
Alphard Profil |
#6 · Zasláno: 5. 4. 2012, 20:59:53
[#4] Fisak
Záleží na situaci, když chci povolit změnu více položek najednou, tak samozřejmě checkboxy. Pokud maximálně jednou, nastane problém. Nejjednodušší je netahat to přes post, ale dát tam normální odkaz s bezpečnostním tokenem a pro provedení přesměrovat. Toho se většinou držím. Když úroveň zabezpečení vyžaduje použít post, tak zřejmě více formulářů, nebo si hrát s věcmi jako <form method="post"> <input type="submit" name="send[]" value="1" /> <input type="submit" name="send[]" value="2" /> <input type="submit" name="send[]" value="3" /> </form> |
||
Časová prodleva: 11 let
|
0