Autor | Zpráva | ||
---|---|---|---|
FEIL Profil |
#1 · Zasláno: 11. 7. 2010, 21:55:17 · Upravil/a: FEIL
Mám tabulku v DB id, liga, klan, klan_id, steam_id a cl. Teraz
<? $klan_get = $_GET["team"]; $klan = dbarray(mysql_query("SELECT * FROM liga_klany WHERE id='$klan_get' AND liga='".$_GET["id"]."'")); $liga = dbarray(mysql_query("SELECT * FROM liga_ligy WHERE id='".$_GET["id"]."'")); $team = mysql_query("SELECT body FROM liga_klany WHERE id='$klan_get' AND liga='".$_GET["id"]."'"); $user = dbarray(mysql_query("SELECT * FROM liga_users WHERE id='".$userdata["user_id"]."' AND liga='".$_GET["id"]."'")); if (mysql_num_rows($team) == 0) throw new Exception("Team does not exist!"); list($TeamScore) = mysql_fetch_row($team); list($poradie) = mysql_fetch_row(mysql_query("SELECT COUNT(id) FROM liga_klany WHERE body > ".intval($TeamScore))); $poradie++; //je potreba zvysit o jedna, protoze pokud je tym prvni, existuje 0 tymu s vyssim score (ktere vyhleda predchozi dotaz) // cykly $clenove = mysql_query("SELECT * FROM liga_users WHERE klan_id='$klan_get'"); $zapasy = mysql_query("SELECT * FROM liga_zapasy WHERE enemy_id_1='$klan_get' OR enemy_id_2='$klan_get'"); echo " <table class=tbl2 width=500px border=0 align=center> <td> <b>Informace o klanu</b><hr> Rank : ".$poradie."<br /> Názov : ".$klan["nazev"]."<br /> Clantag : ".$klan["tag"]."<br /> Status : "; if ($klan["clenu"] >= $liga["hraci"]) { echo "<font color=green>Aktivní</font>"; } else { echo "<font color=red>Blokován - málo hráèù (".$klan["clenu"]."/".$liga["hraci"].")</font>"; }echo "<br /> Popis klanu : ".$klan["popis"]."<br /> Založen : ".$klan["cas"]."<br> Èlenov : ".$klan["clenu"]." <br> Vyhraných zápasù : ".$klan["vyhranych"]."<br> Prohraných zápasù : ".$klan["prohranych"]."<br> Zápasu celkem : ".$klan["zapasu"]."<br> <br> <b>Èlenové</b><hr> <table border=0 width=500px> <tr><td><b>Nick</b></td><td><b>Steam id</b></td><td><b>ICQ</b></td><td><b>Vyhodit</b></td></tr>"; while($clen = mysql_fetch_array($clenove)){ echo "<tr><td>"; autor($clen["id"]); echo "</td><td>"; if ($clen["steam_id"] == "") { echo "Nevyplnìno"; } else { echo "".$clen["steam_id"].""; } echo "</td><td>"; icq($clen["id"]); echo "</td><td>"; if ($user["cl"] == "1") { echo "<a href='".LIGA_BASEDIR."/vyhodit.php'><img src='".BASEDIR."liga/image/delete.png'align='top'></a>";}echo "</tr>"; } kde vlastne je vedla každého člena klanu vložené tlačítko ktoré obsahuje vyhodit.php a do vyhodit.php potrebujem vložiť script ktorý daného člena vymaže z danej tabulky.budemi niekto vedieť poradiť aké premené si mám určiť alebo čo a podla čoho selectovať????? |
||
radvis Profil |
#2 · Zasláno: 11. 7. 2010, 22:02:00
Musíš si odeslat ID toho uživatele do toho vyhodit.php:)
<a href="vyhodit.php?id=$id">Smazat uživatele!</a> <?php //vyhod.php $id = $_GET['id']; mysql_query("DELETE FROM table_name WHERE id=$id"); header(xxxx); exit; ?> |
||
FEIL Profil |
#3 · Zasláno: 11. 7. 2010, 22:15:44
Dobre ale premenú $id si musím definovať ešte v tom predošlom php a teraz neviem či takto $id=($clen["id"]); alebo $id=mysql_query("SELECT id FROM liga_user WHERE klan; ???
|
||
Joker Profil |
#4 · Zasláno: 11. 7. 2010, 22:24:55
FEIL:
„?????“ Jak se to říká? Jeden otazník značí otázku, dva otazníky hloupost,… ;-) Jinak bych ale ohledně „aké premené si mám určiť alebo čo a podla čoho selectovať?“ řekl, že je vyhodit koho a odkud. Čili ID uživatele a ID týmu, nebo odkud se má vyhodit. Poznámky mimo téma dotazu: - Na to co to má dělat tam je podezřele moc dotazů a vybírají podezřele moc dat (skoro všechno SELECT *), tipnu, že většina toho bude zbytečná. Co je vidět na první pohled: Totéž co se vybralo na řádku 5 už je v datech vybraných na řádku 3, výběr do $liga a $user je SELECT *, přestože se pak používá jediný sloupec z toho výběru, a $zapasy se v daném kódu nepoužívá vůbec. - Prezentace informací o klanu je docela vtipná: Vypadá to, jako by to autor chtěl udělat tabulkou, ale v poslední chvíli si to rozmyslel a nacpal všechno do první buňky :-) |
||
FEIL Profil |
#5 · Zasláno: 11. 7. 2010, 23:09:59 · Upravil/a: FEIL
Skúsi som toto
$id = dbarray(mysql_query("SELECT * FROM liga_users WHERE id='".$userdata["user_id"]."' AND klan_id='".$_GET["id"]."'")); a nepomohlo žiadna id sa neodosiela |
||
Lamicz Profil |
#6 · Zasláno: 12. 7. 2010, 03:37:46
radvis:
SQL injection nic neříká? mysql_query('DELETE FROM table_name WHERE id='.intval($_GET['id'])); |
||
Joker Profil |
#7 · Zasláno: 12. 7. 2010, 07:51:37
Lamicz:
A taky CSRF. Když se to zkombinuje, přimět přihlášeného admina kliknout na odkaz vymaz.php?id=0 or 1=1 (nechal jsem mezery pro lepší čitelnost) by bylo docela zajímavé. |
||
FEIL Profil |
#8 · Zasláno: 12. 7. 2010, 10:12:41
Všetko je to fajn ale najhoršie je že nech robím čo robím neviem si vyťiahnuť tú ID.
|
||
Joker Profil |
#9 · Zasláno: 12. 7. 2010, 10:55:29
FEIL:
Tak když tlačítko "Vyhodit" je normální odkaz a ne formulář, bude potřeba to dodat k odkazu jako GET parametry. Nějak takhle (upozorňuji raději rovnou, že to není hotový příkaz připravený pro zkopírovat-vložit): echo('<a href="'.LIGA_BASEDIR.'/vyhodit.php?id='.(proměnná-koho).'&odkud='.(proměnná-odkud).'atd. |
||
FEIL Profil |
#10 · Zasláno: 12. 7. 2010, 13:38:40
Asi si budem musieť od toho na pár dní odýchnuť lebo to neviem ani zanič dať do kopi. Rozumiem vaším myšlienkam ale neviem to spraviť.
|
||
FEIL Profil |
#11 · Zasláno: 12. 7. 2010, 14:37:00
HURAAA :D Tak som sa nakoniec pohol je to takto:
echo "<a href='".LIGA_BASEDIR."/vyhodit.php?kick=".$clen["id"]."'> pričom do vyhodit.php som len zatial dal toto: <? include "../maincore.php"; $hrac=$_GET['kick']; echo "$hrac"; ?> Ja ako koder som len začiatočník preto sa stále len učím. |
||
Časová prodleva: 14 let
|
0