Autor Zpráva
echo1
Profil *
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
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
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í.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0