Autor | Zpráva | ||
---|---|---|---|
echo1 Profil * |
#1 · Zasláno: 5. 5. 2008, 21:30:53
Dobrý den,
napsal jsem si script na smazání uživatele z db. <table> <? mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD); mysql_select_db(SQL_DBNAME); $vysledek1=mysql_query("select * from uzivatele order by prezdivka"); if($_SESSION["jeadmin"]==1 and !isset($_GET["id"])): while ($zaznam1=MySQL_Fetch_Array($vysledek1)): ?> <tr> <td> <a href="/?stranka=smazani_uzivatele&id=<?echo $zaznam1["id"];?>"><?echo $zaznam1["prezdivka"];?></a></td> </tr> <? endwhile; endif;?> </table> <?if($_SESSION["jeadmin"]==1 and $_POST["opravdu"]==ano) { $vysledek = mysql_query("delete from uzivatele where id = '".$_GET["id"]."'"); }?> <?if(isset($_GET["id"]) and $_GET['id']!=$_SESSION['id']) :?> <form method="POST" action="/?stranka=smazani_uzivatele&id=<? echo $_GET["id"];?>"> <p><input type="radio" name="opravdu" value="ano">ano</p> <p><input type="radio" name="opravdu" value="ne" CHECKED>ne</p> <p><input type="submit" value="Odeslat" name="odeslano"></p> </form> <?; elseif(isset($_GET["id"])): echo "nelze smazat sám sebe";endif;?> Všechno funguje podle očekávání. Problém je v tom, že po vykonání příkazu, chci přesměrovat stránku zpátky na výpis uživatelů ke smazání. Zkoušel jsem tam vložit funkci header, ale nefungovalo mi to. Nemohl by mi prosím říct, v čem je chyba? Děkuji předem. |
||
echo1 Profil |
#2 · Zasláno: 6. 5. 2008, 18:03:22
Problém vyřešen. Do indexu jsem přidal:
if(isset($_POST['potvrzeni_smazani_uziv'])){Header("Location: /?stranka=smazani_uzivatele");}; s tím že promněnná $_POST['opravdu'] byla přejmenována na 'potvrzeni_smazani_uziv'. Asi to není nejelegantnější řešení, ale zatím mi to stačí. |
||
echo1 Profil |
#3 · Zasláno: 7. 5. 2008, 20:27:02
Druhé řešení:
na začátek indexu se hodi ob_start() (funkce pro bufferování). No a když dojde script k nové hlavičce, tak vymaže starý buffer a hodí tam hlavičky znovu. Takže alespoň mi odpadá plno hovadin okolo přesměrování. |
||
Časová prodleva: 16 let
|
0