| Autor | Zpráva | ||
|---|---|---|---|
| Fisak Profil |
#1 · Zasláno: 15. 3. 2012, 16:45:28
Zdravím. Netuším proč ale nějak mi nefunguje můj skritp. Nejspíše je chyba v tom if(isset($_POST["delete_ipban$echo_smaz_se[ipaddress]"]))
//smazání banu
$system_sql_modul = db::query_system("SELECT * FROM banip");
while($echo_smaz_se=mysql_fetch_assoc($system_sql_modul)) {
if(isset($_POST["delete_ipban$echo_smaz_se[ipaddress]"]))
{
db::query_system("DELETE from page where ipaddress = '$echo_smaz_se[ipaddress]'");
redirect_page("admin", "ip_blocking");
}
}<?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 name=\"delete_ipban$dataip[ipaddress]\" type=\"submit\" id=\"form\" value=\"".ucfirst(translate("delete"))."\"/></td></tr>";
}
?> |
||
| DarkMeni Profil |
#2 · Zasláno: 15. 3. 2012, 16:54:55
A máš pravdu, delete_ipban$echo_smaz_se[ipaddress] je po převedení "delete_ipbanarray[ipaddress]", tak jedině:
isset($_POST['delete_ipban' . $echo_smaz_se['ipadress']]) nebo isset($_POST["delete_ipban{$echo_smaz_se['ipadress']}"]) |
||
| Fisak Profil |
#3 · Zasláno: 15. 3. 2012, 16:58:39 · Upravil/a: Fisak
DarkMeni:
u obou případů Notice: Undefined index: ipadress in G:\SERVER\Vertigo\VertrigoServ\www\insignia\admin\php_modules\ip_blocking\index.php on line 5 jo už vím.. dal si tam jedno d v ipaddress.. ale nahrazeno a stejně to nic nedělá.. chybu to nevypisuje ale zároveň to nic nedělá stále je to v tom stejnym řádku jelikož když dám F5 tak mi to ukazuje jestli chci pokračovat s odesláním formuláře |
||
| Zechy Profil |
#4 · Zasláno: 15. 3. 2012, 17:10:45
Fisak:
Používáš index pole, kterej nemáš definovaný. Vkládáš prázdnou proměnou |
||
| Fisak Profil |
#5 · Zasláno: 15. 3. 2012, 17:17:20
Zechy:
zkoušim echo $echo_smaz_se['ipaddress']; a normálně to vypisuje takže to něco obsahovat musí... |
||
| DarkMeni Profil |
To bude asi tím že neumim pořádně anglicky, takže tam mam mít místo
isset($_POST['delete_ipban' . $echo_smaz_se['ipaddress']])
A jestli to chceš ještě víc zjednodušit, tak to můžeš udělat přes odkazy (vzhled tlačítka se dá nahodit s csskem na odkaz): <?php
$sqlip = db::query_system('SELECT `ipaddress`, `note`, `date` FROM `banip`'); //Aby zbytečně netahal všechny sloupce, ale jen ty, co potřebuje
while($dataip = mysql_fetch_assoc($sqlip)){
echo "<tr><td>".$dataip['ipaddress']."</td><td>".$dataip['note']."</td><td>".$dataip['date']."</td><td><a href=\"soubor.php?unset_ipban={$dataip['ipaddress']}\">".ucfirst(translate("delete"))."</a></td></tr>";
}
?><?php
//Autorizace (asi admina)...
mysql_query('DELETE FROM `banip` WHERE `ipaddress` = \''.mysql_real_escape_string($_GET['unset_ipban']).'\'');
//Zbytek kódu (takže asi refresh / redirect)
?> |
||
|
Časová prodleva: 14 let
|
|||
0